The Codest
  • Sobre nós
  • Serviços
    • Desenvolvimento de software
      • Desenvolvimento de front-end
      • Desenvolvimento backend
    • Staff Augmentation
      • Programadores Frontend
      • Programadores de back-end
      • Engenheiros de dados
      • Engenheiros de nuvem
      • Engenheiros de GQ
      • Outros
    • Aconselhamento
      • Auditoria e consultoria
  • Indústrias
    • Fintech e Banca
    • E-commerce
    • Adtech
    • Tecnologia da saúde
    • Fabrico
    • Logística
    • Automóvel
    • IOT
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • A nossa equipa
  • Case Studies
  • Saber como
    • Blogue
    • Encontros
    • Webinars
    • Recursos
Carreiras Entrar em contacto
  • Sobre nós
  • Serviços
    • Desenvolvimento de software
      • Desenvolvimento de front-end
      • Desenvolvimento backend
    • Staff Augmentation
      • Programadores Frontend
      • Programadores de back-end
      • Engenheiros de dados
      • Engenheiros de nuvem
      • Engenheiros de GQ
      • Outros
    • Aconselhamento
      • Auditoria e consultoria
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • A nossa equipa
  • Case Studies
  • Saber como
    • Blogue
    • Encontros
    • Webinars
    • Recursos
Carreiras Entrar em contacto
Seta para trás VOLTAR
2020-12-15
Desenvolvimento de software

Que BD escolher para o seu tipo de dados específico no seu projeto de software

Agata Werszler

A criação de um novo projeto inclui a escolha da base de dados correta para armazenar os seus dados. Muitos programadores que conheço escolhem a base de dados relacional por defeito desde o início. Mas será essa a melhor decisão? Claro que sim, depende de muitos factores. Neste artigo, gostaria de lhe dar a conhecer outros tipos de bases de dados para facilitar as suas escolhas e ajudá-lo a estar preparado para os seus futuros empreendimentos.

O tipo de base de dados não é o único tópico a considerar. Há muitas outras questões a ter em conta, por exemplo, quantos utilizadores activos a aplicação pode ter? Necessita de uma consistência forte em todo o lado? A consistência eventual será suficiente nalguns casos? Há muitas perguntas sem respostas diretas, pois "quanto mais se entra no assunto, mais complicado se torna". Por isso, tenha em atenção que este artigo se centra apenas nos tipos de bases de dados.

Tome uma chávena de café e desfrute desta leitura.

Classificação geral da base de dados

No início, é bom saber que existem dois tipos principais de bases de dados: relacionais (SQL) e não relacionais (NoSQL).

  • As bases de dados SQL são estruturadas de forma relacional, o que significa que os dados são armazenados em tabelas e mantêm relações entre elas.
  • As bases de dados NoSQL (Not only SQL), ao contrário das bases de dados relacionais, não estão bem estruturadas e, por isso, permitem uma maior adaptabilidade e flexibilidade.

Existe mais um tipo para além dos dois acima mencionados, nomeadamente uma base de dados in-memory. Não pode ser classificada nem como relacional nem como não relacional porque está relacionada com o local onde os dados são fisicamente armazenados. Cada base de dados pode ser armazenada num disco ou na memória.

Tipos de bases de dados

1. Relacional

Na minha opinião, é o tipo de base de dados mais popular. Funciona bem com dados estruturais em que se pretende manter relações entre os registos. A estrutura da base de dados é descrita num esquema.

As principais vantagens dizem respeito às transacções (ajudam a garantir a integridade dos dados e seguem as regras ACID) e à capacidade de tratar muitas consultas complexas.

Quando o escolher?

É útil para guardar dados que não se alteram estruturalmente com muita frequência e que é necessário armazenar permanentemente, por exemplo:

  • CRM (Customer Relationship Management),
  • Gestão de encomendas,
  • ERP (Empresa Planeamento de recursos),
  • armazenamento de dados ou gestão de inventário,
  • contabilístico ou finanças.

Exemplos:

Amazon Aurora, Microsoft Azulejo Base de dados SQL, PostgreSQL, MySQL.

As bases de dados relacionais são insuficientes para muitas aplicações novas e é necessário ter mais do que uma base de dados. Na próxima parte do artigo, centrar-me-ei nas bases de dados não relacionais.

2. Chave-valor

Armazena cada valor de dados com uma chave única. Isto significa que os dados são acedidos por uma única chave, tal como acontece num mapa de hash. Ao contrário das bases de dados relacionais, não impõe o esquema nem as relações entre registos. A maioria destas bases de dados não suporta normalmente operações de atualização. Para alterar os dados, é necessário substituir todo o conjunto existente.

