Estudo de caso: MongoDB

Conceitos de NoSQL

Miriam Antona

Software engineer

MongoDB - visão geral

Logo do MongoDB

  • Banco de dados de documentos popular
  • Formato BSON (Binary JSON)
Conceitos de NoSQL

MongoDB - recursos

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Drivers nativos para linguagens de programação: C#, Java, Python, Scala etc.
  • Índices em qualquer campo
  • Transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade)
  • Joins em consultas
Conceitos de NoSQL

MongoDB - recursos

  • Escala horizontal
    • sharding nativo
    • adicionar/mover shards
  • Replicação
    • 50 cópias dos dados
Conceitos de NoSQL

MongoDB - produtos

  • MongoDB Compass:
    • GUI gratuita
    • Explorar schema, criar consultas visualmente...
  • MongoDB Atlas:
    • Serviço em nuvem
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Executar MongoDB na nossa infraestrutura
Conceitos de NoSQL

MongoDB - produtos

  • MongoDB Atlas Lake:
    • Consultar e analisar dados
    • AWS S3 e MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Visualizações dos dados
  • Realm Mobile Database:
    • Armazenar dados localmente em iOS ou Android
Conceitos de NoSQL

MongoDB - usos populares

  • Single view applications: serviços financeiros, governo, high tech, varejo...
  • Games: perfis de jogadores, rankings...
  • Catálogos: serviços financeiros, governo, high tech, varejo...
  • Análises em tempo real
  • Gestão de conteúdo
  • Internet das Coisas
Conceitos de NoSQL

MongoDB - clientes

Logos de alguns clientes do MongoDB

Conceitos de NoSQL

Estudo de caso Shutterfly - visão geral

  • Serviço de fotografia online
    • Compartilhar álbuns personalizados
    • Produtos com fotos impressas
  • Milhões de clientes
  • Mais de seis bilhões de imagens

Logo da Shutterfly

Conceitos de NoSQL

Estudo de caso Shutterfly - problema e solução

  • Crescimento massivo de dados
  • Limites de desempenho do Oracle
  • Muito tempo para desenvolver apps
  • Apps não eram rápidos o suficiente
  • Oracle ficou caro demais
  • Escolheram MongoDB
Conceitos de NoSQL

Estudo de caso Shutterfly - resultados

  • Ganho de desempenho
    • Inserts de 400 ms -> 2 ms
  • Escalonamento horizontal
  • Schema flexível -> desenvolvimento rápido
    • Tags, comentários etc. não são difíceis de implementar
  • Novos padrões de consulta
  • Redução de custos
Conceitos de NoSQL

Estudo de caso Shutterfly - resultados

  • Ganho de desempenho
    • Inserts de 400 ms -> 2 ms
  • Escalonamento horizontal
  • Schema flexível -> desenvolvimento rápido
    • Tags, comentários etc. não são difíceis de implementar
  • Novos padrões de consulta
  • Redução de custos
1 https://www.mongodb.com/who-uses-mongodb
Conceitos de NoSQL

Vamos praticar!

Conceitos de NoSQL

Preparing Video For Download...