Get in Touch
 Duration 48 hours

Course Outline

Module 1: Introduction and MongoDB Architecture (4h)

Content:

  • Historical context and the MongoDB ecosystem.
  • Typical use cases, along with associated advantages and limitations.
  • General architecture: instances, processes, and configuration structures.

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 managing services via systemd/service.

Practice:

  • Deploying instances on local virtual machines or Docker containers.
  • Tuning configurations for development versus production environments.
  • Verifying secure remote connectivity.

Module 3: Data Modeling and Basic Operations (5h)

Content:

  • BSON documents, collections, and databases.
  • Modeling strategies: embedding versus referencing; common data design patterns.
  • Introduction to basic indexes.
  • Performing operations with the Mongo Shell and scripting examples using 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.
  • Utilising explain() and analysing performance metrics.
  • Assessing 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.
  • Adjusting indexes based on observed access patterns.

Module 5: Security (5h)

Content:

  • Authentication mechanisms: SCRAM, and an introduction to LDAP/Kerberos.
  • Defining users and creating custom roles.
  • Implementing TLS/SSL between clients and servers.
  • At-rest encryption: key configuration strategies.
  • Basic audit logging practices.

Practice:

  • 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 (6h)

Content:

  • Core replication concepts: Primary, Secondary, and oplog.
  • Replica set configuration: initiation, membership, and arbitration.
  • Monitoring status and observing elections.
  • Maintenance tasks: adding/removing members and reassigning priorities.

Practice:

  • Deploying a three-node replica set (locally or on VMs).
  • Simulating primary failure and observing the failover process.
  • Rebuilding secondary nodes and recovering replicas.

Module 7: Sharding and Horizontal Scalability (6h)

Content:

  • Sharding concepts: shard key, config servers, and the mongos router.
  • Shard key selection strategies and associated risks.
  • Deploying config servers, shards, and mongos instances.
  • Rebalancing data and managing chunk migration.

Practice:

  • Configuring a simple sharded cluster.
  • Inserting large-scale data to observe distribution patterns.
  • Exploring the implications of shard key changes and understanding 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 operations.
  • Disaster Recovery (DR) planning: defining RTO and RPO.

Practice:

  • Performing backup and restore operations on a test database.
  • Simulating system failure and recovering from backup.
  • Designing a DR plan for a hypothetical scenario.

Module 9: Monitoring and Alerts (4h)

Content:

  • Monitoring tools: mongostat, mongotop, and Cloud Manager/Atlas Monitoring.
  • Integration with Prometheus and Grafana (concepts and practical examples).
  • Key metrics: CPU, memory, I/O, oplog size, and latencies.
  • Alert configuration: defining thresholds and notification rules.

Practice:

  • Deploying a local or container-based monitoring agent.
  • Setting up basic dashboards with sample metrics.
  • Simulating load conditions 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 checks.
  • Reviewing logs and conducting regular audits.
  • Automating routine tasks using scripts, cronjobs, Ansible, and Terraform.
  • Establishing data retention and archiving policies.

Practice:

  • Simulating minor and major upgrades in a controlled environment.
  • Creating automation scripts for backup and monitoring tasks.
  • Developing a periodic maintenance checklist.

Summary and Next Steps

Requirements

  • A solid understanding of general database concepts and data structures.
  • Proficiency with Linux command-line operations.
  • Foundational knowledge 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.

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories