Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- History and MongoDB ecosystem
 - Typical use cases, pros and cons
 - General architecture: instances, processes, and configuration
 
Practice:
- Interactive exploration: connecting with Mongo Shell/CLI
 - Creating a sample database and collection
 
Module 2: Installation and Initial Configuration (6h)
Content:
- 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
 
Practice:
- Deploying instances on local VMs or Docker containers
 - Adjusting configurations for development vs. production
 - Verifying secure remote connectivity
 
Module 3: Data Modeling and Basic Operations (5h)
Content:
- BSON documents, collections, databases
 - Modeling: embedding vs referencing; data design patterns
 - Basic indexes (introduced earlier)
 - Operations with Mongo Shell and scripting examples using drivers
 
Practice:
- Modeling a use case: inventory or billing system
 - Implementing CRUD operations
 - Schema validation using JSON Schema in MongoDB
 
Module 4: Indexes and Performance (4h)
Content:
- Simple, compound, multikey, text, and geospatial indexes
 - Using explain() and analyzing metrics
 - Index impact on write performance and memory
 
Practice:
- Creating collections with test data
 - Testing queries with and without indexes; interpreting explain()
 - Adjusting indexes based on access patterns
 
Module 5: Security (5h)
Content:
- 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
 
Practice:
- Creating users with minimal privileges
 - Configuring TLS in local instances
 - Verifying unauthorized access and reviewing audit logs
 
Module 6: Replication and High Availability (6h)
Content:
- Replication concepts: Primary, Secondary, oplog
 - Replica set configuration: initiation, membership, arbitration
 - Monitoring status and elections
 - Maintenance: adding/removing members, reassigning priorities
 
Practice:
- 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)
Content:
- Sharding concepts: 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 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)
Content:
- 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
 
Practice:
- 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)
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 alerts
 
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Content:
- 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
 
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
- An understanding of general database concepts and data structures
 - Familiarity with Linux command-line usage
 - Basic knowledge of networking and system administration
 
Audience
- Database administrators and system engineers working with MongoDB
 - DevOps and infrastructure teams deploying and maintaining MongoDB environments
 - Developers interested in MongoDB internals and deployment best practices
 
Testimonials (5)
Kamil did a great job. He asked questions to find out what we already knew and what we needed to focus on, and easily adapted the training to our needs.
Susanna - USAF
Course - MongoDB Advanced Administrator
The situation was atypical because an intensive training for developers was to be conducted with non-developers. Lukasz took up this challenge with empathy and a lot of humour. Through his intelligent and flexible manner, he was able to ensure that a concrete learning gain was achieved for everyone. I enjoyed this very much and would gladly take a seminar with Lukasz again.
Christoph - Honda Bank GmbH
Course - MERN Fullstack Development
The lab environment
Samer Roshdi - epic ltd
Course - MongoDB for Analysts
It was very flexible and adapted to our expectations and skill level.
Raul Alberto Canales Requena - Kiloo
Course - MongoDB for Advanced Users
I generally was benefit from the open mind and communication.