Quando o escolher?

É útil para dados que se pretendem ler/escrever rapidamente (mas que não são actualizados com muita frequência):

  • licitação em tempo real, serviço de anúncios,
  • armazenamento de dados em cache,
  • gestão de sessões,
  • carrinhos de compras,
  • preferências do cliente ou gestão de perfis.

Exemplos:

Memcached, Amazon DynamoDB, Azure Cosmos DB, Redis.

3. Documento

Armazena colecções de documentos. Cada documento contém campos com dados, que podem ser valores simples ou elementos complexos, como listas ou colecções de filhos. É importante saber que cada documento pode ter uma estrutura diferente, mesmo que representem a mesma coisa (cada documento é único e evolui ao longo do tempo). Por exemplo, o primeiro documento de um cliente contém menos informações do que o segundo:

{
 "FirstName": "John",
 "LastName": "Fake",
 "Motociclos:" [
  {
    "Modelo": "BMW",
    "Ano": 2020
  }
 ]
}
{
 "FirstName": "Alex",
 "LastName": "Nolastname",
 "Idade": 15,
 "Endereço": {
    "País": "Polónia",
    "Cidade": "Algures"
  },
 "Motociclos:" [
  {
    "Modelo": "BMW",
    "Ano": 2020
  }
 ]
}

Quando o escolher?

É útil para dados que requerem um esquema flexível para um processamento rápido:

  • produto catálogos,
  • CMS (sistema de gestão de conteúdos),
  • perfis de utilizador e personalização.

Exemplos:

Amazon DocumentDB, Azure Cosmos DB, MongoDB, Redis.

4. Gráfico

Utiliza uma estrutura gráfica e é constituída por dois elementos: nós e arestas. Os nós são análogos a linhas de tabelas ou documentos JSON. As arestas são relações entre os nós - são tão importantes como os nós. Ambos podem ter propriedades. Além disso, as arestas podem ter uma direção definida de uma relação.

Quando o escolher?

É útil quando os dados são semelhantes a um gráfico, ou seja, as relações entre itens de dados são dinâmicas e mudam ao longo do tempo. Além disso, é uma boa escolha para quando uma atividade comercial ou técnica equipa precisam de compreender as relações existentes nos seus dados. Alguns exemplos proeminentes incluem:

  • organogramas,
  • deteção de fraudes,
  • gráficos sociais/redes,
  • motores de recomendação,
  • gráficos de conhecimento.

Exemplos:

Amazon Neptune, Neo4j, ArangoDB, Titan.

5. Séries cronológicas

Armazena dados organizados por tempo. Normalmente, acumula enormes quantidades de dados em tempo real. É mais frequentemente utilizado para guardar dados, embora a atualização seja muito rara. Geralmente, é utilizado um carimbo de data/hora como chave primária e/ou para ordenar os dados. Algumas bases de dados permitem a inclusão de etiquetas de definição como informação adicional, como a origem ou o tipo dos dados.

Quando o escolher?

É útil armazenar pequenas quantidades de dados anexados sequencialmente por ordem cronológica, por exemplo, em:

  • DevOps,
  • monitorização de aplicações,
  • monitorização e telemetria de eventos,
  • IoT aplicações (como a recolha de dados de sensores de dispositivos).

Exemplos:

Azure Time Series Insights, Amazon Timestream, InfluxDB.

6. Livro de registos

Fornece um registo de transacções imutável, transparente e criptograficamente verificável pertencente a uma autoridade central. - Visão geral do QLDB da Amazon

Vamos explicar brevemente cada palavra-chave na citação acima:

  • imutável - significa que um registo criado nesta base de dados não pode ser apagado, modificado ou mesmo substituído,
  • transparente - acompanha e mantém um registo sequencial de cada alteração nos seus dados,
  • criptograficamente verificável - os dados criados nesta base de dados são verificados por técnicas de hashing criptográfico, semelhantes às cadeias de blocos (utilizando a função hash SHA-256).

Quando o escolher?

É útil armazenar um histórico preciso, por exemplo, registando a entrada sequencial de cada alteração de dados, como em:

  • finanças (histórico de transacções de débito ou crédito),
  • fabrico (localizar a origem das peças),
  • seguro,
  • Recursos humanos e salários,
  • retalho,
  • cadeias de abastecimento.

Exemplos:

Amazon QLDB

Conclusões

Não existe uma resposta simples para a questão colocada no título deste artigo. A única forma de escolher a base de dados correta é saber mais sobre os seus dados. Responda à pergunta: "Que tipo de dados a sua aplicação gera?", e poderá fazer as escolhas certas.

