Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- Historical context and the MongoDB ecosystem
- Typical use cases, advantages, and potential drawbacks
- Core architecture: instances, processes, and configuration mechanics
Practice:
- Interactive exploration: establishing connections via Mongo Shell/CLI
- Creating a sample database and collection
Module 2: Installation and Initial Configuration (6h)
Content:
- Hardware specifications and resource requirements
- Installation procedures on Linux (deb/rpm), Windows, and macOS
- YAML configuration files (mongod.conf): setting dataDir, logDir, bindIp, and port
- Startup parameters and management via systemd/services
Practice:
- Deploying instances on local virtual machines or Docker containers
- Tuning configurations for development versus production scenarios
- Validating secure remote connectivity
Module 3: Data Modeling and Basic Operations (5h)
Content:
- BSON documents, collections, and databases
- Modeling strategies: embedding vs. referencing; key data design patterns
- Foundations of basic indexes (introduced in prior context)
- Operations using the Mongo Shell and scripting examples with drivers
Practice:
- Modeling a specific use case, such as an inventory or billing system
- Implementing CRUD (Create, Read, Update, Delete) 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
- 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 observed access patterns
Module 5: Security (5h)
Content:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (overview)
- Defining users and custom roles
- Implementing TLS/SSL encryption between clients and servers
- Encryption at rest: key configuration strategies
- Basic audit logging practices
Practice:
- Creating users with least-privilege principles
- 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 the oplog
- Configuring replica sets: initiation, membership management, and arbitration
- Monitoring cluster status and election processes
- Maintenance tasks: adding/removing members and reassigning priorities
Practice:
- Deploying a three-node replica set (locally or via VMs)
- Simulating primary node failure to observe failover behavior
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding concepts: shard keys, config servers, and the mongos router
- Selecting shard keys and understanding associated risks
- Deploying config servers, shards, and mongos instances
- Rebalancing data and managing chunk migration
Practice:
- Setting up a basic sharded cluster
- Inserting large-scale datasets and monitoring distribution
- 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
- Basic usage of Cloud Manager/Ops Manager for backup automation
- Disaster Recovery (DR) planning: defining RTO and RPO
Practice:
- Executing backup and restore procedures on a test database
- Simulating system failure and recovering from backups
- Drafting a DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Content:
- Essential tools: mongostat, mongotop, and Cloud Manager/Atlas Monitoring
- Integration concepts and examples with Prometheus + Grafana
- Key performance indicators: CPU, memory, I/O, oplog size, and latencies
- Alerting strategies: defining thresholds and notification workflows
Practice:
- Deploying a local or container-based monitoring agent
- Setting up basic dashboards with sample metrics
- Simulating load spikes 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 verification
- Log review processes and regular security audits
- Automating routine tasks using scripts, cronjobs, Ansible, or Terraform
- Defining data retention and archiving policies
Practice:
- Simulating minor and major version upgrades in a controlled environment
- Writing automation scripts for backup and monitoring tasks
- Creating a periodic maintenance checklist
Summary and Next Steps
Requirements
- A solid grasp of fundamental 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 responsible for MongoDB workloads
- DevOps and infrastructure teams tasked with deploying and maintaining MongoDB environments
- Developers seeking to understand MongoDB internals and best practices for deployment
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.