springpeople introduction to mongodb administration
DESCRIPTION
SpringPeople Introduction to MongoDB training is for Application Developers who are currently evaluating the use of MongoDB in their projects.TRANSCRIPT
© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved.
Introduction to MongoDB
© SpringPeople Software Private Limited, All Rights Reserved.
What is MongoDB?
• MongoDB is a NoSQL store - NoSQL revolution happened to solve the many issues faced with storing web-scale data in relational databases
• It doesn't use SQL to store and retrieve data
• Widely adopted in web applications these days
• No clear winner and therefore difficult to choose among alternatives
© SpringPeople Software Private Limited, All Rights Reserved.
Key Features - MongoDB
• The document data model
• Ad-hoc queries
• Secondary indexes
• Replication
• Speed & Durability
• Scaling
© SpringPeople Software Private Limited, All Rights Reserved.
MongoDB Concepts Database • A single MongoDB server can have many databases
Collections • Collections are a group of Documents (sort of like RDBMS tables)
Documents • A record in a MongoDB collection with a maximum size of 16MB
Fields • One name-value pair in a document & is analogous to columns in a relational
database
© SpringPeople Software Private Limited, All Rights Reserved.
MongoDB – Hands-On
Use-Cases
• Blog posts and Comments
• E-commerce data – Products and categories
– Users and their orders
– Reviews of products
• LinkedIn Profile Analysis – A person and his/her education and experience
© SpringPeople Software Private Limited, All Rights Reserved.
Hands-On – CUD of CRUD
• LinkedIn case study – JSON document for Profile
• C of CRUD – Insert documents
– Get, Change, Save
• U of CRUD – Update a document
– Update multiple documents
• D of CRUD – Remove
– Drop
© SpringPeople Software Private Limited, All Rights Reserved.
Hands-On – R of CRUD
• Find documents – Find all documents - find
– Find a single document - findOne
– Specify a condition
– Specify multiple conditions
– Specifying conditions on sub-documents
© SpringPeople Software Private Limited, All Rights Reserved.
Indexing
• Understanding the need for indexing
• The explain
• Creating an index
• Creating an index with a unique field
• Indexes with multiple fields (compound indexes)
• Hashed Indexes
• Sparsed Indexes
• Removing an index
• Displaying all indexes
• Indexes that support covered queries
© SpringPeople Software Private Limited, All Rights Reserved.
Replication
Why Replication?
• Redundancy
• Fail-over
• Maintenance
• Load Balancing
Replication Setups
• Master/Slave Replication
• Replica Set Setup
• Arbiter
• Finding status via rs.status() on Primary
• Fail-over
© SpringPeople Software Private Limited, All Rights Reserved.
Replication – Oplogs and Heartbeat
• Oplog
– Capped Collections that is present in a database called local on every replicating node
– Location: Database: local, Collection: oplog.rs
– Changing the oplog size (via mongod config)
• Heartbeat
– A 2-second ping with other members that helps the replica set determine if a node has gone down
© SpringPeople Software Private Limited, All Rights Reserved.
Authentication
• Adding the admin user
• Adding individual users
• Starting the server with auth enabled
• Using authentication
• Replica sets and authentication
© SpringPeople Software Private Limited, All Rights Reserved.
Sharding
• Idea of sharding
• How is sharding different from replication?
• The different servers involved – Shards
– Routers
– Config Servers
• Sharding without replication
• Sharding with replication
• Sharding with security enabled
• Bad shard keys
• Choosing ideal shard keys
© SpringPeople Software Private Limited, All Rights Reserved.
Backup, Repair, Import, Export
• Backing up the data directory
• Issue with backing up the data directory
• Using fsync and lock
• mongodump
• mongorestore
• Bsondump
• mongoimport
• mongoexport
© SpringPeople Software Private Limited, All Rights Reserved.
Monitoring
Admin UI
• Getting database information via the UI
• HTTP REST based interface
Monitoring
• serverStatus
• dbStats
• collStats
• mongostat
• mongotop
• mongosniff
© SpringPeople Software Private Limited, All Rights Reserved.
Leftovers
• Production Checklist
• Write concern in replica sets
• Full Text Search
• Map/Reduce
• GridFS
© SpringPeople Software Private Limited, All Rights Reserved.
Become a MongoDB Expert In 3 Days Flat
Attend the 3-Days “MongoDB Administration Workshop”
View Complete Details
© SpringPeople Software Private Limited, All Rights Reserved.
Who will benefit?
Application Developers who are currently evaluating the use of MongoDB in
their projects
View Complete Details
© SpringPeople Software Private Limited, All Rights Reserved.
For further info/assistance contact
[email protected] +91 80 65679700
www.springpeople.com
Certified Partner For