Além disso, deve conhecer muito bem os requisitos comerciais e o domínio da aplicação. Tem de saber como vai utilizar os dados, que consultas vai enviar para a base de dados, quantas vezes vai manter, ler, atualizar ou apagar os dados. Todos estes aspectos são importantes, mas nem todos os programadores prestam atenção suficiente a estas áreas.

Por favor, pense nos seus dados na aplicação que está a desenvolver para melhorar/criar melhor software. De um modo geral, espero que conheça suficientemente bem os seus dados para os guardar num local onde sejam felizes.

Ler mais:

Alguns truques para acelerar a sua aplicação JavaScript

Formas de aumentar o desempenho do Rails

Factos e mitos sobre a cooperação com um parceiro externo de desenvolvimento de software

Artigos relacionados

Ilustração de uma aplicação de cuidados de saúde para smartphone com um ícone de coração e um gráfico de saúde em ascensão, com o logótipo The Codest, representando soluções digitais de saúde e HealthTech.
Desenvolvimento de software

Softwares para o setor de saúde: Tipos, casos de uso

As ferramentas em que as organizações de cuidados de saúde confiam atualmente não se assemelham em nada às fichas de papel de há décadas atrás. O software de cuidados de saúde apoia agora os sistemas de saúde, os cuidados aos doentes e a prestação de cuidados de saúde modernos em...

OCODEST
Ilustração abstrata de um gráfico de barras em declínio com uma seta ascendente e uma moeda de ouro que simboliza a eficiência ou a poupança de custos. O logótipo The Codest aparece no canto superior esquerdo com o slogan "In Code We Trust" sobre um fundo cinzento claro
Desenvolvimento de software

Como dimensionar a sua equipa de desenvolvimento sem perder a qualidade do produto

Aumentar a sua equipa de desenvolvimento? Saiba como crescer sem sacrificar a qualidade do produto. Este guia cobre sinais de que é hora de escalar, estrutura da equipe, contratação, liderança e ferramentas - além de como o The Codest pode...

OCODEST
Desenvolvimento de software

Construir aplicações Web preparadas para o futuro: ideias da equipa de especialistas do The Codest

Descubra como o The Codest se destaca na criação de aplicações web escaláveis e interactivas com tecnologias de ponta, proporcionando experiências de utilizador perfeitas em todas as plataformas. Saiba como a nossa experiência impulsiona a transformação digital e o negócio...

OCODEST
Desenvolvimento de software

As 10 principais empresas de desenvolvimento de software sediadas na Letónia

Saiba mais sobre as principais empresas de desenvolvimento de software da Letónia e as suas soluções inovadoras no nosso último artigo. Descubra como estes líderes tecnológicos podem ajudar a elevar o seu negócio.

thecodest
Soluções para empresas e escalas

Fundamentos do desenvolvimento de software Java: Um Guia para Terceirizar com Sucesso

Explore este guia essencial sobre o desenvolvimento de software Java outsourcing com sucesso para aumentar a eficiência, aceder a conhecimentos especializados e impulsionar o sucesso do projeto com The Codest.

thecodest

Subscreva a nossa base de conhecimentos e mantenha-se atualizado sobre os conhecimentos do sector das TI.

    Sobre nós

    The Codest - Empresa internacional de desenvolvimento de software com centros tecnológicos na Polónia.

    Reino Unido - Sede

    • Office 303B, 182-184 High Street North E6 2JA
      Londres, Inglaterra

    Polónia - Pólos tecnológicos locais

    • Parque de escritórios Fabryczna, Aleja
      Pokoju 18, 31-564 Cracóvia
    • Embaixada do Cérebro, Konstruktorska
      11, 02-673 Varsóvia, Polónia

      The Codest

    • Início
    • Sobre nós
    • Serviços
    • Case Studies
    • Saber como
    • Carreiras
    • Dicionário

      Serviços

    • Aconselhamento
    • Desenvolvimento de software
    • Desenvolvimento backend
    • Desenvolvimento de front-end
    • Staff Augmentation
    • Programadores de back-end
    • Engenheiros de nuvem
    • Engenheiros de dados
    • Outros
    • Engenheiros de GQ

      Recursos

    • Factos e mitos sobre a cooperação com um parceiro externo de desenvolvimento de software
    • Dos EUA para a Europa: Porque é que as empresas americanas decidem mudar-se para a Europa?
    • Comparação dos centros de desenvolvimento da Tech Offshore: Tech Offshore Europa (Polónia), ASEAN (Filipinas), Eurásia (Turquia)
    • Quais são os principais desafios dos CTOs e dos CIOs?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Direitos de autor © 2026 por The Codest. Todos os direitos reservados.

    pt_PTPortuguese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek cs_CZCzech pt_PTPortuguese