Advanced Design Patterns using Amazon DynamoDB

1m setup · 360m access · 360m completion
Connection Details

Warning: Do not transmit data into the AWS Console that is not related to Qwiklabs or the lab you are taking.

24 Credits

This lab costs 24 Credits to run. You can purchase credits or a subscription under My Account.


Advanced Design Patterns using Amazon DynamoDB

SPL-299 - Version 1.0.1

© 2018 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed, in whole or in part, without prior written permission from Amazon Web Services, Inc. Commercial copying, lending, or selling is prohibited.

Errors or corrections? Email us at

Other questions? Contact us at


In this workshop, we will review Amazon DynamoDB design patterns and best practices to build highly scalable applications that are optimized for performance and cost. We will demostrate the implementation of these design patterns using Python scripts. At the end of this workshop, you will have the knowledge to build and monitor DynamoDB applications that can grow to any size and scale.

Here's what you'll find in this workshop:

  • Setup
  • Exercise 1 - Capacity Units & Partitioning
  • Exercise 2 - Table Scan and Parallel Scan
  • Exercise 3 - GSI write sharding
  • Exercise 4 - GSI key overloading
  • Exercise 5 - Sparse Indexes
  • Exercise 6 - Composite keys
  • Exercise 7 - Adjacency Lists
  • Exercise 8 - Transactional workflows
  • Exercise 9 - DynamoDB Streams and AWS Lambda

Target Audience

  • This session is designed for developers, engineers, and database administrators who are involved in designing and maintaining DynamoDB applications.


  • Knowledge of AWS services
  • Basic understanding of Amazon DynamoDB
  • Familiarity with Python/Boto3


Step 1 - Starting the Qwiklab environment

Join Qwiklabs to read the rest of this lab...and more!

  • Get temporary access to the Amazon Web Services Console.
  • Over 200 labs from beginner to advanced levels.
  • Bite-sized so you can learn at your own pace.
Join to Start This Lab