Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- History and the MongoDB ecosystem
- Typical use cases, including advantages and limitations
- General architecture: instances, processes, and configuration
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 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
- Tailoring 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
- Basic indexes (introduced in earlier modules)
- Operations using Mongo Shell and scripting examples with drivers
Practice:
- 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)
Content:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Using explain() and analyzing performance metrics
- The impact of indexes on write performance and memory usage
Practice:
- Creating collections populated with test data
- Testing queries with and without indexes; interpreting explain() output
- Optimizing indexes based on specific access patterns
Module 5: Security (5h)
Content:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (introductory)
- Defining users and custom roles
- TLS/SSL configuration between clients and servers
- At-rest encryption: key configuration
- Basic audit logging
Practice:
- Creating users with the principle of least privilege
- Configuring TLS on local instances
- Testing unauthorized access attempts and reviewing audit logs
Module 6: Replication and High Availability (6h)
Content:
- Replication concepts: Primary, Secondary, and oplog
- Replica set configuration: initiation, membership, and arbitration
- Monitoring status and observing elections
- Maintenance tasks: adding/removing members, reassigning priorities
Practice:
- Deploying a three-node replica set (locally or on VMs)
- Simulating primary failure and observing the failover process
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding concepts: shard key, config servers, and mongos router
- Shard key selection and associated risks
- Deploying config servers, shards, and mongos instances
- Rebalancing and chunk migration
Practice:
- Configuring a simple 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)
Content:
- Native tools: mongodump/mongorestore and filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Basic use of Cloud Manager/Ops Manager for backup management
- Disaster Recovery (DR) planning: RTO and RPO definitions
Practice:
- Performing backup and restore operations on a test database
- Simulating failure and executing recovery from backup
- Designing a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Content:
- Tools: mongostat, mongotop, and 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 setting up notifications
Practice:
- Deploying a local or container-based monitoring agent
- Setting up basic dashboards with sample metrics
- Simulating load conditions and observing alert triggers
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 solid understanding of general database concepts and data structures
- Familiarity with Linux command-line operations
- Basic knowledge of networking principles and system administration
Audience
- Database administrators and system engineers working with MongoDB
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments
- Developers interested in understanding 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.