Curriculum description
Amazon DynamoDB reflects a paradigm shift away from relational databases in terms of management, usage, and schema design. To fully take advantage of DynamoDB and its feature set, developers and architects need to understand how applications programmatically interact with DynamoDB tables and their data. This digital curriculum teaches you how applications interact with Amazon DynamoDB, a fully managed NoSQL database service, through its API and related AWS services. You will learn how to create and interact with DynamoDB tables and indexes and how to optimize databases for monitoring, performance, and security. You will also learn how to architect applications using DynamoDB design principles. Concepts are presented through storytelling in which a senior developer and a junior developer meet in a series of mentoring sessions. The curriculum includes code examples to help you implement the design patterns and solutions discussed. Additionally, an optional lab is associated with each course. The labs reinforce key course content and help you to implement solutions using the AWS SDK for Python, the AWS CLI, and the AWS Management Console.
• Skill Level: Intermediate
• Duration: 26 Hours (16 hours 50 minutes for course materials, 9 hours 10 minutes for self-paced labs)
Activities
This curriculum includes courses with interactive lessons, including text, animation, video demonstrations, interactive knowledge checks, assessments, and optional self-paced labs.
Curriculum objectives
In this curriculum, you will learn to:
• Create DynamoDB tables and modify their contents using the AWS CLI and AWS SDK
• Explain the use cases for secondary indexes in DynamoDB
• Understand DynamoDB read consistency models and their impact on costs and performance
• Manage the read/write capacity modes for tables programmatically
• Deploy appropriate scaling policies
Intended audience
This curriculum is intended for:
• Developers interested in learning how to work with nonrelational databases in the cloud, and specifically Amazon DynamoDB
• Database architects
• Data engineers
Prerequisites
We recommend that attendees of this curriculum have:
• Familiarity with DynamoDB and its features
• Working experience with database design or data modeling practices for key-value databases
• Completed at least one of the digital trainings: Amazon DynamoDB Service Introduction or Amazon DynamoDB Service Primer
• Working experience with architecting and developing on AWS and planning and designing databases on AWS.
• Working knowledge of one or more of the high-level programming languages (Python, Java, Node.js, or .NET)
Curriculum outline
Curriculum introduction
• Curriculum objectives
• Course navigation
Course 1: Exploring the DynamoDB API and the AWS SDK
• Lesson 1: Understanding DynamoDB basics
• Lesson 2: Using the AWS CLI with the DynamoDB API
• Lesson 3: Interacting with DynamoDB using the AWS SDKs
• Course-level knowledge check
Lab 1: Amazon DynamoDB CRUD (Create, Read, Update, Delete) Activities
• Task 1: Create a DynamoDB table using the AWS CLI
• Task 2: Update and delete items from a DynamoDB table using the AWS CLI
• Task 3: Create a table using AWS SDK for Python
• Task 4: Update and delete items from a DynamoDB table using AWS SDK for Python
• Task 5: Load custom datasets into a newly created DynamoDB table
Course 2: Working with Indexes in DynamoDB
• Lesson 1: Using secondary indexes
• Lesson 2: Interacting with DynamoDB tables using secondary indexes
• Lesson 3: Optimizing indexes for efficiency
• Course-level knowledge check
Lab 2: Amazon DynamoDB Scans, Queries, and Indexes
• Task 1: Perform a filtered scan using the AWS SDK for Python
• Task 2: Programmatically create and query a DynamoDB table with a local secondary index
• Task 3: Programmatically create and query a global secondary index
• Task 4: Delete secondary indexes for a DynamoDB table
• Task 5: Build custom queries that also return performance metrics
Course 3: Managing Consistency, Capacity, and Performance in DynamoDB
• Lesson 1: Managing consistency in DynamoDB
• Lesson 2: Managing capacity in DynamoDB
• Lesson 3: Managing performance in DynamoDB
• Course-level knowledge check
Lab 3: Amazon DynamoDB Capacity Sizing
• Task 1: Determine the existing capacity settings for a DynamoDB table using the AWS CLI
• Task 2: Create a sample workload for a DynamoDB table to observe potential throttling errors
• Task 3: Change the capacity mode of a DynamoDB table using the AWS SDK for Python
• Task 4: Implement Auto Scaling on a DynamoDB table
Course 4: Managing DynamoDB Applications at Scale
• Lesson 1: Implementing Security
• Lesson 2: Building Event-Driven Workflows
• Lesson 3: Ensuring High Availability
• Course-level knowledge check
Lab 4: Amazon DynamoDB Streams and TTL
• Task 1: Enable DynamoDB Streams for a table
• Task 2: Connect a Lambda function to a DynamoDB stream
• Task 3: Create an Amazon Simple Notification Service (Amazon SNS) topic and subscription
• Task 4: Enable table item expiration through a Time to Live (TTL) attribute
• Task 5: Set up DynamoDB table item archiving to Amazon Simple Storage Service (Amazon S3)
Course 5: Advanced Monitoring and Optimizing with DynamoDB
• Lesson 1: Monitoring
• Lesson 2: Handling Errors
• Lesson 3: Optimizing
• Course-level knowledge check
Lab 5: Amazon DynamoDB Monitoring
• Task 1: Create, connect, and test a CloudWatch alarm
• Task 2: Enable CloudWatch Contributor Insights for a DynamoDB table
• Task 3: Create a custom CloudWatch dashboard for a DynamoDB table
• Task 4: Deploy an AWS X-Ray enabled Lambda function
• Task 5: Monitor latencies between different AWS services
Course 6: Architecting Applications and Tables for DynamoDB
• Lesson 1: Table and Application Design Considerations
• Course-level knowledge check
Lab 6: Building a Serverless Web Application
• Task 1: Deploy a single-page application to Amazon S3
• Task 2: Programmatically create a new DynamoDB table
• Task 3: Develop and deploy AWS Lambda functions
• Task 4: Configure API Gateway
• Task 5: Integrate and test end-to-end application functionality
Curriculum Post Assessment: Game show “What’s the Key?”
• Warm-up round with direct questions
• Challenge round with case studies