An introduction to MongoDB from an experienced MySQL user and developer. There are differences and we go thru the What/Why/Who/Where of MongoDB, the "similarities" to the MySQL world like storage engines, how replication is a little more interesting with built-in sharding and automatic failover, backups, monitoring, DBaaS, going to production and finding out more resources.
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
My first moments with MongoDB
1. My First Moments with
MongoDB
Colin Charles
byte@bytebot.net | @bytebot | http://bytebot.net/blog/
Community Open House, New York City, New York, USA
30 June 2016
2. whoami
• Work on MariaDB Server at MariaDB Corporation
(SkySQL Ab)
• Merged with Monty Program Ab, makers of MariaDB
• Formerly MySQL AB (exit: Sun Microsystems)
• Past lives include Fedora Project (FESCO),
OpenOffice.org
• MySQL Community Contributor of the Year Award
winner 2014
3. Agenda
• What is MongoDB?
• Why MongoDB?
• Who uses MongoDB?
• Where is MongoDB
found?
• Storage Engines
• Distributions
• Replication
• Backups
• Monitoring
• DBaaS
• Production
• Resources
4. Research Papers
• 1970 E.F. Codd paper “A Relational Model of Data for Large
Shared Data Banks”
• 2004 Google paper “MapReduce: Simplified Data Processing on
Large Clusters” -> Hadoop ~2008 “big data movement”
• 2006 Google paper “BigTable: A Distributed Storage System for
Structured Data” -> Cassandra/HBase/LevelDB ~2009
• 2007 Amazon paper “Dynamo: Amazon’s Highly Available Key-
value Store” -> Aerospike/Cassandra/Voldemort/Riak
• 2012 Google paper “Spanner: Google’s Globally-Distributed
Database” -> CockroachDB
5. What is MongoDB?
• Document oriented database
• data stored in documents, not tables/relations
• JSON
• JavaScript
• Flexible schema
• no downtime for field (column) changes or index
creation
6. Why MongoDB?
• “After three years it has become clear that in
terms of LinkedIn member profiles there is only
one trend: the total dominance of MongoDB.” -
Matt Aslett, 451 Group
• Agile development
• No additional caching layer required
• Built in replication with automatic failover +
sharding out of the box
7. Who uses MongoDB?
• Craigslist
• Facebook’s Parse
• Business Insider
• Foursquare
• Stripe
8. Where is MongoDB found?
• All manner of Linux distributions
• MongoDB repositories: http://repo.mongodb.org/
• Works on Little Endian only (SERVER-1625)
• Test databases (mongoimport)
• http://media.mongodb.org/zips.json
• https://docs.mongodb.com/getting-started/shell/import-data/
(primer-dataset.json restaurants)
• https://docs.mongodb.com/manual/reference/program/
10. Distributions of MongoDB
• MongoDB
• MongoDB Enterprise
• Percona Server for MongoDB
• MongoRocks, audit logging, SASL
authentication,
11. Replication
• Node: single mongod process
• Majority
• Replica set: group of nodes. HA via elections. All
members are equal by default + replicate to
each other asynchronously
• Oplog: capped collection, idempotent
12. Replication II
• Shard: replica sets are groups. Queries filtered
for data chunk holds
• Config servers: metadata for sharded clusters
16. Production Notes
• Configure mongod.conf!
• Follow through and you’ll be off to a good start
• https://docs.mongodb.com/manual/
administration/production-notes/
• https://docs.mongodb.com/manual/
administration/production-checklist/
17. There’s more
• Understanding aggregation framework
• Sizing and provisioning
• db.collection.stats(), .explain()
• GIS functionality
• Grants? There are roles in MongoDB!
• Percona Toolkit? mlogsummary, mongo-summary