Chris Westin
 @cwestin63




© Copyright 2010 10gen Inc.
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
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
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
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
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
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
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
mongodb-brief-intro-february-2012

mongodb-brief-intro-february-2012

  • 1.
    Chris Westin @cwestin63 ©Copyright 2010 10gen Inc.
  • 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 notan 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 MongoDBRun? • 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 Ifind 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