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