Course Outline
Module 1: Introduction and MongoDB Architecture (4h)
Content:
- History of MongoDB and its ecosystem.
- Common use cases, advantages, and limitations.
- Core architecture: instances, processes, and configuration.
Practice:
- Interactive exploration: connecting via Mongo Shell/CLI.
- Creating a sample database and collection.
Module 2: Installation and Initial Configuration (6h)
Content:
- Hardware and resource requirements.
- Installation procedures on Linux (deb/rpm), Windows, and macOS.
- Understanding 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 versus production environments.
- Verifying secure remote connectivity.
Module 3: Data Modeling and Basic Operations (5h)
Content:
- BSON documents, collections, and databases.
- Data modeling: embedding versus referencing; data design patterns.
- Overview of basic indexes.
- Executing operations with Mongo Shell and scripting examples using drivers.
Practice:
- Modeling a 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)
Content:
- Types of indexes: simple, compound, multikey, text, and geospatial.
- Utilizing explain() and analyzing performance metrics.
- The 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 access patterns.
Module 5: Security (5h)
Content:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (introduction).
- Creating users and defining custom roles.
- Implementing TLS/SSL for client-server communication.
- Encryption at rest: key configuration.
- Introduction to audit logging.
Practice:
- Creating users with minimal necessary privileges.
- Configuring TLS for local instances.
- Verifying unauthorized access attempts and reviewing audit logs.
Module 6: Replication and High Availability (6h)
Content:
- Replication concepts: Primary, Secondary, and oplog.
- Replica set configuration: initiation, membership, and arbitration.
- Monitoring status and election processes.
- Maintenance tasks: adding/removing members and adjusting priorities.
Practice:
- Deploying a three-node replica set (locally or on VMs).
- Simulating primary node failure and observing failover behavior.
- Rebuilding secondary nodes and recovering replicas.
Module 7: Sharding and Horizontal Scalability (6h)
Content:
- Sharding concepts: shard key, config servers, and mongos router.
- Selecting shard keys and understanding associated risks.
- Deploying config servers, shards, and mongos instances.
- Rebalancing and chunk migration.
Practice:
- Configuring a simple sharded cluster.
- Inserting large-scale data and observing data distribution.
- Introducing shard key changes and understanding their limitations.
Module 8: Backup, Restore, and Disaster Recovery (4h)
Content:
- Native tools: mongodump/mongorestore and filesystem snapshots.
- Backup strategies in replica sets and sharded clusters.
- Basic usage of Cloud Manager/Ops Manager for backups.
- Disaster Recovery (DR) planning: defining RTO and RPO.
Practice:
- Performing backup and restore operations on a test database.
- Simulating failures and recovering from backups.
- Designing a DR plan for a hypothetical scenario.
Module 9: Monitoring and Alerts (4h)
Content:
- Tools: mongostat, mongotop, Cloud Manager/Atlas Monitoring.
- Integration with Prometheus and Grafana (concepts and examples).
- Key metrics: CPU, memory, I/O, oplog size, and latencies.
- Configuring alerts: setting thresholds and notifications.
Practice:
- Deploying a local or container-based monitoring agent.
- Setting up basic dashboards with sample metrics.
- Simulating load conditions and observing alert behaviors.
Module 10: Maintenance, Upgrades, and Best Practices (4h)
Content:
- Upgrade strategies for replica sets and sharded clusters.
- Data cleanup, compaction, and integrity checks.
- Reviewing logs and conducting 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
- A solid understanding of general database concepts and data structures.
- Familiarity with Linux command-line operations.
- Foundational knowledge of networking and system administration.
Audience
- Database administrators and system engineers working with MongoDB.
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments.
- Developers interested in 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.