Course Outline
Module 1: Introduction and MongoDB Architecture (4 hours)
Content:
- Overview of MongoDB's history and ecosystem
- Common use cases, advantages, and limitations
- Core architecture components: instances, processes, and configuration
Practice:
- Interactive exploration: connecting via Mongo Shell and CLI
- Creating sample databases and collections
Module 2: Installation and Initial Configuration (6 hours)
Content:
- Hardware and resource requirements
- Installation procedures for Linux (deb/rpm), Windows, and macOS
- Understanding YAML configuration files (mongod.conf): dataDir, logDir, bindIp, port
- Startup options and system service management (systemd)
Practice:
- Deploying instances on local virtual machines or Docker containers
- Tuning configurations for development versus production environments
- Verifying secure remote connectivity
Module 3: Data Modeling and Basic Operations (5 hours)
Content:
- Understanding BSON documents, collections, and databases
- Data modeling strategies: embedding vs. referencing; design patterns
- Introduction to basic indexing
- Executing operations using Mongo Shell and scripting with drivers
Practice:
- Modeling a real-world scenario: inventory or billing system
- Implementing CRUD operations
- Enforcing schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance Optimization (4 hours)
Content:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Utilizing the explain() function to analyze query performance
- Impact of indexing on write performance and memory usage
Practice:
- Creating collections populated with test data
- Comparing query performance with and without indexes; interpreting explain() output
- Optimizing indexes based on access patterns
Module 5: Security (5 hours)
Content:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (introduction)
- Defining users and custom roles
- Implementing TLS/SSL for client-server communication
- Configuring encryption for data at rest
- Overview of basic audit logging
Practice:
- Creating users with least-privilege permissions
- Configuring TLS for local instances
- Verifying security by attempting unauthorized access and reviewing audit logs
Module 6: Replication and High Availability (6 hours)
Content:
- Replication fundamentals: Primary, Secondary nodes, and oplog
- Configuring replica sets: initiation, membership, and arbitration
- Monitoring cluster status and election processes
- Maintenance tasks: adding/removing members, adjusting priorities
Practice:
- Deploying a three-node replica set (locally or via VMs)
- Simulating primary node failure to observe failover mechanisms
- Rebuilding secondary nodes and recovering replica data
Module 7: Sharding and Horizontal Scalability (6 hours)
Content:
- Sharding fundamentals: shard key, config servers, and mongos router
- Selecting shard keys and associated risks
- Deploying config servers, shards, and mongos instances
- Managing data rebalancing and chunk migration
Practice:
- Configuring a simple sharded cluster
- Inserting large-scale data to observe distribution patterns
- Exploring shard key modifications and understanding limitations
Module 8: Backup, Restore, and Disaster Recovery (4 hours)
Content:
- Native tools: mongodump/mongorestore, filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Utilizing Cloud Manager/Ops Manager for backup operations
- Disaster Recovery (DR) planning: defining RTO and RPO
Practice:
- Executing backup and restore operations on a test database
- Simulating failure scenarios and recovering from backups
- Designing a DR plan for a hypothetical business case
Module 9: Monitoring and Alerts (4 hours)
Content:
- Monitoring tools: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integration concepts and examples with Prometheus and Grafana
- Key metrics to track: CPU, memory, I/O, oplog size, and latencies
- Setting up alerts: defining thresholds and notification channels
Practice:
- Deploying monitoring agents locally or in containers
- Constructing basic dashboards with sample metrics
- Simulating workload stress and observing alert responses
Module 10: Maintenance, Upgrades, and Best Practices (4 hours)
Content:
- Upgrade strategies for replica sets and sharded clusters
- Data cleanup, compaction, and integrity checks
- Reviewing logs and conducting regular audits
- Automating routine tasks using scripts, cron jobs, Ansible, and Terraform
- Data retention and archiving policies
Practice:
- Simulating minor and major upgrades in a controlled environment
- Writing automation scripts for backup and monitoring
- Developing a periodic maintenance checklist
Summary and Next Steps
Requirements
- Foundational understanding of general database concepts and data structures
- Proficiency with Linux command-line operations
- Basic knowledge of networking principles and system administration
Target Audience
- Database administrators and system engineers managing MongoDB infrastructure
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments
- Developers seeking insights into MongoDB internals and deployment best practices
Testimonials (2)
The pace of talking and explanation.
Marko Skokovic - PWO by Lottomatica Serbia
Course - MongoDB for Administrators
Sir Jose is cool and explains every detail of the commands. We appreciate the time he takes to share his knowledge with us, and it truly shows that he is an expert in this field.