Apresentação dos conceitos básicos do MongoDB, um banco de dados NoSQL orientado a documentos e sugestões para a escolha da ferramenta certa para ser sua próxima base de dados.
2. ★ pensando em documentos
★ Mongo Shell & CRUD
★ replicação e sharding
★ quando JAMAIS usar o MongoDB
★ quando dar uma chance ao MongoDB
★ mude seu pensamento
hoje vamos ver:
5. “MongoDB é um banco orientado a documentos
open-source que permite alta performance, alta
disponibilidade e escalabilidade automática.”
MongoDB - 10gen
6. ★ NoSQL orientado a documentos
★ horizontalmente escalável (Sharding)
★ alta disponibilidade (Replica set)
★ schemaless
características:
7. ★ parecido com um registro de uma tabela
★ chave-valor: JSON / BSON
★ unidade atômica
o que é um documento?
31. ★ redundância
★ alta disponibilidade
★ distribuição de carga de leitura
★ distribuição geográfica
por que replicar?
32.
33. ★ distribuição de carga
★ disponiblizar mais RAM ao working set
★ diminuir espaço em disco
★ ler e escrever com mais throughput
por que particionar (fazer sharding)?
40. ★ não é ACID compliant
★ é schemaless
★ é não-relacional
★ não possui constraints
sabendo que:
41. ★ transações multi-objeto -> ACID
★ constraints
★ dados estritamente tabulares
★ dados estritamente relacionais (normalizados)
★ as necessidades do negócio são comprovadamente
resolvidas com eficiência por um banco relacional
JAMAIS usar MongoDB:
44. ★ armazena JSON
★ permite alto throughput
★ é schemaless
★ agile friendly
★ permite escalabilidade horizontal
automática
sabendo que:
45. ★ armazenar dados não estruturados
★ o schema for instável
★ disponibilidade > consistência
★ precisar escalar horizontalmente
★ análise de dados em tempo real
★ time to market curto
★ equipe pequena e/ou sem DBA
dê uma chance ao MongoDB quando: