MongoDB – fallstudie

NoSQL-koncept

Miriam Antona

Software engineer

MongoDB – översikt

MongoDB-logotyp

  • Populär dokumentdatabas
  • BSON (Binary JSON)-format
NoSQL-koncept

MongoDB – funktioner

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Inbyggda drivrutiner för programmeringsspråk: C#, Java, Python, Scala m.fl.
  • Index på valfritt fält
  • ACID-transaktioner (atomicitet, konsistens, isolering och beständighet)
  • Joins i frågor
NoSQL-koncept

MongoDB – funktioner

  • Horisontell skalning
    • inbyggd sharding
    • lägg till/flytta shards
  • Replikering
    • upp till 50 kopior av datan
NoSQL-koncept

MongoDB – produkter

  • MongoDB Compass:
    • Gratis grafiskt gränssnitt
    • Utforska schema, skapa frågor visuellt...
  • MongoDB Atlas:
    • Molntjänst
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Kör MongoDB i egen infrastruktur
NoSQL-koncept

MongoDB – produkter

  • MongoDB Atlas Lake:
    • Fråga och analysera data
    • AWS S3 och MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Visualiseringar av data
  • Realm Mobile Database:
    • Lagra data lokalt på iOS eller Android
NoSQL-koncept

MongoDB – vanliga användningsområden

  • Enhetsvyapplikationer: finansiella tjänster, offentlig sektor, teknik, detaljhandel...
  • Spel: spelarprofiler, topplistor...
  • Kataloger: finansiella tjänster, offentlig sektor, teknik, detaljhandel...
  • Realtidsanalys
  • Innehållshantering
  • Internet of Things
NoSQL-koncept

MongoDB – kunder

Logotyper för några av MongoDBs kunder

NoSQL-koncept

Shutterfly – fallstudie: översikt

  • Onlinetjänst för fotografier
    • Dela personliga fotoalbum
    • Produkter med utskrivna fotografier
  • Miljontals kunder
  • Mer än sex miljarder bilder

Shutterfly-logotyp

NoSQL-koncept

Shutterfly – fallstudie: problem och lösning

  • Kraftig datatillväxt
  • Oracles prestandabegränsningar
  • Lång utvecklingstid för applikationer
  • Applikationerna var inte tillräckligt snabba
  • Oracle blev för kostsamt
  • Valde MongoDB
NoSQL-koncept

Shutterfly – fallstudie: resultat

  • Prestandaförbättring
    • Inserts 400 ms. -> 2 ms.
  • Horisontell skalning
  • Flexibelt schema -> snabbare utveckling
    • Taggar, kommentarer m.m. är enkla att implementera
  • Nya frågemönster
  • Kostnadsminskning
NoSQL-koncept

Shutterfly – fallstudie: resultat

  • Prestandaförbättring
    • Inserts 400 ms. -> 2 ms.
  • Horisontell skalning
  • Flexibelt schema -> snabbare utveckling
    • Taggar, kommentarer m.m. är enkla att implementera
  • Nya frågemönster
  • Kostnadsminskning
1 https://www.mongodb.com/who-uses-mongodb
NoSQL-koncept

Nu kör vi en övning!

NoSQL-koncept

Preparing Video For Download...