Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- Evolution and the MongoDB ecosystem
- Typical use cases, advantages, and limitations
- General architecture: instances, processes, and configuration management
Practice:
- Interactive exploration: establishing connections via Mongo Shell/CLI
- Creating a sample database and collection
Module 2: Installation and Initial Configuration (6h)
Content:
- Hardware specifications and resource requirements
- Installation procedures on Linux (deb/rpm), Windows, and macOS
- Configuring YAML files (mongod.conf): dataDir, logDir, bindIp, port
- Startup options and managing services via systemd/service tools
Practice:
- Deploying instances on local VMs or Docker containers
- Tuning configurations for development versus production environments
- Verifying secure remote connectivity
Module 3: Data Modeling and Basic Operations (5h)
Content:
- BSON documents, collections, and databases
- Modeling strategies: embedding vs. referencing; data design patterns
- Foundational indexes (introduced in earlier modules)
- Executing operations via Mongo Shell and scripting with drivers
Practice:
- Modeling a use case: inventory or billing system
- Implementing CRUD operations
- Applying schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Content:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Leveraging explain() and analyzing performance metrics
- Impact of indexes on write performance and memory usage
Practice:
- Populating collections with test data
- Comparing query performance with and without indexes; interpreting explain() output
- Optimizing indexes based on access patterns
Module 5: Security (5h)
Content:
- Authentication mechanisms: SCRAM, and an introduction to LDAP/Kerberos
- Defining users and custom roles
- Implementing TLS/SSL for secure client-server communication
- At-rest encryption: key configuration
- Basic audit logging practices
Practice:
- Creating users with minimal privilege sets
- Configuring TLS in local instances
- Testing unauthorized access attempts and reviewing audit logs
Module 6: Replication and High Availability (6h)
Content:
- Core replication concepts: Primary, Secondary, and oplog
- Configuring replica sets: initiation, membership, and arbitration
- Monitoring status and understanding election processes
- Maintenance tasks: adding/removing members and reassigning priorities
Practice:
- Deploying a three-node replica set (locally or via VMs)
- Simulating primary failure to observe failover mechanisms
- Rebuilding secondary nodes and recovering replica states
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding fundamentals: shard key, config servers, and mongos router
- Selecting shard keys and associated risk factors
- Deploying config servers, shards, and mongos instances
- Rebalancing strategies and chunk migration
Practice:
- Setting up a basic sharded cluster
- Ingesting large-scale data to observe distribution patterns
- Exploring shard key changes and understanding their limitations
Module 8: Backup, Restore, and Disaster Recovery (4h)
Content:
- Utilizing native tools: mongodump/mongorestore and filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Introduction to Cloud Manager/Ops Manager for backup management
- Disaster Recovery (DR) planning: RTO and RPO considerations
Practice:
- Executing backup and restore operations on a test database
- Simulating data loss and recovering from backups
- Designing a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Content:
- Essential tools: mongostat, mongotop, and Cloud Manager/Atlas Monitoring
- Concepts and examples of integrating Prometheus + Grafana
- Key performance metrics: CPU, memory, I/O, oplog size, and latencies
- Alerting: defining thresholds and setting up notifications
Practice:
- Deploying a local or container-based monitoring agent
- Configuring basic dashboards with sample metrics
- Simulating load conditions to trigger and observe alerts
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Content:
- Upgrade strategies for replica sets and sharded clusters
- Data cleanup, compaction, and integrity checks
- Regular log reviews and audits
- Automating routine tasks using scripts, cronjobs, Ansible, and Terraform
- Data retention and archiving policies
Practice:
- Performing minor and major upgrades in a controlled environment
- Developing automation scripts for backup and monitoring tasks
- Creating a periodic maintenance checklist
Summary and Next Steps
Requirements
- A solid grasp of fundamental database concepts and data structures
- Proficiency with Linux command-line interfaces
- Essential knowledge of networking principles and system administration
Target Audience
- Database administrators and system engineers specializing in MongoDB
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments
- Developers seeking to understand MongoDB internals and adhere to 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.