A pergunta nunca é "SQL ou NoSQL?" — é "quais garantias este dado exige e quais posso relaxar?"

NoSQL Essencial

Um checklist dos fundamentos: as famílias de banco e para que serve cada uma, modelagem a partir das consultas, o vocabulário de CAP/BASE/quóruns que cai em entrevista, e a operação. Cada tópico em poucas linhas, com as armadilhas. Se algo soar novo, o ponteiro → aprofunde em… indica a apostila completa.

10 seções + recapmatriz de decisãoCAP · BASE · quórunsauto-checagem por seçãocross-references
COMO USAR

O formato "Essencial"

Denso, sem rodeios, feito para ser varrido antes de uma entrevista ou de uma decisão de arquitetura.

01

O que é NoSQL e quando (não) usar

A decisão vem antes da tecnologia. → aprofunde em NoSQL, Módulo 1

DimensãoRelacionalNoSQL (o que muda)
Esquemadefinido antes (schema-on-write); migração para alterarflexível (schema-on-read); o esquema migra para o código
Escalavertical por padrão; sharding é difícilhorizontal por design
RelacionamentosJOIN no tempo da consultaem geral sem JOIN; dado pré-agrupado por padrão de leitura
ConsistênciaACID forte por padrãofrequentemente BASE / eventual configurável
Modeloum: tabelasquatro: documento, chave-valor, coluna larga, grafo
💡 Regra prática de mercado

Comece com Postgres + Redis. Adicione um NoSQL especializado só quando a dor for real e medida (latência, escala de escrita, modelo de consulta que o relacional não atende). "Boring technology wins" — 99% dos sistemas cabem num servidor relacional.

✔️ Auto-checagem

Cite três trade-offs concretos de NoSQL vs relacional. Qual a resposta que reprova em "quando usar NoSQL?" (dizer só "quando precisa de performance"). Qual stack começar por padrão?

02

As 4 famílias + as especializadas

Reconhecer o modelo mental e o caso de uso ideal de cada uma. → aprofunde em NoSQL, Módulo 2

FamíliaModelo mentalCampeõesIdeal para
Documentoobjeto JSON/BSON completo, aninhadoMongoDB, Couchbase, Firestorecatálogos, perfis, CMS, apps web
Chave-valordicionário gigante distribuído; só acesso por chaveRedis, DynamoDB, Memcached, Valkeycache, sessão, fila leve, contador, rate limit, ranking
Coluna largalinha por chave de partição, milhares de colunas ordenadasCassandra, ScyllaDB, Bigtable, HBaseséries temporais, IoT, mensagens, escrita massiva
Grafonós e arestas como cidadãos de 1ª classe; travessia barataNeo4j, Neptune, Memgraphfraude, recomendação, redes, grafo de conhecimento

As especializadas que o mercado adora

💡 Qual aprender primeiro

MongoDB (porta de entrada do modelo de documento, líder em vagas). 2º Redis (aparece em quase toda arquitetura de produção). Depois, conforme a trilha: Cassandra/DynamoDB + Elasticsearch (dados/DevOps) ou Neo4j + vetoriais (fraude/recomendação/IA).

✔️ Auto-checagem

Para cada caso, a família: (a) token de sessão; (b) autocomplete de busca; (c) 100 mil leituras de sensor por segundo; (d) "quem comprou X também comprou Y". Qual banco vetorial roda dentro do Postgres?

03

Modelagem query-first

O erro nº 1 é modelar NoSQL como se fosse relacional. → aprofunde em Modelagem de Dados NoSQL · MongoDB, Módulos 2 e 5

💡 Conceito-chave

No relacional você modela a partir dos dados e as consultas se adaptam. No NoSQL você modela a partir das consultas ("quais perguntas a aplicação fará?") e os dados se adaptam — aceitando duplicação.

Padrões pelo nome (caem em entrevista)

PadrãoResolve
Subsetarray 1:muitos grande — embute os N recentes, referencia o resto
Bucketséries temporais — 1 documento agrupa uma janela fixa
Computedagregado caro de recalcular — pré-calcula na escrita ($inc)
Schema Versioningmigrar coleção enorme — campo schemaVersion + migração preguiçosa/backfill
Outlier99% pequenos, 1% gigante ("usuário Taylor Swift") — trata o outlier à parte
⚠️ Array sem limite

