Blog Lucas Jandrey

Tipos de Banco de Dados

Quais os tipos de banco de dados? Como eles funcionam? Quando que vou usar cada um deles? Foram essas as perguntas que tentei responder nesse artigo.

Lucas Jandrey
22 September 2025
7 min de leitura
--views

Banco de dados

Para revisar o assunto, resolvi trazer um post sobre os tipos de banco de dados existentes. Apesar de utilizar alguns deles no dia a dia, como os relacionais, key-value e document, revisei alguns conceitos fundamentais que explicam como funcionam e por que são utilizados.

Abaixo, terá um resumo de cada tipo de banco de dados, assim como exemplos de utilização de cada um.

Key-Value

Como o nome diz, esse tipo de banco de dados relaciona uma "chave" com um valor salvo geralmente na memória. Dessa forma, o computador não precisa acessar o disco de armazenamento, mas sim um endereço na memória RAM.

Podemos colocar em perspectiva a velocidade de pesquisa de um banco relacional e um do tipo chave e valor:

  • Memória RAM (DDR4/DDR5) - 7 - 17 nanossegundos.
  • SSD NVMe - ~2.8 microssegundos.

Então, em teoria, uma busca na memória RAM é cerca de 200x mais rápida que em um SSD.

Exemplos de uso:

  • Caching de Alta Velocidade: usado por redes sociais como o Twitter para armazenar tweets em cache, permitindo que sejam carregados quase que instantaneamente.
  • Gerenciamento de Sessões de Usuários: muitos sistemas adotam essa prática, pois a validação de sessão do usuário é feita quase que instantaneamente.

Wide Column

Parecido com o chave-valor, essa técnica relaciona uma "chave" com uma estrutura de dados. Essa estrutura de dados não possui um esquema fixo como no banco de dados relacional. Apesar disso, podemos utilizar comandos de query para buscar por valores, parecido com o SQL; nessa estrutura, usamos o CQL.

Essa estrutura faz total sentido no caso de serviços com muita escrita e pouca leitura. Por exemplo, sistemas que salvam dados de sensores.

Exemplos de uso:

  • Sistemas de Mensageria: Alguns sistemas como o Discord utilizam banco de dados Wide Column por conta do imenso volume de mensagens enviadas a cada segundo.
  • Análise de Séries Temporais e IoT.

Documents

Neste modelo, os dados são armazenados e organizados como "documentos" independentes. Podemos pensar em cada documento como um objeto, geralmente em formatos como JSON, BSON ou XML, que agrupa todas as informações relacionadas a uma entidade específica.

A grande vantagem desse modelo é a flexibilidade do esquema. Ao contrário dos bancos de dados relacionais, onde a estrutura da tabela é rígida, em um banco de dados de documentos, cada documento pode ter uma estrutura ligeiramente diferente. Por exemplo, em uma coleção de produtos, um documento para uma camiseta pode ter o atributo "Tamanho", enquanto um documento para um eletrônico pode ter "Voltagem", tudo dentro da mesma coleção.

Essa flexibilidade torna o desenvolvimento de aplicações mais rápido e iterativo, pois as mudanças no modelo de dados não exigem alterações complexas no esquema do banco de dados.

Exemplos de uso:

  • Gerenciamento de Conteúdo: Ideal para blogs, plataformas de vídeo e outros sistemas onde cada peça de conteúdo pode ser armazenada como um documento único e evoluir com o tempo.
  • Catálogos de Produtos: Perfeito para e-commerce, onde produtos diferentes têm atributos variados. Todas as informações de um produto podem ser armazenadas em um único documento, facilitando a consulta e a atualização.
  • Perfis de Usuário: Permite armazenar perfis com diferentes tipos de informações, já que nem todos os usuários fornecem os mesmos dados.

Bancos de dados como MongoDB, CouchDB e Amazon DocumentDB são exemplos populares dessa categoria.

Relational

O tipo de banco de dados mais popular, o relacional, organiza os dados em tabelas com linhas e colunas, seguindo um esquema rígido. Cada tabela representa uma entidade (como "Clientes" ou "Pedidos") e as linhas contêm os registros de dados. As colunas, por sua vez, definem os atributos desses dados (como "Nome" ou "Data do Pedido").

