Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Key Topics:
- Evolution of MongoDB and its ecosystem
- Common use cases, along with advantages and limitations
- Core architecture: understanding instances, processes, and configuration
Practical Exercises:
- 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 prerequisites
- Installation procedures for Linux (deb/rpm), Windows, and macOS
- Configuring YAML files (mongod.conf): dataDir, logDir, bindIp, port
- Managing startup options and services via systemd/service management
Practical Exercises:
- 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)
Key Topics:
- Understanding BSON documents, collections, and databases
- Data modelling strategies: embedding vs referencing; design patterns
- Overview of basic indexes (introduced in prior contexts)
- Performing operations using Mongo Shell and scripting with drivers
Practical Exercises:
- Modelling a practical use case, such as an inventory or billing system
- Implementing CRUD operations
- Applying schema validation using JSON Schema in MongoDB
Module 4: Indexes and Performance (4h)
Key Topics:
- Types of indexes: simple, compound, multikey, text, and geospatial
- Leveraging explain() for query analysis and metric interpretation
- Impact of indexes on write performance and memory usage
Practical Exercises:
- Creating collections populated with test data
- Testing queries with and without indexes; analysing explain() output
- Optimising indexes based on observed access patterns
Module 5: Security (5h)
Key Topics:
- Authentication mechanisms: SCRAM, and an introduction to LDAP/Kerberos
- Defining users and custom roles
- Securing communication between clients and servers using TLS/SSL
- Implementing at-rest encryption: key configuration
- Setting up basic audit logging
Practical Exercises:
- Creating users with 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)
Key Topics:
- Replication fundamentals: Primary, Secondary, and oplog concepts
- Configuring replica sets: initiation, membership management, and arbitration
- Monitoring replication status and election processes
- Maintenance tasks: adding/removing members and reassigning priorities
Practical Exercises:
- Deploying a three-node replica set (locally or on VMs)
- Simulating primary failure and observing automatic failover
- Rebuilding secondary nodes and recovering replicas
Module 7: Sharding and Horizontal Scalability (6h)
Key Topics:
- Sharding fundamentals: shard keys, config servers, and the mongos router
- Selecting optimal shard keys and understanding associated risks
- Deploying config servers, shards, and mongos instances
- Managing rebalancing and chunk migration
Practical Exercises:
- Configuring a simple sharded cluster
- Inserting large-scale data to observe distribution patterns
- Exploring the implications of shard key changes and understanding their limitations
Module 8: Backup, Restore, and Disaster Recovery (4h)
Key Topics:
- Utilising native tools: mongodump/mongorestore and filesystem snapshots
- Backup strategies for replica sets and sharded clusters
- Using Cloud Manager/Ops Manager for automated backups
- Disaster Recovery (DR) planning: defining RTO and RPO
Practical Exercises:
- Executing backup and restore procedures on a test database
- Simulating data loss and performing recovery from backup
- Designing a comprehensive DR plan for a hypothetical scenario
Module 9: Monitoring and Alerts (4h)
Key Topics:
- Essential tools: mongostat, mongotop, and Cloud Manager/Atlas Monitoring
- Integrating with Prometheus + Grafana (concepts and practical examples)
- Tracking key metrics: CPU, memory, I/O, oplog size, and latencies
- Setting up alerts: defining thresholds and notification workflows
Practical Exercises:
- Deploying a local or container-based monitoring agent
- Creating basic dashboards with representative metrics
- Simulating load to trigger and observe alerts
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Key Topics:
- Upgrade strategies for replica sets and sharded clusters
- Data management: cleanup, compaction, and integrity checks
- Regular log reviews and audit practices
- Automating routine tasks using scripts, cronjobs, Ansible, and Terraform
- Establishing data retention and archiving policies
Practical Exercises:
- Simulating minor and major upgrades in a controlled environment
- Developing automation scripts for backups and monitoring
- Creating a recurring maintenance checklist
Summary and Next Steps
Requirements
- A solid grasp of general 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 environments
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB stacks
- Developers seeking to understand 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.