Tecnologias/02 - Bancos de Dados/02 - Não Relacionais/01 - MongoDB1 minmoc
MOC MongoDB
01 - MongoDB
O banco de documentos mais usado do mercado. A tese: o dado que você lê junto, guarde junto — e a consequência é que você modela pelas consultas, não pelas entidades.
Definições e explicações
- 1. MongoDB — a arquitetura: documento, replica set, sharding, agregação
- 2. Modelagem de Documentos — embutir ou referenciar: a decisão que define o projeto
- 3. Transações, Replica Set e Durabilidade —
writeConcern,readConcerne o que "confirmado" significa - 4. WiredTiger e Armazenamento — cache, eviction, compressão, journal e checkpoint
- 5. Query Planner e Índices — a corrida de planos, regra ESR,
explaine covered query - 6. Sharding por Dentro — chunks, balanceador, shard key e targeted vs scatter-gather
A comparação com o mundo relacional está em 4. MongoDB vs Relacional, na seção de Comparações.
Conceitos relacionados
SQL vs NoSQL dá o enquadramento teórico; Document Store define a categoria; 4. Modelagem e Normalização é justamente o que aqui será invertido.
A ideia que atravessa a seção
Em SQL você normaliza e o otimizador resolve as consultas depois. No MongoDB você escolhe as consultas primeiro e o schema é consequência.
Isso é uma troca, não um upgrade: você ganha localidade (uma leitura traz o agregado inteiro) e perde a capacidade de fazer uma pergunta que ninguém previu. Todo elogio e toda reclamação sobre MongoDB descendem dessa única frase.
Usar MongoDB como banco relacional sem joins: coleções normalizadas, $lookup por
toda parte, nenhuma constraint. O resultado junta o pior dos dois modelos — e é a
origem de metade da má fama do produto.
Parte de Bancos Não Relacionais · mongodb.com/docs