MongoDB case study

NoSQL Concepts

Miriam Antona

Software engineer

MongoDB - overview

MongoDB logo

  • Popular document database
  • BSON (Binary JSON) format
NoSQL Concepts

MongoDB - features

  • MongoDB Query Language (MQL)
db.users.find({ "address.zipcode" : "10245" })
  • Native drivers for programming languages: C#, Java, Python, Scala, etc.
  • Indexes on any field
  • ACID transactions (Atomicity, Consistency, Isolation, and Durability)
  • Joins in queries
NoSQL Concepts

MongoDB - features

  • Scale horizontally
    • native sharding
    • add/move shards
  • Replication
    • 50 copies of our data
NoSQL Concepts

MongoDB - products

  • MongoDB Compass:
    • Free GUI
    • Explore schema, create queries visually...
  • MongoDB Atlas:
    • Cloud service
    • AWS, Azure, Google Cloud
  • MongoDB Enterprise Advanced:
    • Run MongoDB in our infrastructure
NoSQL Concepts

MongoDB - products

  • MongoDB Atlas Lake:
    • Query and analyze data
    • AWS S3 and MongoDB Atlas
    • MQL
  • MongoDB Charts:
    • Visualizations of the data
  • Realm Mobile Database:
    • Store data locally on iOS or Android
NoSQL Concepts

MongoDB - popular uses

  • Single view applications: financial services, government, high tech, retail...
  • Gaming: player profiles, leaderboards...
  • Catalogs: financial services, government, high tech, retail...
  • Real-time analytics
  • Content management
  • Internet of Things
NoSQL Concepts

MongoDB - customers

Logos of some MongoDB customers

NoSQL Concepts

Shutterfly case study - overview

  • Online photography service
    • Share personalized photo albums
    • Products with printed photographs
  • Millions of customers
  • More than six billion images

Shutterfly logo

NoSQL Concepts

Shutterfly case study - problem and solution

  • Massive data growth
  • Performance limits of Oracle
  • Long time to build applications
  • Applications didn't perform quickly enough
  • Oracle became too expensive
  • Chose MongoDB
NoSQL Concepts

Shutterfly case study - results

  • Performance improvement
    • Inserts 400 ms. -> 2 ms.
  • Horizontal scaling
  • Flexible schema -> quickly development
    • Tags, comments, etc. are not difficult to implement
  • New query patterns
  • Cost reduction
NoSQL Concepts

Shutterfly case study - results

  • Performance improvement
    • Inserts 400 ms. -> 2 ms.
  • Horizontal scalling
  • Flexible schema -> quickly development
    • Tags, comments, etc. are not difficult to implement
  • New query patterns
  • Cost reduction
1 https://www.mongodb.com/who-uses-mongodb
NoSQL Concepts

Let's practice!

NoSQL Concepts

Preparing Video For Download...