Amazon DynamoDB Data Modeling for Architects Developers

Proven design patterns. best practices, tips on saving costs and more
Amazon DynamoDB Data Modeling for Architects Developers
File Size :
1.36 GB
Total length :
6h 26m



Rajeev Sakhuja


Last update




Amazon DynamoDB Data Modeling for Architects Developers

What you’ll learn

Use DynamoDB Data Modeling patterns
Apply DynamoDB Best practices
Leverage the right DynamoDb features in your applications
Analyze use cases for DynamoDB
Understand how DynamoDB work under the covers

Amazon DynamoDB Data Modeling for Architects Developers


NO programming experience
Some experience with AWS Cloud
Knowledge of any database
A decent machine with internet connectivity
An AWS account for some of the exercises


Note:This course does NOT use AWS console for showing you basic DynamoDB operationsThis course does NOT focus on just coding This course primarily focusses on Data Modeling practices and patterns for Amazon DynamoDB. You will 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 DynamoDBHow DynamoDB works under the covers?Hands-on exercises to try out the DynamoDB API(s) using CLI and Python codeFeature/capability comparison with relational databasePart-2           Objective: Learn to apply DynamoDB design patternsLearn DynamoDB data modeling processHow to apply patterns to address business requirementsAnalyze the access patterns and identify the right pattern to useHands-on exercises to build a data model for a banking use case (refer:  ACME case study)Tools in useNoSQL workbenchLocal DynamoDB for model development & testingAWS 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 machineGit clientIs this course for me?Yes – if you are an Architect responsible for designing apps on DynamoDBYes – if you are a Developer and aspiring to become an architectYes – if you are a DBA and looking to expand your skills to NoSQL databasesYes – if you are a Technologist who is curious on how DynamoDB works under the coversNo  – if you are just looking for basic “How-to” tutorial on DynamoDBNo – if you are looking for coding guidance DynamoDB appsCourse approachCourse 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 BankA 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 requirementsTo model the data for DynamoDBProve/Disprove that DynamoDB will meet the application needsEducate stakeholders on DynamoDB capabilitiesHelp ACME Bank CTO to make a decision on whether to use DynamoDB or not


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Course outline & How to get the most out of this course

Section 2: Tools, Local Development Environment

Lecture 3 Setup Local DynamoDB and NoSQL Workbench

Lecture 4 Exercise: NoSQL Workbench walkthrough

Lecture 5 Exercise: Use CLI, Workbench with Local Table

Lecture 6 Setup IDE and Git Repository

Section 3: Amazon DynamoDB Fundamentals

Lecture 7 DynamoDB: A Logical View

Lecture 8 Table capacity fundamentals

Lecture 9 Table capacity modes

Lecture 10 Exercise: Try out the capacity modes

Lecture 11 Item Attributes & Data Types

Lecture 12 Exercise: Create a test model

Lecture 13 DynamoDB Operations

Lecture 14 Control Plane Operations

Section 4: CRUD: Create API

Lecture 15 Writes : Under the hood

Lecture 16 API: PutItem, BatchWriteItem, Condition Expressions (7:14)

Lecture 17 Exercise: Add Items to Student Table

Section 5: CRUD: Retrieve API

Lecture 18 Reads : Under the hood

Lecture 19 API: GetItem, BatchGetItem, Scan

Lecture 20 Queries : Under the hood

Lecture 21 Queries & Key Condition Expression

Section 6: CRUD: Update & Delete API

Lecture 22 Update & Delete : Under the hood

Lecture 23 API: UpdateItem

Lecture 24 API: DeleteItem

Section 7: CRUD : PartiQL Queries

Lecture 25 CRUD : PartiQL Statements & API

Section 8: DynamoDB Secondary Indexes

Lecture 26 Indexes : Under the hood

Lecture 27 Local Secondary Index (LSI)

Lecture 28 Hands-On: Local Secondary Index

Lecture 29 Global Secondary Index (GSI)

Lecture 30 Hands-On: Global Secondary Index

Lecture 31 Hands-On: Model the game player

Section 9: Single Table Design

Lecture 32 Single Table Vs. Multiple Table Design

Lecture 33 Single table modeling process

Section 10: Case Study : ACME Bank

Lecture 34 ACME Bank Transformation Journey

Lecture 35 ERD and Access patterns

Section 11: Modeling : Entities

Lecture 36 How to model an entity?

Lecture 37 Hands-On: Design the Customer Entity

Section 12: Modeling : Primary Keys

Lecture 38 Patterns for primary key

Lecture 39 Hands-On: Apply best practices for key

Section 13: Modeling : One to Many Relationships

Lecture 40 Patterns for one-to-many relationships

Lecture 41 Analyze : Customer-Account Relationship

Lecture 42 Hands-On: Embedding with Secondary Index

Section 14: Modeling : Secondary Indexes

Lecture 43 Hands-On: Add index for accessing customer on account

Lecture 44 Hands-On: Model the transaction entity

Lecture 45 Analysis : Taking advantage of sparse indexes

Lecture 46 Hands-On: Add a sparse index for Customer-Txns

Lecture 47 Analysis : Taking advantage of Index Overloading

Lecture 48 Hands-On: Implement Overloaded GSI for Customer & Transaction

Section 15: Modeling : Many-to-Many Relationship

Lecture 49 Adjacency List Pattern

Lecture 50 Analysis : Customer-Offer Relationship

Lecture 51 Hands-On: Apply adjacency pattern to customer-offer relationship

Section 16: Modeling : Preventing Hot Partitions

Lecture 52 Hot Partitions & Sharding patterns

Lecture 53 Hands-On : Address hot partition issue

Section 17: Modeling : Efficient Scans

Lecture 54 Hands-On: Experimenting with parallel scan

Lecture 55 Analysis : Scan Vs. GSI for for txns in date range

Section 18: ACID Transactions

Lecture 56 What are ACID Transactions?

Lecture 57 API: TransactWriteItems

Lecture 58 Hands-On: TransactWriteItems API

Lecture 59 TransactWriteItems Idempotence

Lecture 60 API : TransactGetItems

Section 19: Modeling : Transactions

Lecture 61 Hands-On : Running counters

Lecture 62 Hands-On : Credit Transactions

Lecture 63 Hands-On: Debit Transaction

Section 20: DynamoDB Streams

Lecture 64 DynamoDB Streams

Lecture 65 Shards & Stream Reader Application

Lecture 66 Hands-On: Experiment with Streams API

Lecture 67 Hands-On: Tryout API with Python

Section 21: 21. Time to Live (TTL)

Lecture 68 Time to Live Feature

Lecture 69 Hands-On: Tryout the TTL

Section 22: Modeling : DynamoDB Streams

Lecture 70 Modeling : Setup daily report

Lecture 71 Modeling : Archival of Transactions

Solution Architects,Cloud application Developers,Cloud Engineers,Database Administrator interested in learning NoSQL databases

Course Information:

Udemy | English | 6h 26m | 1.36 GB
Created by: Rajeev Sakhuja

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top