Případová studie MongoDB

NoSQL Concepts

Miriam Antona

Software engineer

MongoDB – přehled

Logo MongoDB

  • Oblíbená dokumentová databáze
  • Formát BSON (Binary JSON)
NoSQL Concepts

MongoDB – funkce

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Nativní ovladače pro programovací jazyky: C#, Java, Python, Scala atd.
  • Indexy na libovolném poli
  • Transakce ACID (Atomicity, Consistency, Isolation, Durability)
  • Joiny v dotazech
NoSQL Concepts

MongoDB – funkce

  • Horizontální škálování
    • nativní sharding
    • přidávání/přesun shardů
  • Replikace
    • až 50 kopií dat
NoSQL Concepts

MongoDB – produkty

  • MongoDB Compass:
    • Bezplatné GUI
    • Průzkum schématu, vizuální tvorba dotazů...
  • MongoDB Atlas:
    • Cloudová služba
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Provoz MongoDB ve vlastní infrastruktuře
NoSQL Concepts

MongoDB – produkty

  • MongoDB Atlas Lake:
    • Dotazování a analýza dat
    • AWS S3 a MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Vizualizace dat
  • Realm Mobile Database:
    • Lokální ukládání dat na iOS nebo Android
NoSQL Concepts

MongoDB – typické použití

  • Aplikace s jednotným pohledem na data: finance, veřejná správa, technologie, retail...
  • Gaming: profily hráčů, žebříčky...
  • Katalogy: finance, veřejná správa, technologie, retail...
  • Analytika v reálném čase
  • Správa obsahu
  • Internet věcí
NoSQL Concepts

MongoDB – zákazníci

Loga některých zákazníků MongoDB

NoSQL Concepts

Případová studie Shutterfly – přehled

  • Online fotografická služba
    • Sdílení personalizovaných fotoalb
    • Produkty s tištěnými fotografiemi
  • Miliony zákazníků
  • Více než šest miliard snímků

Logo Shutterfly

NoSQL Concepts

Případová studie Shutterfly – problém a řešení

  • Masivní nárůst objemu dat
  • Výkonnostní limity Oracle
  • Dlouhá doba vývoje aplikací
  • Aplikace nebyly dostatečně rychlé
  • Oracle se stal příliš drahým
  • Rozhodnutí přejít na MongoDB
NoSQL Concepts

Případová studie Shutterfly – výsledky

  • Zlepšení výkonu
    • Vkládání dat: 400 ms → 2 ms
  • Horizontální škálování
  • Flexibilní schéma → rychlejší vývoj
    • Tagy, komentáře apod. jsou snadné na implementaci
  • Nové vzory dotazů
  • Snížení nákladů
NoSQL Concepts

Případová studie Shutterfly – výsledky

  • Zlepšení výkonu
    • Vkládání dat: 400 ms → 2 ms
  • Horizontální škálování
  • Flexibilní schéma → rychlejší vývoj
    • Tagy, komentáře apod. jsou snadné na implementaci
  • Nové vzory dotazů
  • Snížení nákladů
1 https://www.mongodb.com/who-uses-mongodb
NoSQL Concepts

Pojďme cvičit!

NoSQL Concepts

Preparing Video For Download...