A principal força desse modelo é a capacidade de estabelecer relacionamentos entre as tabelas por meio de chaves primárias e estrangeiras, o que garante a integridade e a consistência dos dados. Para manipular e consultar esses dados, utiliza-se a linguagem SQL (Structured Query Language). Além disso, os bancos de dados relacionais são conhecidos por suas propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade), que garantem a confiabilidade das transações.

Falando em ACID, pretendo trazer um post sobre ele também.

Exemplos de uso:

  • Sistemas Financeiros e Transacionais: Bancos e instituições financeiras, como por exemplo o NuBank, confiam em bancos de dados relacionais (como o MySQL e o PostgreSQL) para garantir a integridade e a consistência das transações financeiras.
  • Plataformas de E-commerce (Transações): Quando você finaliza uma compra em e-commerces, as informações do pedido, pagamento e cliente são armazenadas em um banco de dados relacional para garantir que a transação ocorra sem erros.

Graph

Diferente dos outros modelos, o banco de dados de grafos é projetado especificamente para armazenar e navegar por relacionamentos entre dados. Ele utiliza uma estrutura de nós (que representam as entidades), arestas (que representam os relacionamentos) e propriedades (que descrevem tanto os nós quanto as arestas).

Essa abordagem é extremamente poderosa para casos de uso onde as conexões entre os dados são tão importantes quanto os próprios dados, como em redes sociais, sistemas de recomendação e detecção de fraudes. Consultas que seriam complexas e lentas em um banco de dados relacional (envolvendo múltiplos "joins") podem ser executadas de forma muito mais eficiente em um banco de dados de grafos.

Exemplos de uso:

  • Redes Sociais: O Facebook e o LinkedIn utilizam bancos de dados de grafos para mapear e analisar as conexões entre pessoas, empresas e interesses, permitindo sugestões de amizade e conteúdo relevante.
  • Sistemas de Recomendação: Gigantes do streaming como a Netflix e do e-commerce como a Amazon usam grafos para recomendar filmes, séries e produtos com base no que pessoas com gostos semelhantes consumiram.

Time-Series

Este tipo de banco de dados é otimizado para armazenar e consultar dados que são medidos ao longo do tempo. Cada entrada de dados é associada a um timestamp (marcação de tempo), o que o torna ideal para aplicações que lidam com grandes volumes de dados sequenciais, como dados de sensores de IoT (Internet das Coisas), métricas de monitoramento de sistemas e dados do mercado financeiro.

As principais características de um banco de dados de série temporal incluem alta taxa de ingestão de dados, compressão eficiente para economizar armazenamento e funções de consulta que facilitam a análise de dados em intervalos de tempo específicos, como agregações, médias móveis e detecção de tendências.

Exemplos de uso:

  • Monitoramento de Infraestrutura e Aplicações: Empresas como a Uber monitoram a saúde de milhares de servidores e aplicações em tempo real, coletando métricas como uso de CPU, memória e latência de rede em bancos de dados de séries temporais.
  • Dados do Mercado Financeiro: Plataformas de investimento e análise de ações, como as utilizadas na B3, armazenam e processam cotações de ativos a cada milissegundo, permitindo a análise de tendências e a execução de ordens automatizadas.

Search Engine

Embora não seja uma categoria de banco de dados no mesmo sentido estrutural que os outros, os bancos de dados de busca são especializados em indexar e pesquisar grandes volumes de dados, especialmente texto. Eles funcionam de maneira semelhante aos motores de busca da web, utilizando técnicas como índices invertidos para localizar rapidamente termos de pesquisa em documentos ou registros.

Esses bancos de dados são ideais para aplicações que exigem busca de texto completo, como catálogos de e-commerce, sistemas de gerenciamento de logs e plataformas de análise de dados. Eles se destacam pela velocidade e relevância na recuperação de informações a partir de consultas complexas em dados não estruturados ou semiestruturados.

Exemplos de uso:

  • Busca em E-commerce: Quando você pesquisa por um produto no Mercado Livre, um motor de busca otimizado (como o Elasticsearch) é responsável por encontrar e classificar os resultados mais relevantes em meio a milhões de itens em frações de segundo.
  • Análise de Logs e Segurança: Empresas de cibersegurança e grandes corporações utilizam essa tecnologia para indexar e analisar terabytes de logs de sistemas, ajudando a identificar rapidamente atividades suspeitas ou falhas operacionais.

Minha motivação para esse tópico foi esse vídeo.

Gostou do artigo?

Se este conteúdo foi útil para você, compartilhe com outros desenvolvedores que também podem se beneficiar!