Caso práctico de MongoDB

Conceptos de NoSQL

Miriam Antona

Software engineer

MongoDB - visión general

Logotipo de MongoDB

  • Base de datos documental popular
  • Formato BSON (Binary JSON)
Conceptos de NoSQL

MongoDB - características

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Controladores nativos para lenguajes de programación: C#, Java, Python, Scala, etc.
  • Índices en cualquier campo
  • Transacciones ACID (atomicidad, consistencia, aislamiento y durabilidad)
  • Joins en consultas
Conceptos de NoSQL

MongoDB - características

  • Escala horizontalmente
    • particionado nativo
    • añadir/mover shards
  • Replicación
    • hasta 50 copias de los datos
Conceptos de NoSQL

MongoDB - productos

  • MongoDB Compass:
    • GUI gratuita
    • Explora el esquema, crea consultas de forma visual...
  • MongoDB Atlas:
    • Servicio en la nube
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Ejecuta MongoDB en nuestra infraestructura
Conceptos de NoSQL

MongoDB - productos

  • MongoDB Atlas Lake:
    • Consultar y analizar datos
    • AWS S3 y MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Visualizaciones de datos
  • Realm Mobile Database:
    • Almacena datos localmente en iOS o Android
Conceptos de NoSQL

MongoDB - usos populares

  • Aplicaciones de vista unificada: finanzas, sector público, alta tecnología, retail...
  • Gaming: perfiles de jugador, clasificaciones...
  • Catálogos: finanzas, sector público, alta tecnología, retail...
  • Analítica en tiempo real
  • Gestión de contenidos
  • Internet de las cosas
Conceptos de NoSQL

MongoDB - clientes

Logotipos de algunos clientes de MongoDB

Conceptos de NoSQL

Caso Shutterfly - visión general

  • Servicio de fotografía online
    • Compartir álbumes personalizados
    • Productos con fotos impresas
  • Millones de clientes
  • Más de seis mil millones de imágenes

Logotipo de Shutterfly

Conceptos de NoSQL

Caso Shutterfly - problema y solución

  • Crecimiento masivo de datos
  • Límites de rendimiento de Oracle
  • Desarrollo de aplicaciones lento
  • Las aplicaciones no iban lo bastante rápido
  • Oracle se volvió demasiado caro
  • Eligieron MongoDB
Conceptos de NoSQL

Caso Shutterfly - resultados

  • Mejora de rendimiento
    • Inserts 400 ms -> 2 ms
  • Escalado horizontal
  • Esquema flexible -> desarrollo rápido
    • Etiquetas, comentarios, etc. fáciles de implementar
  • Nuevos patrones de consulta
  • Reducción de costes
Conceptos de NoSQL

Caso Shutterfly - resultados

  • Mejora de rendimiento
    • Inserts 400 ms -> 2 ms
  • Escalado horizontal
  • Esquema flexible -> desarrollo rápido
    • Etiquetas, comentarios, etc. fáciles de implementar
  • Nuevos patrones de consulta
  • Reducción de costes
1 https://www.mongodb.com/who-uses-mongodb
Conceptos de NoSQL

¡Vamos a practicar!

Conceptos de NoSQL

Preparing Video For Download...