Pular para o conteúdo

Arquitetura de software · Dados · 6 min de leitura

SQL x NoSQL: como escolher o banco

Bancos relacionais garantem consistência e consultas flexíveis; os NoSQL trocam parte disso por escala e modelos de dados específicos.

Aplicação → Relacional: transaçõestransaçõesAplicação → Colunar largo: escrita massivaescrita massivaAplicaçãoAplicaçãoRelacional — PostgreSQL, MySQLRelacionalPostgreSQL, MySQLDocumentos — MongoDBDocumentosMongoDBChave-valor — Redis, DynamoDBChave-valorRedis, DynamoDBColunar largo — CassandraColunar largoCassandraGrafos — Neo4jGrafosNeo4jSéries temporais — métricasSéries temporaismétricas

Arraste para o lado para ver o diagrama inteiro.

Muitos sistemas usam mais de um: relacional como fonte da verdade e outros para cache, busca ou métricas.

Relacional (SQL)

Tabelas com esquema, chaves estrangeiras e transações ACID. Consultas com JOIN respondem perguntas que você nem previu. É a escolha padrão para dados de negócio: pedidos, pagamentos, usuários.

NoSQL

  • Documentos: objetos JSON flexíveis, bons quando cada registro é lido inteiro.
  • Chave-valor: leitura e escrita muito rápidas por chave.
  • Colunar largo: volume enorme de escritas distribuídas.
  • Grafos: relações (redes sociais, recomendações).

Como decidir

Comece pelos padrões de acesso: quais consultas, com que volume e que consistência. Na dúvida, um relacional bem modelado aguenta muito — e PostgreSQL ainda oferece JSON, busca textual e extensões.

Em resumo

Referências

Continue aprendendo

Todos os temas de arquitetura de software →