Top Banner
© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved. Introduction to MongoDB
18

SpringPeople Introduction to MongoDB Administration

Jan 15, 2015

Download

Education

SpringPeople

SpringPeople Introduction to MongoDB training is for Application Developers who are currently evaluating the use of MongoDB in their projects.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SpringPeople Introduction to MongoDB Administration

© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved.

Introduction to MongoDB

Page 2: SpringPeople Introduction to MongoDB Administration

© 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

Page 3: SpringPeople Introduction to MongoDB Administration

© SpringPeople Software Private Limited, All Rights Reserved.

Key Features - MongoDB

• The document data model

• Ad-hoc queries

• Secondary indexes

• Replication

• Speed & Durability

• Scaling

Page 4: SpringPeople Introduction to MongoDB Administration

© 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

Page 5: SpringPeople Introduction to MongoDB Administration

© 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

Page 6: SpringPeople Introduction to MongoDB Administration

© 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

Page 7: SpringPeople Introduction to MongoDB Administration

© 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

Page 8: SpringPeople Introduction to MongoDB Administration

© 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

Page 9: SpringPeople Introduction to MongoDB Administration

© 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

Page 10: SpringPeople Introduction to MongoDB Administration

© 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

Page 11: SpringPeople Introduction to MongoDB Administration

© 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

Page 12: SpringPeople Introduction to MongoDB Administration

© 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

Page 13: SpringPeople Introduction to MongoDB Administration

© 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

Page 14: SpringPeople Introduction to MongoDB Administration

© 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

Page 15: SpringPeople Introduction to MongoDB Administration

© SpringPeople Software Private Limited, All Rights Reserved.

Leftovers

• Production Checklist

• Write concern in replica sets

• Full Text Search

• Map/Reduce

• GridFS

Page 16: SpringPeople Introduction to MongoDB Administration

© 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

Page 17: SpringPeople Introduction to MongoDB Administration

© 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

Page 18: SpringPeople Introduction to MongoDB Administration

© SpringPeople Software Private Limited, All Rights Reserved.

For further info/assistance contact

[email protected] +91 80 65679700

www.springpeople.com

Certified Partner For