Course Description
Geared for experienced developers, Introduction to MongoDB for Developers is a hands-on course that provides students with comprehensive coverage of and hands-on experience with the MongoDB query language and aggregation framework, data modeling, indexes, drivers, basic performance tuning, high availability and scaling. Throughout the course, students will explore the MongoDB Atlas database environment.
Course Outline
Day 1
- Storage Basics
- What is a Storage Engine?
- WiredTiger Storage Engine
- In-Memory Storage Engine
- Encrypted Storage Engine
- MongoDB Document Model
- JSON and BSON
- MongoDB Data Types
- MongoDB Setup
- Lab: Atlas Setup / Local MongoDB Setup
- CRUD Basics
- Insert Command
- Find Command
- Query Operators
- Lab: Finding Documents
- Remove Command
- Updating Documents
- Lab: Updating Documents
- CRUD Advanced
- Bulk Writes
- Retryable Writes
- Find and Modify
- Transactions
- Performance Basics
- Indexes
- Lab: Creating Indexes
- Lab: Using explain()
- Aggregation Basics
- Aggregation Pipeline Concepts
- Aggregation Pipeline Stages
- Aggregation Pipeline Expressions
- Lab: Writing Aggregation Queries
Day 2
- Aggregation Advanced
- $lookup stage
- $graphLookup stage
- Lab: Using $graphLookup
- $expr operator
- Lab: Using $expr
- Faceted Search
- Type Conversions
- Advanced Expression Operators
- Date Expression Operators
- Expression Variables
- Aggregation Pipeline Optimizations
- Aggregation in a Sharded Cluster
- Replication Basics
- MongoDB Replica Sets
- Replica Set Use Cases
- Replication Mechanics
- Replication Advanced
- Using Write Concern to Tune Durability Semantics
- Using Read Concern to Tune Read Isolation
- Using Read Preference
- Replica Set Tag Sets
- Sharding Basics
- Sharding Concepts
- When to Shard
- What is a Shard Key?
- Zoned Sharding / MongoDB Atlas Global Clusters
- Sharding Advanced
- Components of a Sharded Cluster
- Sharding Mechanics
- Choosing a Good Shard Key
Day 3
- Schema Design
- Schema Design Core Concepts
- Common Patterns
- Lab: Data Model for an E-Commerce Site
- Security Basics
- Authentication & Authorization
- Lab: Creating an Admin User
- Lab: Creating a readWrite User
- Network Encryption
- Encryption at Rest
- Auditing
- Application Development and Drivers
- Application Development with MongoDB Drivers
- Lab: Driver Tutorial
- Performance Advanced
- Designing Compound Indexes
- Indexing Arrays
- Covered Queries
- Using hint() and Index Filters
Course Objectives
This skills-focused course is approximately 50% hands-on. Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will explore:
- Storage Basics
- MongoDB Document Model
- MongoDB Setup
- CRUD: Basics through Advanced Concepts
- Performance: Basics through Advanced Concepts
- Aggregation: Basics through Advanced Concepts
- Replication: Basics through Advanced Concepts
- Sharding: Basics through Advanced Concepts
- Schema Design
- Security Basics, Authentication & Authorization
- Application Development and Drivers
Course Prerequisites
Incoming attendees are required to have
- Basic hands-on Java (8 or higher) programming experience
- Prior experience working with databases (Such as MySQL, etc.)
- Basic understanding of Big Data Platforms
Course Information
Length: 3 day
Format: Lecture and Lab
Delivery Method: n/a
Max. Capacity: 16
Schedule
Contact Us
Do you have more questions? We're delighted to assist you!
Labs
- This hands-on course focuses on "learning by doing", combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.
Who Should Attend
Developers, DevOps team members, Full Stack Developers, DBAs (with Development background), Architects.