Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- Historical context and the MongoDB ecosystem
- Common use cases, advantages, and limitations
- Foundational architecture: instances, processes, and configuration
Practice:
- Interactive exploration: connecting via Mongo Shell/CLI
- Creating sample databases and collections
Module 2: Installation and Initial Configuration (6h)
Content:
- Hardware and resource prerequisites
- Installation on Linux (deb/rpm), Windows, and macOS
- YAML configuration files (mongod.conf): dataDir, logDir, bindIp, port
- Startup parameters and systemd/service management
Practice:
- Deploying instances on local virtual machines or Docker containers
- Tuning configurations for development versus production environments
- Validating secure remote connectivity
Module 3: Data Modeling and Basic Operations (5h)
Content:
- BSON documents, collections, and databases
- Modeling strategies: embedding versus referencing; data design patterns
- Introduction to basic indexes
- Operations via Mongo Shell and driver-based scripting examples
Practice:
- Designing a use case: inventory or billing system
- Implementing CRUD operations
- Schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Content:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Utilizing explain() and interpreting performance metrics
- The impact of indexes on write performance and memory usage
Practice:
- Populating collections with test data
- Testing queries with and without indexes; analyzing explain() output
- Refining indexes based on observed access patterns
Module 5: Security (5h)
Content:
- Authentication methods: SCRAM, LDAP/Kerberos (overview)
- Defining users and custom roles
- TLS/SSL encryption between clients and servers
- At-rest encryption: key management
- Foundational audit logging
Practice:
- Creating users with minimal necessary privileges
- Configuring TLS in local instances
- Testing for unauthorized access and reviewing audit logs
Module 6: Replication and High Availability (6h)
Content:
- Replication fundamentals: Primary, Secondary, oplog
- Replica set configuration: initialization, membership, and arbitration
- Monitoring status and election processes
- Maintenance tasks: adding/removing members, adjusting priorities
Practice:
- Deploying a three-node replica set (locally or via VMs)
- Simulating primary failure and observing failover
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding fundamentals: shard key, config servers, mongos router
- Shard key selection and associated risks
- Deploying config servers, shards, and mongos
- Rebalancing and chunk migration
Practice:
- Configuring a basic sharded cluster
- Inserting large-scale data and observing distribution
- Exploring shard key modifications and understanding constraints
Module 8: Backup, Restore, and Disaster Recovery (4h)
Content:
- Native tools: mongodump/mongorestore, filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Utilizing Cloud Manager/Ops Manager for backups
- Disaster Recovery (DR) planning: RTO, RPO
Practice:
- 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)
Content:
- Tools: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integration with Prometheus + Grafana (concepts and examples)
- Key metrics: CPU, memory, I/O, oplog size, latencies
- Alerts: defining thresholds and notifications
Practice:
- 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)
Content:
- Upgrade strategies for replica sets and sharded clusters
- Data cleanup, compaction, and integrity checks
- Log review and 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 grasp of general database concepts and data structures
- Proficiency with the Linux command-line interface
- Fundamental knowledge of networking and system administration
Target Audience
- Database administrators and system engineers responsible for MongoDB
- DevOps and infrastructure teams involved in deploying and managing 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.