Embutir "todos os comentários do post" funciona no protótipo e explode em produção (limite de tamanho do documento; cada append reescreve o array). Se o array pode crescer indefinidamente, não pode ser embutido.

✔️ Auto-checagem

Quando embedding, quando referencing? Por que duplicar o preço dentro do item do pedido não é um "erro de normalização"? Nomeie o padrão para: contador de curtidas; IoT a 10k/s; migração gradual de schema.

04

CAP, BASE e consistência

O vocabulário de sistemas distribuídos — favorito de entrevista pleno/sênior. → aprofunde em NoSQL, Módulo 3

⚠️ Pegadinha

Chamar um banco de "CA" em contexto distribuído costuma ser errado. E o rótulo CP/AP é espectro, não prisão: Cassandra ajusta consistência por operação (quóruns, seção 05). CAP descreve o comportamento durante a falha.

✔️ Auto-checagem

Explique CAP em uma frase com exemplo. MongoDB e Cassandra: CP ou AP, e por quê? O que é consistência eventual e quando é aceitável? O que PACELC acrescenta ao CAP?

05

Replicação, sharding e quóruns

Como o dado fica disponível e como o cluster escala. → aprofunde em NoSQL, Módulo 3 · MongoDB, Módulos 6–7

✔️ Auto-checagem

Replicação vs particionamento — o que cada um escala? Três propriedades de uma boa shard key. Por que hash(chave) % N é ruim ao adicionar um nó? Com N=5, W=3, R=3 a leitura é forte? Quantos nós podem cair sem impedir escrita?

06

Índices e performance

O que quase todo NoSQL compartilha. → aprofunde em MongoDB, Módulo 4

⚠️ $regex / LIKE sem prefixo âncora

/ana/ varre tudo; /^ana/ (prefixo) usa índice. Busca textual de verdade → índice de texto ou um motor de busca (Atlas Search / Elasticsearch).

✔️ Auto-checagem

O que a regra ESR ordena e por quê? O que é uma covered query? Por que "adicionar índice por via das dúvidas" é ruim? O que é working set?

07

Poliglota e sincronização

Com vários bancos, o problema vira mantê-los coerentes. → aprofunde em NoSQL, Módulo 9 · Engenharia de Dados

⚠️ Dual-write

Escrever no Postgres e depois no Elasticsearch direto no código da aplicação: se a segunda escrita falhar (deploy, timeout, crash), os sistemas divergem em silêncio e não há transação que os una. Um dos bugs de consistência mais comuns em produção. Use CDC ou outbox.

✔️ Auto-checagem

Por que dual-write é um antipadrão? O que CDC e outbox resolvem, e como diferem? O que CQRS separa e como sincroniza?

08

Operação: segurança e backup

O que derruba empresas — e é fácil de evitar. → aprofunde em NoSQL, Módulo 9 · Segurança de Aplicações de IA

✔️ Auto-checagem

Qual a causa dos grandes vazamentos históricos de NoSQL? Como se defende de NoSQL injection? Por que a réplica não substitui o backup? Cite quatro métricas de um cluster em produção.

09

Matriz de decisão

Da necessidade ao banco, sem hype. → aprofunde em NoSQL, Módulos 2 e 9

NecessidadeEscolha típicaPor quê
Cache, sessão, rate limit, ranking, lockRedis / Valkeychave-valor em memória, estruturas ricas, TTL, microssegundos
Catálogo, perfis, CMS, app web com dado aninhadoMongoDB (ou Postgres + JSONB)documento flexível, modela como a app enxerga
Escrita massiva, séries temporais, mensagens, IoTCassandra / ScyllaDBcoluna larga, sem líder, LSM-Tree, escala linear de escrita
Backend AWS-first, chave conhecida, escala previsívelDynamoDBgerenciado, latência estável, integra com o ecossistema AWS
Busca textual, facetas, logs/observabilidadeElasticsearch / OpenSearch (ou Atlas Search)Lucene: relevância, análise linguística, agregações
Fraude, recomendação, "amigos dos amigos", dependênciasNeo4j / Neptunerelacionamento é 1ª classe; travessia barata por salto
Busca semântica, RAG, memória de agentepgvector / Qdrant / WeaviatekNN aproximado sobre embeddings; filtro híbrido
Transação multi-entidade, integridade referencial, relatórios ad-hocRelacional (Postgres)ACID, JOIN, o dataset cabe num servidor
💡 Resposta de system design

