Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Key Concepts:
- Origins and the broader MongoDB ecosystem
- Common use cases, advantages, and limitations
- Core architecture: instances, processes, and configuration structures
Practical Exercises:
- Interactive exploration: Establishing connections via Mongo Shell/CLI
- Creating a sample database and collection
Module 2: Installation and Initial Configuration (6h)
Key Concepts:
- Hardware and resource prerequisites
- Installation processes on Linux (deb/rpm), Windows, and macOS
- YAML configuration files (mongod.conf): defining dataDir, logDir, bindIp, and port
- Startup options and managing services via systemd
Practical Exercises:
- Deploying instances on local VMs or Docker containers
- Modifying configurations for development versus production environments
- Verifying secure remote connectivity
Module 3: Data Modeling and Basic Operations (5h)
Key Concepts:
- BSON documents, collections, and databases
- Data modeling strategies: embedding versus referencing; design patterns
- Basic index types (introduced in earlier sections)
- Executing operations via Mongo Shell and scripting with drivers
Practical Exercises:
- Modeling a use case: such as an inventory or billing system
- Implementing CRUD operations
- Applying schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Key Concepts:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Utilizing explain() and analyzing performance metrics
- Impact of indexes on write performance and memory usage
Practical Exercises:
- Creating collections populated with test data
- Testing queries with and without indexes; interpreting explain() output
- Optimizing indexes based on access patterns
Module 5: Security (5h)
Key Concepts:
- Authentication methods: SCRAM, LDAP/Kerberos (overview)
- Defining users and custom roles
- Implementing TLS/SSL between clients and servers
- At-rest encryption: key management
- Basic audit logging practices
Practical Exercises:
- Creating users with minimal necessary privileges
- Configuring TLS in local instances
- Testing unauthorized access attempts and reviewing audit logs
Module 6: Replication and High Availability (6h)
Key Concepts:
- Replication fundamentals: Primary, Secondary, and oplog
- Replica set configuration: initiation, membership, and arbitration
- Monitoring status and understanding elections
- Maintenance tasks: adding/removing members, reassigning priorities
Practical Exercises:
- Deploying a three-node replica set (locally or on VMs)
- Simulating primary failure and observing failover mechanisms
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Key Concepts:
- Sharding principles: shard key, config servers, mongos router
- Selecting shard keys and associated risks
- Deploying config servers, shards, and mongos routers
- Rebalancing and chunk migration processes
Practical Exercises:
- Configuring a basic sharded cluster
- Inserting large-scale data and observing distribution
- Exploring shard key changes and understanding their limitations
Module 8: Backup, Restore, and Disaster Recovery (4h)
Key Concepts:
- Native tools: mongodump/mongorestore, filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Basics of using Cloud Manager/Ops Manager for backups
- Disaster Recovery (DR) planning: defining RTO and RPO
Practical Exercises:
- Performing backup and restore operations on a test database
- Simulating failure and recovery from backup
- Designing a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Key Concepts:
- Monitoring tools: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integration with Prometheus and Grafana (concepts and examples)
- Key metrics: CPU, memory, I/O, oplog size, and latencies
- Alerts: defining thresholds and notification workflows
Practical Exercises:
- Deploying a local or container-based monitoring agent
- Setting up basic dashboards with sample metrics
- Simulating load and observing alert triggers
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Key Concepts:
- 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
Practical Exercises:
- 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 solid grasp of fundamental database concepts and data structures
- Proficiency with Linux command-line interfaces
- Foundational knowledge of networking principles and system administration
Target Audience
- Database administrators and system engineers managing MongoDB workloads
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments
- Developers seeking to understand 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.