Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- History and the MongoDB ecosystem
- Common use cases, advantages, and limitations
- Core architecture: instances, processes, and configuration settings
Practice:
- Interactive exploration: connecting via Mongo Shell/CLI
- Creating a sample database and collection
Module 2: Installation and Initial Configuration (6h)
Content:
- Hardware and resource requirements
- Installation procedures on Linux (deb/rpm), Windows, and macOS
- YAML configuration files (mongod.conf): dataDir, logDir, bindIp, port
- Startup options and systemd/service management
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
- Data modeling strategies: embedding versus referencing; design patterns
- Introduction to basic indexes
- Executing operations with Mongo Shell and scripting examples using drivers
Practice:
- Modeling a practical use case: inventory or billing system
- Implementing CRUD operations
- Applying schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Content:
- Simple, compound, multikey, text, and geospatial indexes
- Utilizing explain() to analyze query metrics
- Impact of indexes on write performance and memory usage
Practice:
- Creating collections with test data
- Evaluating queries with and without indexes; interpreting explain() output
- Optimizing indexes based on access patterns
Module 5: Security (5h)
Content:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (introduction)
- Defining users and custom roles
- TLS/SSL encryption between clients and servers
- Encryption at rest: key configuration
- Basic audit logging
Practice:
- Creating users with minimal required privileges
- Configuring TLS for local instances
- Verifying unauthorized access attempts and reviewing audit logs
Module 6: Replication and High Availability (6h)
Content:
- Replication concepts: Primary, Secondary, and oplog
- Replica set configuration: initialization, membership, and arbitration
- Monitoring status and election processes
- Maintenance tasks: adding/removing members and assigning priorities
Practice:
- Deploying a three-node replica set (locally or via VMs)
- Simulating primary node failure and observing failover behavior
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding concepts: shard key, config servers, and mongos router
- Selecting shard keys and understanding associated risks
- Deploying config servers, shards, and mongos
- Rebalancing and chunk migration
Practice:
- Configuring a simple sharded cluster
- Inserting large-scale data and observing data distribution
- Modifying shard keys and understanding limitations
Module 8: Backup, Restore, and Disaster Recovery (4h)
Content:
- Native tools: mongodump/mongorestore, filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Basic use of Cloud Manager/Ops Manager for backups
- Disaster Recovery (DR) planning: RTO and RPO
Practice:
- Executing backup and restore operations on a test database
- Simulating failures and recovering from backups
- Designing a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Content:
- Tools: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integration with Prometheus + Grafana (concepts and examples)
- Key metrics: CPU, memory, I/O, oplog size, and latencies
- Alerts: defining thresholds and notification settings
Practice:
- Deploying a local or container-based monitoring agent
- Setting up basic dashboards with sample metrics
- Simulating load conditions and observing alert responses
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Content:
- Upgrade strategies for replica sets and sharded clusters
- Data cleanup, compaction, and integrity checks
- Reviewing logs and conducting regular audits
- Automating routine tasks (scripts, cronjobs, Ansible, Terraform)
- Data retention and archiving policies
Practice:
- Simulating minor and major upgrades in a controlled environment
- Creating automation scripts for backup and monitoring
- Developing a periodic maintenance checklist
Summary and Next Steps
Requirements
- A foundational understanding of database concepts and data structures
- Proficiency with the Linux command-line interface
- Basic knowledge of networking and system administration
Audience
- Database administrators and system engineers utilizing MongoDB
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments
- Developers seeking deeper 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.