E-commerce grande, arquitetura poliglota típica: catálogo em MongoDB ou Postgres; busca em Elasticsearch (via CDC); carrinho/sessão em Redis (TTL); pedidos/pagamentos em Postgres (ACID inegociável); recomendação em Neo4j ou vetorial; logs em OpenSearch. Cada escolha justificada pelos trade-offs das seções 01–08.

✔️ Auto-checagem

Sem olhar a tabela: banco para cache; para escrita massiva de telemetria; para busca textual com facetas; para recomendação por grafo; para RAG. Quando a resposta certa é "relacional"?

10

O resto do essencial

Itens que aparecem sempre.

TópicoO mínimo
Idempotênciaescrita que pode ser repetida sem efeito extra (upsert por chave de negócio). Pré-requisito para retry seguro.
Retry stormretry sem exponential backoff + jitter transforma um soluço em avalanche que derruba o banco.
Hot key / hot partitioninimigo nº 1 em escala. Mitigação: salting da chave (sufixo aleatório), cache local na frente do Redis.
Cache: cache-asideapp lê o cache; se falta, busca no banco e popula. O padrão mais comum. → Caching & Redis
Cache stampedechaves com TTL uniforme expiram juntas e a recomputação satura o banco. Prevenção: TTL com jitter, lock de recomputação (single-flight), warm-up pós-deploy.
Consistência de cacheinvalide na escrita (delete a chave); TTL curto como rede de segurança; nunca confie só em "atualizar o cache junto".
Connection poolinguma instância de client por processo; em serverless, pool pequeno + client reaproveitado entre invocações.
Percentismeça p95/p99, nunca média — a média esconde desastres.
Dinheirodecimal exato (Decimal128) ou centavos em inteiro — nunca float.
✔️ Auto-checagem

Por que idempotência é pré-requisito de retry? O que evita um retry storm? O que é cache-aside e cache stampede? Como se previne o stampede? Por que p99 e não média?

RECAP

Checklist final do NoSQL

Se você marca todos, tem o básico conceitual e de decisão. Onde travar, volte à seção.

✅ Eu sei…
  • que NoSQL é um conjunto de trade-offs, não uma evolução do SQL; e começar com Postgres + Redis
  • três diferenças concretas relacional × NoSQL (esquema, escala, relacionamentos, consistência, modelo)
  • as 4 famílias e o caso de uso ideal de cada uma; e as especializadas (busca, série temporal, vetorial)
  • modelar a partir das consultas; embedding vs referencing por cardinalidade + acesso
  • os padrões pelo nome: subset, bucket, computed, extended reference, schema versioning, outlier
  • o antipadrão do array sem limite e por que duplicar dado histórico é correto
  • CAP (a escolha só existe durante a partição); CP vs AP com exemplos; MongoDB CP, Cassandra AP
  • BASE e consistência eventual; read-your-writes, monotonic reads, causal; PACELC
  • replicação vs particionamento; três propriedades da shard key; o problema da chave monotônica
  • consistent hashing e o problema que resolve; quóruns W + R > N; ideia do LSM-Tree
  • índice composto pela regra ESR; ler o explain; covered query; working set na RAM
  • índice parcial/esparso e TTL; por que regex sem prefixo não usa índice
  • persistência poliglota com critério; CDC e outbox; o antipadrão dual-write; CQRS
  • nunca expor a instância; NoSQL injection; menor privilégio; field-level encryption
  • backup ≠ replicação; PITR testado; métricas (lag, cache hit ratio, COLLSCAN, conexões, p99)
  • a matriz de decisão necessidade → banco, e quando a resposta é "relacional"
  • idempotência, retry com backoff+jitter, hot key/salting, cache-aside, cache stampede, pooling, percentis

Aprofundamento: NoSQL — do básico ao muito avançado · MongoDB a fundo · Modelagem de Dados NoSQL · Caching Distribuído & Redis Avançado · Engenharia de Dados.