2. What is MongoDB?
• One of the new breed of non-relational
(“NoSQL”) databases
• A document store
• Instead of flat records (sets of scalars), stores
JSON documents
• Scalars
• Array-valued fields
• Document-valued fields
• Open source
3. Why MongoDB?
• Availability
• Easy replication
• In principle, similar to MySQL master-slave
• Automated failover
• Failure of the “primary” (current master) is detected,
and a “secondary” (slave) is selected and takes
over automatically
4. Why MongoDB?
• Scalability
• Easy replication
• Scale reads by permitting reads from secondaries
• Built-in sharding
• Scale writes by spreading load across multiple
shards – each is a replica set
• Shards can be added or removed at will
• No penalty for guessing wrong at start
• System automatically re-balances shards if they
grow disproportionately
5. Why MongoDB?
• Simplicity
• Simple configuration
• Very few startup parameters
• Flexible document model
• Structured data
• Doesn’t force unnecessary normalization
• Natural-looking language bindings
• Client drivers use native language constructions to
represent documents
6. MongoDB is not an RDBMS
• Sacrifices made for horizontal scalability
• Eventual Consistency
• Secondaries are not replicas maintained by
distributed transactions
• No transactions
• No joins
• No SQL
• Simpler QBE-style query language
7. Where does MongoDB Run?
• Designed for commodity hardware
• Can run on O&O infrastructure or in cloud
environments
• Runs on Windows and most flavors of linux
• OSX works, but is not recommended for
production
8. Where can I find out more?
• Tutorials
• http://try.mongodb.org
• http://openmymind.net/2011/3/28/The-Little-MongoDB-
Book/
• Documentation wiki
• http://www.mongodb.org/
• mongodb-user on Google groups
• http://groups.google.com/group/mongodb-user
• 10gen
• http://www.10gen.com/
• Presentations, webinars
• http://www.10gen.com/what-is-mongodb
• Support, training, consulting