NoSQL: mental model 2026
Ao terminar: Você escolhe entre documento, chave-valor, wide-column, grafo ou série temporal pelo ACESSO que seu dado vai sofrer, não pelo rótulo 'NoSQL'.
O termo NoSQL envelheceu mal
Em 2009, NoSQL era um movimento contra RDBMS. Em 2026, é um balaio que junta tecnologias incompatíveis entre si. MongoDB (document) não tem nada em comum com Neo4j (graph), que não tem nada em comum com Redis (KV), que não tem nada em comum com Pinecone (vector). O rótulo confunde mais do que ajuda.
- → pela chave
- → agregação
- → relação
- → similaridade
- → alternativa
- Conceito de arquitetura
Um critério só: como o dado vai ser acessado. E na camada vetorial, a decisão entre HNSW e IVF é literalmente memória contra recall — não existe escolha universalmente melhor.
- NoSQL não é uma categoria útil. Ela só diz o que o banco NÃO é. O que importa é a forma de acesso: chave, agregação, relação ou similaridade. Cada uma tem um tipo de banco que a atende bem e vários que a atendem mal.
- Chave-valor e documento escalam largura. Acesso pela chave, particionamento horizontal, latência estável em qualquer volume. O preço é abrir mão de junção e de consulta ad-hoc — se você precisa perguntar de formas imprevisíveis, o modelo está errado.
- Colunar existe para varrer. Ler 3 colunas de 500 milhões de linhas é ordens de magnitude mais rápido em colunar do que em linha. Wide-column é a variante para escrita massiva e série temporal. Nenhum dos dois serve para leitura pontual de um registro.
- HNSW: recall alto ao custo de RAM. Grafo de navegação em camadas — busca começa grosseira e refina. Recall excelente e latência baixa, e o índice inteiro precisa caber na memória. É o padrão quando o conjunto cabe e a qualidade importa.
- IVF: menos memória, recall que você escolhe. Divide o espaço em clusters e busca só nos mais próximos. Quantos clusters visitar é o botão que troca recall por latência. Com quantização, cabe conjunto que o HNSW não suportaria — o caminho de escala em bilhões de vetores.
A pergunta útil em 2026 é: qual modelo de dados e qual padrão de acesso. O nome do produto vem depois.
As 6 categorias que importam
# Mapa de categorias (2026)
document:
exemplos: [MongoDB, Couchbase, Firestore]
dado: JSON/BSON com schema flexível
acesso: find por campo, aggregation pipeline
quando: domínio com estrutura variável, CMS, catálogo de produtos
key_value:
exemplos: [Redis, DynamoDB, etcd, Memcached]
dado: chave -> blob (string, hash, set, stream)
acesso: O(1) por chave (point lookup)
quando: cache, session store, rate limit, leaderboard
wide_column:
exemplos: [Cassandra, ScyllaDB, HBase, BigTable]
dado: tabela particionada por chave composta
acesso: scan por partition key
quando: write-heavy, multi-região, time-series escala massiva
graph:
exemplos: [Neo4j, Memgraph, DGraph]
dado: nodes + edges com propriedades
acesso: traversal (Cypher, Gremlin)
quando: social graph, fraud detection, knowledge graph
time_series:
exemplos: [InfluxDB, TimescaleDB, ClickHouse, Prometheus]
dado: (timestamp, tags, value)
acesso: janela temporal, downsample, rollup
quando: metricas, IoT, telemetria, logs estruturados
vector:
exemplos: [Pinecone, Qdrant, Weaviate, pgvector, Milvus]
dado: vetores densos (384-3072 dims) + metadata
acesso: top-k ANN por cosine/L2/dot
quando: RAG, recomendacao semantica, dedup fuzzyEixos de decisão reais
Antes de escolher tecnologia, responda: (1) qual modelo de dados casa com o domínio, (2) qual é o padrão de acesso dominante (point lookup, range, full-text, similarity), (3) quanto de consistência o negócio tolera, (4) escala alvo em 12 meses.
Regra prática: comece com Postgres. Ele resolve document (JSONB), KV (hstore), time-series (TimescaleDB), full-text (tsvector), vector (pgvector) e graph simples (recursive CTE). Troque por especializado quando o gargalo for real e medido, não teórico.
Por que o termo que agrupa esses bancos envelheceu mal?
Anti-patterns clássicos
Usar Mongo porque "schema flexível": domínios estáveis ganham de JSONB em Postgres com muito menos operação. Usar DynamoDB sem entender single-table design: custo explode. Usar Vector DB sem reranker: top-k vira lixo semântico.
Pergunta certa: "qual modelo representa meu domínio e qual acesso é dominante?" A tecnologia é consequência.
Perguntas frequentes
❓ Por que "NoSQL" é um rótulo ruim?
❓ O que todos os NoSQL trocam pelo que ganham?
❓ Consistência eventual é aceitável?
Fixando
Qual eixo de decisão importa mais ao escolher um desses bancos?
Qual é o anti-padrão mais comum na adoção desses bancos?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…