Introduction to MongoDB
About MongoDB
•   MongoDB is a document oriented database.
•   The word Mongo is derived from Humongous.
•   Developed in C++
•   MongoDB is a NoSQL database
•   MongoDB documents are stored in BSON
    •   Binary JSON
                MongoDB History
•   MongoDB was developed in 2007 by 10gen.
    •   In 2013 10gen changed its name to MongoDB, Inc.
•   Originally Developed as a PAAS - Platform as a
    Service
•   In 2009 MongoDB was introduced as an Open
    Source Database server
             MongoDB History
•   MongoDB early adopters include SourceForge,
    Foursquare, craigslist, and eBay
•   Today MongoDB is used by many large
    companies. Including: MetLife, Facebook,
    Expedia, and Google
•   At Springframework.guru MongoDB posts are
    very popular
              Why Use MongoDB?
•   MongoDB is great for high insert systems
    •   Such as sensor readings, social media
        systems, advertising systems
•   Good when you need schema flexibility
•   Can also support a high number of reads per
    second
             Why Avoid MongoDB?
•   MongoDB has no concept of transactions.
    •   No A.C.I.D.
    •   No locking for transactional support, hence faster
        inserts
•   Not good for concurrent updates.
•   Lots of jokes about MongoDB losing data.
MongoDB Terminology
     RDMS             MongoDB
    Database          Database
      Table           Collection
      Row             Document
     Column             Field
    Table Join   Embedded Documents
   Primary Key       Primary Key
   Aggregation   Aggregation Pipeline