Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Key Topics:
- History 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)
Key Topics:
- 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
Practical Application:
- Deploying instances on local VMs or Docker containers
- Tailoring configurations for development vs. production environments
- Verifying secure remote connectivity
Module 3: Data Modeling and Basic Operations (5h)
Key Topics:
- BSON documents, collections, and databases
- Modeling strategies: embedding vs. referencing; data design patterns
- Basic indexes (introduced earlier)
- Operations via Mongo Shell and scripting examples using drivers
Practical Application:
- Modeling a use case: inventory or billing system
- Implementing CRUD operations
- Schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Key Topics:
- Simple, compound, multikey, text, and geospatial indexes
- Using explain() and analyzing performance metrics
- Index impact on write performance and memory usage
Practical Application:
- Creating collections with test data
- Testing queries with and without indexes; interpreting explain()
- Adjusting indexes based on access patterns
Module 5: Security (5h)
Key Topics:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (intro)
- Defining users and custom roles
- TLS/SSL between clients and servers
- At-rest encryption: key configuration
- Basic audit logging
Practical Application:
- Creating users with minimal privileges
- Configuring TLS in local instances
- Verifying unauthorized access attempts and reviewing audit logs
Module 6: Replication and High Availability (6h)
Key Topics:
- Replication concepts: Primary, Secondary, oplog
- Replica set configuration: initiation, membership, arbitration
- Monitoring status and elections
- Maintenance: adding/removing members, reassigning priorities
Practical Application:
- Deploying a three-node replica set (local or VMs)
- Simulating primary failure and observing failover
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Key Topics:
- Sharding concepts: shard key, config servers, mongos router
- Shard key selection and associated risks
- Deploying config servers, shards, and mongos
- Rebalancing and chunk migration
Practical Application:
- Configuring a simple sharded cluster
- Inserting large-scale data and observing distribution
- Introducing shard key changes and understanding limitations
Module 8: Backup, Restore, and Disaster Recovery (4h)
Key Topics:
- Native tools: mongodump/mongorestore, filesystem snapshots
- Backups in replica sets and sharded clusters
- Basic use of Cloud Manager/Ops Manager for backup
- Disaster Recovery (DR) planning: RTO, RPO
Practical Application:
- Performing backup and restore on a test database
- Simulating failure and recovery from backup
- Designing a DR plan for a hypothetical case
Module 9: Monitoring and Alerts (4h)
Key Topics:
- 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
Practical Application:
- Deploying a local or container-based monitoring agent
- Setting up basic dashboards with sample metrics
- Simulating load and observing alerts
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Key Topics:
- Upgrade strategies for replica sets and sharded clusters
- Data cleanup, compaction, integrity checks
- Reviewing logs and regular audits
- Automating routine tasks (scripts, cronjobs, Ansible, 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
- A solid grasp of general database concepts and data structures
- Proficiency in using the Linux command line
- Foundational knowledge of networking and system administration
Target Audience
- Database administrators and system engineers working with MongoDB
- DevOps and infrastructure teams responsible for deploying and maintaining 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.