Course Outline
Module 1: Introduction and MongoDB Architecture (4 hours)
Topics:
- Overview of the history and the MongoDB ecosystem.
- Common use cases, along with advantages and limitations.
- General architecture: instances, processes, and configuration settings.
Practical Application:
- Interactive exploration: Connecting using the Mongo Shell/CLI.
- Creating a sample database and collection.
Module 2: Installation and Initial Configuration (6 hours)
Topics:
- Hardware and resource requirements.
- Installation procedures on Linux (deb/rpm), Windows, and macOS.
- YAML configuration files (mongod.conf): dataDir, logDir, bindIp, port.
- Startup options and management via systemd/services.
Practical Application:
- 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 (5 hours)
Topics:
- BSON documents, collections, and databases.
- Modeling strategies: embedding vs. referencing; data design patterns.
- Introduction to basic indexes.
- Operations using the Mongo Shell and scripting examples with drivers.
Practical Application:
- Modeling a real-world 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 (4 hours)
Topics:
- 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.
Practical Application:
- Creating collections populated with test data.
- Testing queries with and without indexes; interpreting explain() output.
- Optimizing indexes based on access patterns.
Module 5: Security (5 hours)
Topics:
- Authentication mechanisms: SCRAM, LDAP/Kerberos (introductory overview).
- Defining users and custom roles.
- Implementing TLS/SSL between clients and servers.
- At-rest encryption: key configuration.
- Basic audit logging setup.
Practical Application:
- Creating users with minimal necessary privileges.
- Configuring TLS in local instances.
- Testing unauthorized access attempts and reviewing audit logs.
Module 6: Replication and High Availability (6 hours)
Topics:
- Core replication concepts: Primary, Secondary, oplog.
- Replica set configuration: initiation, membership, and arbitration.
- Monitoring status and election processes.
- Maintenance tasks: adding/removing members, reassigning priorities.
Practical Application:
- Deploying a three-node replica set (locally or via VMs).
- Simulating primary node failure and observing failover behavior.
- Rebuilding secondary nodes and recovering replicas.
Module 7: Sharding and Horizontal Scalability (6 hours)
Topics:
- Sharding concepts: shard key, config servers, mongos router.
- Shard key selection criteria and associated risks.
- Deploying config servers, shards, and mongos instances.
- Rebalancing and chunk migration processes.
Practical Application:
- Configuring a basic sharded cluster.
- Inserting large-scale datasets and observing distribution.
- Exploring shard key changes and understanding their limitations.
Module 8: Backup, Restore, and Disaster Recovery (4 hours)
Topics:
- Native tools: mongodump/mongorestore, filesystem snapshots.
- Backup strategies for replica sets and sharded clusters.
- Basic usage of Cloud Manager/Ops Manager for backups.
- Disaster Recovery (DR) planning: defining RTO and RPO.
Practical Application:
- Executing backup and restore operations on a test database.
- Simulating failure scenarios and recovering from backups.
- Designing a DR plan for a hypothetical scenario.
Module 9: Monitoring and Alerts (4 hours)
Topics:
- Essential tools: mongostat, mongotop, Cloud Manager/Atlas Monitoring.
- Integration concepts and examples with Prometheus + Grafana.
- Key metrics to track: CPU, memory, I/O, oplog size, latencies.
- Alert management: defining thresholds and setting up notifications.
Practical Application:
- Deploying a local or container-based monitoring agent.
- Setting up basic dashboards with sample metrics.
- Simulating load and observing alert triggers.
Module 10: Maintenance, Upgrades, and Best Practices (4 hours)
Topics:
- Upgrade strategies for replica sets and sharded clusters.
- Data cleanup, compaction, and integrity checks.
- Reviewing logs and conducting regular audits.
- Automating routine tasks using scripts, cronjobs, Ansible, or Terraform.
- Establishing data retention and archiving policies.
Practical Application:
- 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 the Linux command line.
- Basic understanding of networking principles and system administration.
Target Audience
- Database administrators and system engineers working with MongoDB.
- DevOps and infrastructure teams responsible for deploying and maintaining MongoDB environments.
- 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.