Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- Evolution of MongoDB and its ecosystem
- Typical use cases, advantages, and limitations
- Core architecture: instances, processes, and configuration management
Practice:
- Interactive exploration: establishing connections via Mongo Shell/CLI
- Creating sample databases and collections
Module 2: Installation and Initial Configuration (6h)
Content:
- Hardware and resource prerequisites
- Installation procedures on Linux (deb/rpm), Windows, and macOS
- YAML configuration files (mongod.conf): dataDir, logDir, bindIp, and port settings
- Startup options and managing services via systemd
Practice:
- Deploying instances on local VMs or Docker containers
- Tailoring configurations for development versus production environments
- Validating secure remote connectivity
Module 3: Data Modeling and Basic Operations (5h)
Content:
- BSON documents, collections, and database structures
- Modeling strategies: embedding versus referencing, and common data design patterns
- Overview of basic indexes (introduced previously)
- Operations via Mongo Shell and scripting examples using drivers
Practice:
- Modeling a specific use case, such as an inventory or billing system
- Implementing standard 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
- Utilizing explain() for query analysis and metric interpretation
- Evaluating the impact of indexes on write performance and memory usage
Practice:
- Populating collections with test data
- Benchmarking queries with and without indexes; analyzing explain() output
- Optimizing index strategies based on access patterns
Module 5: Security (5h)
Content:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (introduction)
- Defining users and custom roles
- Implementing TLS/SSL encryption between clients and servers
- At-rest encryption: key management and configuration
- Basic audit logging implementation
Practice:
- Creating users adhering to 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 fundamentals: Primary, Secondary nodes, and oplog
- Replica set configuration: initiation, membership management, and arbitration
- Monitoring cluster status and election processes
- Maintenance operations: adding/removing members and adjusting priorities
Practice:
- Deploying a three-node replica set (local or VM-based)
- Simulating primary node failure and observing failover behavior
- Rebuilding secondary nodes and recovering replica data
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding fundamentals: shard key, config servers, and mongos router
- Shard key selection strategies and associated risks
- Deploying config servers, shards, and mongos instances
- Rebalancing operations and chunk migration
Practice:
- Configuring a basic sharded cluster
- Ingesting large-scale data to observe distribution patterns
- Exploring shard key modifications 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
- Utilizing Cloud Manager/Ops Manager for automated backups
- Disaster Recovery (DR) planning: defining RTO and RPO
Practice:
- Executing backup and restore operations on a test database
- Simulating failures and recovering data from backups
- Developing a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Content:
- Diagnostic tools: mongostat, mongotop, and Cloud Manager/Atlas Monitoring
- Integration concepts and examples with Prometheus + Grafana
- Key performance metrics: CPU, memory, I/O, oplog size, and latencies
- Alert management: setting thresholds and configuring notifications
Practice:
- Deploying local or container-based monitoring agents
- Configuring basic dashboards with sample metrics
- Simulating load scenarios and observing alert triggers
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Content:
- Upgrade strategies for replica sets and sharded clusters
- Data management: cleanup, compaction, and integrity checks
- Log review and regular auditing practices
- Automating routine tasks using scripts, cronjobs, Ansible, or Terraform
- Establishing data retention and archiving policies
Practice:
- Simulating minor and major upgrades in a controlled environment
- Developing automation scripts for backup and monitoring workflows
- Creating 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 and system administration
Target Audience
- Database administrators and system engineers managing MongoDB
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments
- Developers seeking to understand MongoDB internals and adoption 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.