Course Content
Introduction to MongoDB – Architecture and Installation
- Understanding the basic concepts of a Database
- Database categories: What is NoSQL? Why NoSQL? Benefit over RDBMS
- Types of NoSQL Database, and NoSQL vs. SQL Comparison, ACID & Base Property
- CAP Theorem, implementing NoSQL and what is MongoDB?
- Overview of MongoDB, Design Goals for MongoDB Server and Database, MongoDB tools
- Understanding the following: Collection, Documents and Key/ Values, etc.
- Introduction to JSON and BSON documents
- Environment setup (live Hands-on) and using various MongoDB tools available in the MongoDB Package
Schema Design and Data Modelling
- Data Modelling Concepts
- Why Data Modelling? Data Modelling Approach
- Analogy between RDBMS & MongoDB Data Model, MongoDB Data Model (Embedding & Linking)
- Challenges for Data Modelling in MongoDB
- Data Model Examples and Patterns
- Model Relationships between Documents
- Model Tree Structures
- Model Specific Application Contexts
- Use Case discussion of Data modeling
CRUD Operations
- MongoDB Development Architecture
- MongoDB Production Architecture
- MongoDB CRUD Introduction, MongoDB CRUD Concepts
- MongoDB CRUD Concerns (Read & Write Operations)
- Concern Levels, Journaling, etc.
- Cursor Query Optimizations, Query Behavior in MongoDB
- Distributed Read & Write Queries
- MongoDB Datatypes
- MongoDB CRUD Syntax & Queries
Indexing and Aggregation Framework
- Index Introduction, Index Concepts, Index Types, Index Properties
- Index Creation and Indexing Reference
- Introduction to Aggregation
- Approach to Aggregation
- Types of Aggregation (Pipeline, MapReduce & Single Purpose)
- Performance Tuning
MongoDB Administration
- Administration concepts in MongoDB
- Monitoring issues related to Database
- Monitoring at Server, Database, Collection level, and various Monitoring tools related to MongoDB
- Database Profiling, Locks, Memory Usage, No of connections, page fault etc.
- Backup and Recovery Methods for MongoDB
- Export and Import of Data to and from MongoDB
- Run time configuration of MongoDB
- Production notes/ best practices
- Data Managements in MongoDB (Capped Collections/ Expired data from TTL),
Scalability and Availability
- Introduction to Replication (High Availability)
- Concepts around Replication
- What is Replica Set and Master Slave Replication?
- Type of Replication in MongoDB
- How to setup a replicated cluster & managing replica sets etc.
- Introduction to Sharding (Horizontal Scaling)
- Concepts around Sharding, what is shards
- Config Server, Query Router etc.
- How to setup a Sharding
- Type of Sharding (Hash Based, Range Based etc.), and Managing Shards
MongoDB Security
- Security Introduction
- Security Concepts
- Integration of MongoDB with Jaspersoft
- Integration of MongoDB with Pentaho
- Integration of MongoDB with Hadoop/Hive
- Integration of MongoDB with Java
- Integration of MongoDB with GUI Tool Robomongo
- Case Study MongoDB and Java
Application Engineering and MongoDB Tools
- MongoDB Package Components
- Configuration File Options
- MongoDB Limits and Thresholds
- Connection String URI Format/ Integration of any compatible tool with MongoDB API and Drivers for MongoDB
- MMS (MongoDB Monitoring Service)
- HTTP and Rest Interface
- Integration of MongoDB with Hadoop and Data Migration MongoDB with Hadoop (MongoDB to Hive)
- Integration with R
MongoDB on the Cloud
- Overview of MongoDB Cloud products
- Using Cloud Manager to monitor MongoDB deployments
- Introduction to MongoDB Stitch
- MongoDB Cloud Atlas
- MongoDB Cloud Manager
- Working with MongoDB Ops Manager
Diagnostics and Fixes
- Overview of tools
- MongoDB Diagnostic Tools
- Diagnostics Commands
- MongoDB Deployment
- Setup & Configuration, Scalability, Management & Security
- Slow Queries
- Connectivity