Course Overview:
Among the most popular and widely implemented NoSQL databases is MongoDB. Its scalability, robustness, and flexibility have made it extremely popular among the Fortune 500 and Global 500 companies who use it to implement a variety of activities including social communications, analytics, content management, archiving, and other activities.
Course Objectives:
- Why MongoDB is the perfect solution for database challenges
- How to perform MongoDB administration duties such as installation, configuration etc
- How to decide the types of queries to be used to ensure maximum resource utilization
- How to apply appropriate policies, procedures, configurations, backup and recovery tasks and security settings
Pre-requisites:
- Very good knowledge of one High-level programming language (Python/PHP/Ruby/JavaScript/Java)
- Comfortness in a Linux environment
- Experience of writing programs in a modern language (e.g. Perl, PHP, Python, Java, Javascript, Ruby)
- Knowledge of Databases and MVC Application Development
- Knowledge of JavaScript and JSON
Target Audience:
- Anyone who wants to add MongoDB Administration skills to their profile
- Teams getting started on MongoDB Administration projects
Course Duration:
- 3 Days
Course Content:
1. Overview – SQL\/NoSQL
- Datastore design considerations
- Relational v/s NoSQL stores
- Entities, Relationships and Database modeling
- When to use Relational/NoSQL?
- Categories of NoSQL stores
- Examples of NoSQL stores
2. Data Formats
- What are Data Formats?
- Difference between Data Formats and Data Structures
- Serializing and de-serializing data
- The JSON Data Format
- BSON Data Format
- Advantages of BSON
3. MongoDB Concepts
- Servers
- Connections
- Databases
- Collections
- Documents
- CRUD
- Indexes
4. Querying MongoDB
- Query Expression Objects
- Query Options
- Cursors
- Mongo Query Language
- Dot Notation
- Full-Text Search
5. MongoDB CRUD
- Insert (C)
- Simple Query Examples (R)
- Update (U)
- Remove (D)
6. Advanced querying
- Joins
- Server-side v/s Client-side querying
- Retrieving a subset of fields
- Conditional operators
- Aggregation
- Grouping
- Projections
- Cursor Methods
- MapReduce introduction
7. MongoDB Setup & Configuration
- Installation
- Basic configuration options
- Replication
- Master-Slave Replication
- Adding and Removing Sources
- Replica Sets
- Nodes in a Replica Set
- Using Slaves for Data Processing
- How It Works
- The Oplog
- Syncing
- Replication State and the Local Database
- Blocking for Replication
- Administration
- Diagnostics
- Changing the Oplog Size
- Replication with Authentication
8. Administration
- Starting and Stopping MongoDB
- Starting from the Command Line
- File-Based Configuration
- Stopping MongoDB
9. MongoDB through the JavaScript shell
- Diving into the MongoDB shell
- Creating and querying with indexes
10. Sharding
- Introduction to Sharding
- Auto sharding in MongoDB
- When to Shard
- The Key to Sharding: Shard Keys
- Sharding an Existing Collection
- Incrementing Shard Keys Versus Random Shard Keys
- How Shard Keys Affect Operations
- Setting Up Sharding
- Starting the Servers
- Sharding Data
- Production Configuration
- A Robust Config
- Many mongos
- A Sturdy Shard
- Physical Servers
- Sharding Administration
- config Collections Sharding Commands
11. Monitoring
- Using the Admin Interface
- serverStatus
- mongostat
- Third-Party Plug-Ins
12. Security and Authentication
- Authentication Basics
- How Authentication Works
- Other Security Considerations
13. Backup and Repair
- Data File Backup
- mongodump and mongorestore
- fsync and Lock
- Slave Backups
- Repair
- Document-oriented data
- Principles of schema design
- Designing an e-commerce data model
- Nuts and bolts: on databases, collections, and documents
14. Queries and aggregation
- E-commerce queries
- MongoDB???s query language
- Aggregating orders
- Aggregation in detail
15. Updates, atomic operations, and deletes
- A brief tour of document updates
- E-commerce updates
- Atomic document processing
- Nuts and bolts: MongoDB updates and deletes