Caso di studio MongoDB

Concetti NoSQL

Miriam Antona

Software engineer

MongoDB - panoramica

Logo di MongoDB

  • Database a documenti molto diffuso
  • Formato BSON (Binary JSON)
Concetti NoSQL

MongoDB - funzionalità

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Driver nativi per linguaggi di programmazione: C#, Java, Python, Scala, ecc.
  • Indici su qualsiasi campo
  • Transazioni ACID (Atomicità, Coerenza, Isolamento e Durabilità)
  • Join nelle query
Concetti NoSQL

MongoDB - funzionalità

  • Scalare orizzontalmente
    • sharding nativo
    • aggiungi/sposta shard
  • Replica
    • Fino a 50 copie dei dati
Concetti NoSQL

MongoDB - prodotti

  • MongoDB Compass:
    • GUI gratuita
    • Esplora lo schema, crea query in modo visuale...
  • MongoDB Atlas:
    • Servizio cloud
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Esegui MongoDB nella tua infrastruttura
Concetti NoSQL

MongoDB - prodotti

  • MongoDB Atlas Lake:
    • Interroga e analizza i dati
    • AWS S3 e MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Visualizzazioni dei dati
  • Realm Mobile Database:
    • Archivia dati in locale su iOS o Android
Concetti NoSQL

MongoDB - usi diffusi

  • Single view applications: servizi finanziari, pubblica amministrazione, high tech, retail...
  • Gaming: profili giocatori, classifiche...
  • Cataloghi: servizi finanziari, pubblica amministrazione, high tech, retail...
  • Analisi in tempo reale
  • Gestione dei contenuti
  • Internet of Things
Concetti NoSQL

MongoDB - clienti

Loghi di alcuni clienti MongoDB

Concetti NoSQL

Caso di studio Shutterfly - panoramica

  • Servizio di fotografia online
    • Condividi album personalizzati
    • Prodotti con foto stampate
  • Milioni di clienti
  • Oltre sei miliardi di immagini

Logo di Shutterfly

Concetti NoSQL

Caso di studio Shutterfly - problema e soluzione

  • Crescita massiva dei dati
  • Limiti prestazionali di Oracle
  • Tempi lunghi per creare applicazioni
  • Le applicazioni non erano abbastanza veloci
  • Oracle è diventato troppo costoso
  • Scelta MongoDB
Concetti NoSQL

Caso di studio Shutterfly - risultati

  • Miglioramento delle prestazioni
    • Insert: da 400 ms a 2 ms
  • Scalabilità orizzontale
  • Schema flessibile -> sviluppo rapido
    • Tag, commenti, ecc. facili da implementare
  • Nuovi pattern di query
  • Riduzione dei costi
Concetti NoSQL

Caso di studio Shutterfly - risultati

  • Miglioramento delle prestazioni
    • Insert: da 400 ms a 2 ms
  • Scalabilità orizzontale
  • Schema flessibile -> sviluppo rapido
    • Tag, commenti, ecc. facili da implementare
  • Nuovi pattern di query
  • Riduzione dei costi
1 https://www.mongodb.com/who-uses-mongodb
Concetti NoSQL

Esercitiamoci!

Concetti NoSQL

Preparing Video For Download...