Aula 11: Introdução ao NoSQL 🌐
Além das Tabelas
Ricardo Pires
Bancos de Dados SQL e NoSQL
🎯 O que vamos aprender hoje?
- A revolução NoSQL
- SQL vs NoSQL
- Tipos de bancos não-relacionais
- Vantagens e Casos de Uso
- O Modelo de Documento
- Teorema CAP
🧩 O que é NoSQL?
- "Not Only SQL"
- Flexibilidade total de dados
- Escalabilidade Massiva 🌍
- Fim da rigidez das tabelas
🏗️ Por que mudar?
- Big Data: Volume gigante de dados
- Agilidade: Mudanças rápidas no código
- Nuvem: Facilidade de distribuir servidores
- Performance: Leituras ultrarrápidas
⚔️ SQL vs NoSQL
- SQL = Tabela, Relacional, Rígido 🏛️
- NoSQL = Documento, Flexível, Elástico 🍃
- Um é melhor que o outro? Depende do problema!
📚 As 4 Famílias NoSQL
- Documento: (MongoDB) - JSON/BSON
- Chave-Valor: (Redis) - Dicionário
- Colunas: (Cassandra) - Dados esparsos
- Grafos: (Neo4j) - Redes e Conexões
🍃 Foco: MongoDB
- O banco NoSQL mais popular do mundo.
- Baseado em Documentos.
- Coleções em vez de Tabelas.
- Sem JOINs obrigatórios! 🚫🔗
📦 O Documento (Exemplo)
- Se amanhã quiser adicionar "idade", basta inserir!📉 Escalabilidade Horizontal
- SQL: Comprar um servidor mais caro (Vertical). 🏠 -> 🏰
- NoSQL: Comprar vários servidores baratos (Horizontal). 🏠 -> 🏠🏠🏠
- Muito mais barato para escalas gigantes.
📐 Teorema CAP
Em sistemas distribuídos, escolha apenas 2: 1. Consistência: Dados iguais em todo lugar. 2. Availabilidade: Sempre respondendo. 3. Partição: Funciona com queda de rede.
📊 Visualizando o Teorema
graph TD
CA[Relacionais Tradicionais] --- AP[NoSQL focados em uptime]
AP --- CP[NoSQL focados em dados exatos]
CP --- CA
🤝 Relacionamento?
- No SQL: Usamos JOIN em tabelas separadas.
- No NoSQL: Aninhamos (Embed) os dados.
- O Pedido já contém o Cliente dentro dele! 📦
💻 Prática: O pensamento JSON
- Como seria o JSON de um Carrinho de Compras?
- Lista de produtos dentro de um único objeto.
- Muito mais natural para o Programador. 👩💻
🚀 Onde usar NoSQL?
- Redes Sociais
- Catálogos de E-commerce
- Jogos Online
- Logs e Telemetria (IOT)
- Cache de Alta Velocidade
🏁 Resumo
- NoSQL não é "Sem SQL", é "Além do SQL".
- MongoDB é focado em documentos flexíveis.
- Escalabilidade horizontal é a chave da nuvem.
- Teorema CAP define as regras do jogo.