🍃 UNIDADE VI: NOSQL E ARQUITETURA DE DOCUMENTOS
Bem-vindo(a) à fronteira atual da Engenharia de Dados corporativa. A partir de agora, expandiremos a sua mente arquitetural para além do clássico paradigma relacional. 🛡️🧩
Objetivo: Compreender as motivações essenciais que deram origem ao movimento NoSQL, suas diferenças arquiteturais em relação aos sistemas RDBMS, e o impacto estratégico do Teorema CAP na concepção de sistemas distribuídos de escala global.
📗 PASSO 1: A Origem do Paradigma "Not Only SQL"
Por mais de três décadas, bancos como PostgreSQL e SQL Server dominaram absolutos. Contudo, com o advento das Redes Sociais, da Internet das Coisas (IoT) e de volumes na casa dos Petabytes, o modelo relacional rígido sofreu impactos em escalabilidade.
Surgiram então os bancos de dados não-relacionais (NoSQL), priorizando velocidade massiva de leitura/escrita e esquemas flexíveis. Atualmente, o termo é amplamente aceito como Not Only SQL (Não Apenas SQL), indicando que ele complementa o relacional, e não tenta substitui-lo de forma arrogante. 🛡️
📗 PASSO 2: O Desafio Estratégico do Teorema CAP
Ao abandonarmos um único servidor potente e passarmos a rodar bancos de dados cruzando oceanos em centenas de máquinas (clusters), esbarramos numa lei física da engenharia de computação postulada por Eric Brewer: O Teorema CAP.
Para qualquer banco de dados distribuído de grande escala, é matematicamente impossível garantir simultaneamente as 3 propriedades abaixo:
- C (Consistência): Todos os clientes enxergam a mesma informação simultaneamente.
- A (Disponibilidade): O sistema responde sempre, mesmo que dados estejam desatualizados.
- P (Tolerância à Partição): O sistema sobrevive se um cabo de rede for cortado entre o Brasil e o Japão.
📊 Balanço Arquitetural (Teorema CAP)
flowchart TD
CAP{⚖️ Teorema CAP}
CAP -->|CP| MGB[MongoDB / HBase]
CAP -->|AP| CAS[Cassandra / DynamoDB]
CAP -->|CA| RDB[PostgreSQL / MySQL]
subgraph Prioridade CP
direction TB
MGB_info(Garante Consistência<br/>Resiste à quedas de rede<br/>Mas pode falhar na Disponibilidade)
end
subgraph Prioridade AP
direction TB
CAS_info(Sempre Disponível<br/>Resiste à quedas de rede<br/>Consistência eventual)
end
⚠️ Atenção: Em sistemas complexos nativos da nuvem (Cloud Native), as "Partições" (quedas de comunicação entre os hubs nos EUA e Europa, por exemplo) não são probabilidades, são certezas. Portanto, você deve escolher na realidade entre CP ou AP. 🛡️
📗 PASSO 3: Por que o MongoDB 7.0 LTS?
Dentre de dezenas de modalidades de sistemas "NoSQL", o MongoDB domina a vasta maioria dos cenários contemporâneos.
- Arquitetura baseada em Documentos: Os dados não são forçados em matrizes bi-dimensionais (tabelas e colunas). Eles fluem de forma hierárquica usando BSON (Uma versão binária de hiper-performance do JSON).
- Schema Dinâmico (Flexible Schema): Um usuário pode ter um endereço com número de casa e outro usuário com lote, andar de apartamento, tudo sob a mesma entidade sem precisar gerar "colunas nulas".
- Filosofia CP: Ele prioriza a Consistência dos dados acima de tudo através do sistema elegante do seu "Replica Set".
💡 Nota do Arquiteto: Você não precisa escolher entre relacional e NoSQL. A arquitetura corporativa moderna utiliza a Persistência Poliglota: Usar
PostgreSQL 🐘para auditoria financeira eMongoDB 🍃para a navegação acelerada de um feed infinito. 🚀🛡️