AWS DynamoDB Online Course
This course takes you from the basics to advanced expertise in AWS DynamoDB, one of the most powerful NoSQL databases. You’ll start by setting up your environment and learning to create and manage tables through the AWS Console, CLI, and SDK for Python. Along the way, you’ll master core concepts like primary keys, data types, and indexes while practicing CRUD operations and data optimization with hands-on exercises. Advanced sections focus on performance tuning, best practices for partition keys, and cost-efficient table design. By the end, you’ll be ready to build scalable, high-performance NoSQL solutions with DynamoDB.
Who should take this course?
This course is designed for developers, database administrators, cloud engineers, and solution architects who want to build and manage scalable, serverless applications using AWS DynamoDB. It’s also valuable for beginners exploring NoSQL databases and professionals seeking to optimize data storage and retrieval in cloud-based environments.
What you will learn
- Create and configure DynamoDB tables using the Console, CLI, and SDK.
- Perform CRUD operations to manage data effectively in DynamoDB.
- Design efficient partition and sort keys for optimized query performance.
- Utilize Local and Global Secondary Indexes for advanced data retrieval.
- Apply data modeling best practices to support diverse use cases.
- Manage and analyze DynamoDB costs for efficient resource utilization.
Course Outline
Introduction
- Introduction & Course Prerequisites
- Course Structure
Development Environment Setup
- Dev Environment Setup - Instructions
- Install VS Code - Optional
AWS Account Creation & Setting up AWS CLI
- Create an AWS Account
- Creating an IAM User
- AWS CLI - Introduction and Installation
- Configure AWS CLI
AWS DynamoDB Fundamentals Deep Dive
- Create a DynamoDB Table using the AWS Management Console - Hands-on
- AWS DynamoDB Deep Dive - Definition and Key Features
- NoSQL vs SQL Databases and Key Differences
- DynamoDB Components and How They Work
- DynamoDB Pricing
- Summary
Tools for Interacting with AWS DynamoDB - AWS CLI and AWS SDK
- Tools for Interacting with DynamoDB Deep Dive - Overview
- Hands-on - Code Structure and Creating a Table using AWS CLI
- Verify the Table with the Describe-table Command
- Adding Two Books with the CLI Commands
- AWS CLI - Command Breakdown
- Get an Item
- Scan for Items
- Update an Item
- Delete an Item
- Delete the Table
- DynamoDB Data Types and Section Summary
Interacting with DynamoDB Table with AWS SDK
- Interacting with DynamoDB with AWS SDK - Tools for Interacting with DynamoDB
- The Programmatic Interfaces of the AWS SDK - Full Overview
- AWS SDKs and Tools for Interacting with AWS DynamoDB - Overview
- Create a Table with SDK Python
- Add a Book to the Table with SDK
- Loading Books from a JSON File with the SDK
- Delete a Book by Its ISBN or Title
- Scan the Table
- Querying the Table
- Update a Book
- Delete an Item
- NOTE - Using the CLI to Interact with Our Table
- Summary
AWS DynamoDB Indexes - Deep Dive
- Introduction to Indexes - Full Overview
- Scan and Filter - Differences and Capacity Considerations
- Global Secondary Indexes - LSI and GSI - Overview
- Hands-on - Create a Secondary Index in the Console
- Things to Consider when Creating GSIs
- Hands-on - Create an LSI with a New Book Table - Restructuring
- Loading Restructured Books
- Hands-on - Querying our LSI
- Hands-on - Querying LSI using AWS CLI
- Hands-on - Create a GSI Through Update Command
- Hands-on - GSI Query
- Sparse Index
- Summary
Optimizing Indexes for Efficiency
- Optimizing Indexes & Key Strategies and Considerations: Access Patterns Use Case
- Partition Key Design and Design Keys Considerations
- Optimizing Sort Keys
- Structuring Secondary Indexes for Efficiency
- Use Cases - Design Considerations - Business Decisions
- Summary
Wrap Up
- Clean Up
- Congratulations & Next Steps