Amazon DynamoDB Data Modeling for Architects & Developers

Proven design patterns. best practices, tips on saving costs and more


What you’ll learn

  • Use DynamoDB Data Modeling patterns.
  • Apply Best DynamoDB practices.
  • Leverage the right DynamoDb features in their applications.
  • Analyze use cases for DynamoDB.

Course Content

  • Introduction –> 2 lectures • 6min.
  • Tools, Local Development Environment –> 4 lectures • 16min.
  • Amazon DynamoDB Fundamentals –> 8 lectures • 46min.
  • CRUD: Create API –> 3 lectures • 15min.
  • CRUD: Retrieve API –> 4 lectures • 28min.
  • CRUD: Update & Delete API –> 3 lectures • 10min.
  • CRUD : PartiQL Queries –> 1 lecture • 8min.
  • DynamoDB Secondary Indexes –> 5 lectures • 32min.
  • Single Table Design –> 2 lectures • 12min.
  • Case Study : ACME Bank –> 2 lectures • 7min.
  • Modeling : Entities –> 2 lectures • 12min.
  • Modeling : Primary Keys –> 2 lectures • 15min.
  • Modeling : One to Many Relationships –> 3 lectures • 17min.
  • Modeling : Secondary Indexes –> 6 lectures • 27min.
  • Modeling : Many-to-Many Relationship –> 3 lectures • 14min.
  • Modeling : Preventing Hot Partitions –> 2 lectures • 14min.
  • Modeling : Efficient Scans –> 2 lectures • 11min.
  • ACID Transactions –> 5 lectures • 28min.
  • Modeling : Transactions –> 3 lectures • 18min.
  • DynamoDB Streams –> 4 lectures • 22min.
  • Modeling : DynamoDB Streams –> 1 lecture • 9min.

Amazon DynamoDB Data Modeling for Architects & Developers



  • This course does NOT use AWS console for showing you basic DynamoDB operations
  • This course does NOT focus on just coding


This course primarily focusses on Data Modeling practices and patterns for Amazon DynamoDB. You will also learn DynamoDB best practices, tips and techniques for building modern and cost effective applications/microservices. At a high level, course is divided into 2 parts:


Part-1            Objective: Build a solid understanding of DynamoDB

  • How DynamoDB works under the covers?
  • Hands-on exercises to try out the DynamoDB API(s) using CLI and Python code
  • Feature/capability comparison with relational database


Part-2           Objective: Learn to apply DynamoDB design patterns

  • Learn DynamoDB data modeling process
  • How to apply patterns to address business requirements
  • Analyze the access patterns and identify the right pattern to use
  • Hands-on exercises to build a data model for a banking use case (refer:  ACME case study)


Tools in use

  • NoSQL workbench
  • Local DynamoDB for model development & testing
  • AWS cloud account for testing (minimal use)
  • An integrated development environment (like Visual Studio Code)
  • Python – if you would like to run the code samples on your machine
  • Git client

Is this course for me?

Yes – if you are an Architect responsible for designing apps on DynamoDB

Yes – if you are a Developer and aspiring to become an architect

Yes – if you are a DBA and looking to expand your skills to NoSQL databases

Yes – if you are a Technologist who is curious on how DynamoDB works under the covers


No  – if you are just looking for basic how to tutorials on DynamoDB

No – if you are looking for coding DynamoDB apps


Course approach

Course does not assume that you already know DynamoDB. For that reasons, I am first covering the basics of DynamoDB. But unlike other courses, I will not just show you how-to use DynamoDB rather I will show you how DynamoDB works under the covers !! I strongly believe that to effectively use a database, an architect MUST understand how database technology works under the covers.

Data modeling is an iterative process. I am sharing a prescriptive guidance on the process and then showing step-by-step how to apply the process. As a case study I am using an example of ACME bank (a fictitious retail bank). Throughout the course we will be applying the process to ACME bank use cases to evolve a full blown DynamoDB data model.


Case study : ACME Bank

A fictitious bank that has embarked on a journey to modernize its retail banking systems. You are the Lead Architect for the retail banking modernization initiative. It is your responsibility:


  • To  work with business owners to understand the requirements
  • To model the data for DynamoDB
  • Prove/Disprove that DynamoDB will meet the application needs
  • Educate stakeholders on DynamoDB capabilities
  • Help ACME Bank CTO to make a decision on whether to use DynamoDB or not
Get Tutorial