Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Topics Covered:
- Evolution and the MongoDB ecosystem
- Typical use cases, advantages, and limitations
- Core architecture: instances, processes, and configuration
Practical Application:
- Interactive exploration: connecting via Mongo Shell/CLI
- Creating a sample database and collection
Module 2: Installation and Initial Configuration (6h)
Topics Covered:
- Hardware and resource requirements
- Installation procedures for Linux (deb/rpm), Windows, and macOS
- YAML configuration files (mongod.conf): dataDir, logDir, bindIp, port
- Startup options and systemd/service management
Practical Application:
- 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)
Topics Covered:
- BSON documents, collections, and databases
- Modeling strategies: embedding versus referencing; design patterns
- Basic indexes
- Operations via Mongo Shell and driver-based scripting
Practical Application:
- Modeling a specific use case: inventory or billing system
- Implementing CRUD operations
- Schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Topics Covered:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Utilizing explain() for metric analysis
- Impact of indexes on write performance and memory usage
Practical Application:
- Creating collections with test data
- Testing queries with and without indexes; interpreting explain() output
- Optimizing indexes based on access patterns
Module 5: Security (5h)
Topics Covered:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (overview)
- Defining users and custom roles
- TLS/SSL configuration between clients and servers
- Encryption at rest: key management
- Basic audit logging
Practical Application:
- Creating users with least-privilege access
- Configuring TLS in local instances
- Testing unauthorized access and reviewing audit logs
Module 6: Replication and High Availability (6h)
Topics Covered:
- Replication concepts: Primary, Secondary, oplog
- Replica set configuration: initiation, membership, and arbitration
- Monitoring status and election processes
- Maintenance tasks: adding/removing members and reassigning priorities
Practical Application:
- Deploying a three-node replica set (local or VM-based)
- Simulating primary failure and observing failover behavior
- Rebuilding secondary nodes and restoring replica consistency
Module 7: Sharding and Horizontal Scalability (6h)
Topics Covered:
- Sharding concepts: shard key, config servers, mongos router
- Shard key selection strategies and associated risks
- Deploying config servers, shards, and mongos instances
- Rebalancing and chunk migration
Practical Application:
- 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)
Topics Covered:
- Native tools: mongodump/mongorestore, filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Using Cloud Manager/Ops Manager for backup operations
- Disaster Recovery (DR) planning: defining RTO and RPO
Practical Application:
- Executing backup and restore operations on a test database
- Simulating failure scenarios and recovering from backups
- Designing a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Topics Covered:
- 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
- Alerting: defining thresholds and notification triggers
Practical Application:
- Deploying local or container-based monitoring agents
- Building basic dashboards with sample metrics
- Simulating load conditions and observing alert responses
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Topics Covered:
- Upgrade strategies for replica sets and sharded clusters
- Data cleanup, compaction, and integrity checks
- Log review and regular auditing practices
- Automating routine tasks using scripts, cronjobs, Ansible, or Terraform
- Data retention and archiving policies
Practical Application:
- 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
- Fundamental understanding of database concepts and data structures
- Proficiency with the Linux command line
- Essential knowledge of networking and system administration
Target Audience
- Database administrators and system engineers managing MongoDB
- DevOps and infrastructure teams responsible for MongoDB deployment and maintenance
- 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.