AWS DynamoDB - The Complete Guide (Build 18+ Hands On Demos)
4.4 (909 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,437 students enrolled

AWS DynamoDB - The Complete Guide (Build 18+ Hands On Demos)

Master Amazon DynamoDB, the Serverless NoSQL AWS database. Integrate DynamoDB w/ Web & Mobile Apps over Node.js REST API
4.4 (909 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,437 students enrolled
Last updated 11/2019
English [Auto-generated]
Current price: $18.99 Original price: $29.99 Discount: 37% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 16.5 hours on-demand video
  • 4 articles
  • 70 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Master DynamoDB from the ground up, covering everything from basic to adavanced DynamoDB with Hands On
  • Learn to Integrate DynamoDB with Web Apps (SPAs) as well as Mobile Apps (iOS and Android Apps)
  • Learn to use DynamoDB with AWS Services like Lambda, S3, Data Pipeline, Redshift, Apache Hive on EMR, CloudSearch, CloudTrail, Cognito, IAM and more
  • Learn to securely connect to DynamoDB using OAuth 2.0 Authentication with AWS Cognito and Fine-grained access control
  • Master Advanced DynamoDB features like DAX, Streams, Global Tables, Auto-Scaling, Backup and PITR
  • Practice 18+ Hands-On Activities
  • Learn DynamoDB Best Practices
  • Learn DynamoDB Data Modeling
Course content
Expand all 121 lectures 16:33:39
+ Introduction
7 lectures 36:33

I'll introduce you to this course and to what you'll learn inside it.

Preview 05:04

I'll share a little bit about my story with DynamoDB and how we migrated our SaaS application from MySQL to DynamoDB in under two weeks, which included learning DynamoDB from scratch.

Preview 04:19

In this lecture, I'll introduce you to Amazon DynamoDB.

Preview 04:14

We'll have our development environment set up so we are ready to dive in to the hands-on practice.

Preview 10:33

Let's test the environment setup that we did in the last lecture.

Preview 02:51

You can take this course at your pace. In this lecture, let me provide you some tips on how you can get the best out of this course.

Preview 06:37
+ (Optional) Background Concepts - RDBMS, NoSQL, and JSON
6 lectures 36:25

This optional section covers basics of RDBMS, NoSQL and JSON. This is a completely optional section and if you are already familiar with these topics, feel free to skip over.

Section Overview - Background Concepts

Let's go over the basics of relational databases. We'll talk about 1:1, 1:N, M:N relationships in RDBMS.

Basics of Relational Databases

Let's understand the concept of data normalization and go over differerent normalization forms. This will help you appreciate the need for NoSQL databases.

Data Normalization

Let me introduce you to the concept of NoSQL databases and also compare SQL with NoSQL. You'll learn how NoSQL databases solve the challenges we face with using relational databases. By the end of this lecture, you'll greatly appreciate the suitability of NoSQL databases for applications that process big data.

Basics of NoSQL Databases

Let us learn about different types of NoSQL databases available today and where Amazon DynamoDB fits in.

Types of NoSQL Databases

Let's learn the basics of JSON in this lecture.

JSON Fundamentals
+ (Optional) Background Concepts - JavaScript and Node.js
9 lectures 01:32:04

I'll introduce you to Node.js and show you how to code Hello World example using Node.js.

What is Node.js with 'Hello World' Example

In this lecture, we'll cover the basics of ES6 or ECMAScript 6 JavaScript.

JavaScript ES6 Basics - Variables and Data Types

Let's continue our discussion on JavaScript with arrays, conditionals and loops.

JavaScript ES6 Basics - Arrays, Conditionals and Loops

Let's understand functions and also understand asynchrony in JavaScript. I'll introduce you to callback functions as the most basic form of asynchronous JavaScript.

JavaScript ES6 Basics - Asynchronous Functions

We'll take the asynchronous JavaScript further with Promises.

JavaScript ES6 Basics - Promises

Let's learn how to chain multiple promises together, so we are ready for complex JavaScript programming.

JavaScript ES6 Basics - Chaining Promises

Let's learn how to organize our code in different files using modules in Node.js.

NodeJS Basics - Modules and NPM

In this lecture, we're going to create our own web server to serve our web app and our RESTful API. We'll use Express.js to set up an HTTP server.

NodeJS Basics - Building a Web Server and APIs with Express

Let's create a lightweight REST API and learn how to test it using Postman.

NodeJS Basics - Creating REST APIs with Express
+ DynamoDB Basics
11 lectures 56:59

This lecture will give you a 50,000 ft overview of DynamoDB.

Overview of AWS DynamoDB

We'll quickly compare NoSQL or DynamoDB terminology with SQL.

Terminology Comparison with SQL

Tables are the top level entities in DynamoDB. Let me introduce you to DynamoDB tables and we'll also discuss the naming conventions for these tables.

DynamoDB Tables and Naming Conventions

DynamoDB supports variety of data types, broadly classified into scalar types, set types and document types. Let's explore these data types in detail in this lecture.

Data Types in DynamoDB

In this lecture, you'll learn about DynamoDB consistency model and understand how DynamoDB ensures sub-millisecond latency for the read operations.

DynamoDB Consistency Model

DynamoDB allows us to control the performance at table level. We do this by defining the desired level of throughput capacity units - read capacity units and write capacity units. These units also largely control the DynamoDB pricing model.

DynamoDB Capacity Units
DynamoDB On-Demand Capacity

Concept of DynamoDB Partitions is crucial to understanding how DynamoDB works and then use it more efficiently. In this lecture, I will introduce you to the idea of DynamoDB partitions.

Basics of DynamoDB Partitions

DynamoDB supports two types of primary indexes - simple and composite ones. Let's explore these in this lecture.

Basics of DynamoDB Indexes

DynamoDB supports two types of secondary indexes - local secondary index (LSI) and global secondary index(GSI). Let's explore both LSIs and GSIs in this lecture.

Local Secondary Indexes and Global Secondary Indexes

Let me introduce you to the three different ways we can work with DynamoDB - Using AWS Console, using CLI and using the AWS SDK.

Interacting with DynamoDB
+ Working with DynamoDB using AWS Console
3 lectures 38:38

The easiest way to get around with DynamoDB is the web-based AWS Console. Let's dive in and see how to use it. We'll create table in DynamoDB and also look at how to rename table and delete table in DynamoDB.

Table-level Operations with AWS Console

Let us perform different item level operations on DynamoDB tables using the AWS web console.

Item-level Operations with AWS Console

Let's have a quick look at different options available in the DynamoDB web console.

Additional Features in DynamoDB Console
+ Working with DynamoDB using AWS CLI
4 lectures 51:26

We are going to discuss how to use the AWS CLI or the command line tool to work with DynamoDB. In this lecture, lets install the AWS CLI on our computer.

Installing the AWS CLI

We'll learn how to perform different table level operations in DynamoDB using the AWS CLI, e.g. list tables, describe table, create table, delete table etc.

Table level Operations with AWS CLI

Let's add some data to our DynamoDB table using the AWS CLI.

Write Operations - Item level Operations with AWS CLI

We'll learn how to perform query and scan operations on our DynamoDB tables using the AWS CLI.

Read Operations - Item level Operations with AWS CLI
+ Working with DynamoDB using AWS SDK
7 lectures 01:07:59

In this section, we’ll learn to play with DynamoDB programmatically. We’re going to use the AWS SDK for JavaScript or Node.JS.

Working with DynamoDB using AWS SDK - Module Introduction

Let's perform table level operations like list table, describe table, create table, delete table in DynamoDB using the low-level api in AWS SDK.

Table-level Operations with AWS SDK

We will now use the high level DocumentClient class in AWS SDK to perform item level operations. Let's perform some write operations in DynamoDB using the AWS SDK. For example - PutItem, UpdateItem, DeleteItem and BatchWriteItem etc.

Write Operations - Item Level Operations with AWS SDK

There could be situations where we may want to perform write operations only if a certain condition was met. Let's learn how to perform conditional writes in DynamoDB.

Conditional Writes - Item Level Operations with AWS SDK

In this lecture, I'm going to show you how to implement atomic counters in DynamoDB using the UpdateItem API.

Atomic Counters - Item Level Operations with AWS SDK

Let's go over the syntax for read operations using AWS SDK. For example DynamoDB GetItem, DynamoDB Query, DynamoDB Scan and DynamoDB BatchGetItem operations. We'll also learn how to apply filter criteria to our read requests.

Read Operations - Item Level Operations with AWS SDK

DynamoDB returns maximum of 1MB of data for DynamoDB queries and scans. So what do we do if we need more data beyond this limit of 1MB? Let's find that out in this lecture.

Paginated Reads - Item Level Operations with AWS SDK
+ DynamoDB Data Modeling & Best Practices
11 lectures 01:49:11

Let's look at the DynamoDB architecture in this lecture and understand how DynamoDB partitions are organized.

DynamoDB Architecture

Before we dive in to DynamoDB, it is crucial to understand the partition behavior in  DynamoDB. Let's dive deeper in to DynamoDB partitions.

DynamoDB Partitions in Depth

You might have realized by now that choosing the table keys, or in other words, key design in DynamoDB is one of the crucial aspects of ensuring efficient and cost-effective performance from DynamoDB.

In this lecture, let's learn how to choose the table keys wisely and ensure efficient performance from DynamoDB.

DynamoDB Efficient Key Design

DynamoDB expects uniform distribution of reads and writes across partition key values. So what happens when DynamoDB sees non-uniform access patterns? Let's discuss two typical use cases here - time-series data and popular datasets and understand how to prevent the issue of hot keys or hot partitions.

Hot Keys or Hot Partitions

In this lecture, let's discuss different design patterns and how to model them in DynamoDB. Specifically, we'll look at how to model one-to-one (1:1), one-to-many (1:N) and many-to-many (M:N) relationships in DynamoDB. We'll also look at modelling hierarchical data structures in DynamoDB.

DynamoDB Design Patterns

DynamoDB allows only one attribute as the sort key. What if we wanted to sort the items based on multiple attributes? Let's understand how to model multi-value sorts and filters.

Multi-value Sorts and Filters

There are certain limits that define the extent to which we can stretch DynamoDB. Some are soft limits, while some are hard limits. In this lecture, let's look at what some of these limits are.

DynamoDB Limits

Let's look at some common errors or exceptions in DynamoDB.

Error Handling in DynamoDB

Throughout this course, we've learned how to leverage DynamoDB in the most efficient and cost-effective manner. In this lecture, we'll consolidate or summarize these best practices and also introduce some more such approaches.

DynamoDB Best Practices - Part 1

Let's continue our discussion on DynamoDB Best Practices in this lecture.

DynamoDB Best Practices - Part 2

Throughout this course, we've discussed different approaches of modelling as well as interacting with DynamoDB tables so as to use it in as cost-efficient way as possible. In this lecture, let's look at DynamoDB Pricing and explore some more ways to cut down DynamoDB cost.

Ways to Lower DynamoDB Costs
+ Advanced DynamoDB
5 lectures 49:44

Many a times, read/write loads on our DynamoDB tables vary over the course of the day, week or even month. So, some tables could see high throughput in the morning while low throughput towards the close of the day. Some tables could see high throughput during non-business hours or over weekends.

Let's look at how we can use Auto Scaling featur in DynamoDB to adjust throughput during these uneven workloads.

Auto Scaling in DynamoDB

Many a times, read/write loads on our DynamoDB tables vary over the course of the day, week or even month. So, some tables could see high throughput in the morning while low throughput towards the close of the day. Some tables could see high throughput during non-business hours or over weekends.

DynamoDB Accelerator or DAX provides in-memory caching service for DynamoDB which brings down DynamoDB response times from single digit milliseconds to microseconds.

In this lecture, why don’t we explore DAX in more detail?

DynamoDB Accelerator (DAX)

In this lecture, let me introduce you to a very powerful feature of DynamoDB, called as DynamoDB Streams. 

So, what are the DynamoDB Streams? Put simply, DynamoDB Streams maintains a time-ordered log of all changes in the given DynamoDB table. This log stores all write activity that took place in the last 24 hours period.

DynamoDB Streams and DynamoDB Triggers with AWS Lambda

Time to Live, or TTL is a very simple and convenient feature in DynamoDB. It allows us to tell DynamoDB, when to delete an item from the table. Let's have a look.

Time to Live (TTL) in DynamoDB

In this lecture, let us explore global tables. Global tables are DynamoDB’s built-in solution for cross-region replication.

Global Tables in DynamoDB
+ Hands-on Demos and Projects - An Overview
1 lecture 09:30

We have covered a lot of ground and by now, you are well-acquainted with Amazon DynamoDB. And, I can as well say, that you’ve acquired a great deal of knowledge, enough to tackle real-world DynamoDB projects.

Now, it’s the time to fine-tune and sharpen your DynamoDB skills further. Rest of the course is designed to boost your confidence levels and take them to the next level. As you follow along, you’ll become highly comfortable to work on real-world DynamoDB projects as a DynamoDB expert.

So, throughout rest of the course, we are going to build various solutions using DynamoDB. These solutions and demos will help you in getting practical exposure in using different advanced features of DynamoDB as well as integrate DynamoDB with other services. We will cover as many examples as possible.

Hands-on Demos and Projects - An Overview
  • Have access to an AWS Account
  • Be familiar with basics of AWS
  • Basic knowledge of JavaScript (This is optional. I cover the JavaScript and NodeJS basics within the course.)

This course starts from scratch!  

You’ll learn Amazon DynamoDB from the ground up. No prior knowledge of DynamoDB is necessary!  

Join the most comprehensive DynamoDB course ever.  

From basic to advanced topics in AWS DynamoDB, you get to learn it all! You’ll not only learn, but master DynamoDB, the cloud database from Amazon.   

While you learn, if you need my help, just ask. You’ll receive prompt support both via direct messaging or discussion.

Amazon DynamoDB is a fast, flexible, serverless NoSQL database service from Amazon that scales on-demand to support virtually unlimited concurrent Read/Write operations, with sub-millisecond response times.  

This Course uses Node.js and JavaScript  

For all the demos that require the use of AWS SDKs, we'll use the AWS SDK for JavaScript. APIs are implemented on Node.js.   

Knowledge of Node.js and JavaScript is good to have for taking this course. This shouldn’t however stop you from taking the course. If you are new to JavaScript or Node.js, I cover the JavaScript fundamentals as an optional section inside this course.  

The JavaScript and Node.js topics covered in the course will help you get up and running with using the AWS SDK and perform the demos presented in this course. However, keep in mind that, as this course is not a JavaScript or Node.js course.  

The course also uses Angular and Ionic for Web and Mobile app demos. Knowledge of Angular or Ionic, however is not required for you to be able to complete the demos presented in the course.  

Get a very solid grasp on how to use DynamoDB in practice  

This course will teach you all the fundamentals of DynamoDB as well as advanced DynamoDB topics. You’ll learn how to design DynamoDB tables using the DynamoDB best practices, how to use DAX or DynamoDB Accelerator for faster performance, how to reduce DynamoDB costs, how to perform efficient scaling and how to use AWS SDK to integrate highly-scalable web as well as highly-scalable mobile applications with DynamoDB.  

This course follows a hands-on approach  

We’ll build fully functional cross-platform web as well as mobile apps supporting social media login and providing a uniform user experience across devices and platforms.  

This course demonstrates all the advanced features of DynamoDB, hands-on, and step by step. Simply watching me integrate DynamoDB with other AWS services and implementing web and mobile apps, will take your DynamoDB skills to the next level.  

We will cover the latest DynamoDB features like DAX, Global tables, Auto-Scaling, Data Encryption, On-demand, Scheduled, as well as Continuous backups and Point-in-Time Recovery.  

We’ll also cover hands-on demos on topics like integrating DynamoDB with S3, AWS Lambda, Cognito, Data Pipeline, Redshift, Apache Hive on EMR, CloudWatch, CloudTrail among others.  

We’re also going to build RESTful API that connects to the DynamoDB backend with a Fine-Grained Access Control in place. We will then take this further and integrate a highly-scalable web application or a single page application with DynamoDB.    

And then we’ll integrate DynamoDB with highly-scalable iOS app as well as an Android app. All these three apps, web, iOS and Android apps will use Google login for user authentication. We'll do this by implementing social OAuth 2.0 based login with Federated Access using AWS Cognito.  

Look through the course curriculum above for the complete list of demos covered.  

By the end of this course, you’ll have mastered Amazon DynamoDB and you’ll be confident and be fully equipped to tackle even advanced level DynamoDB projects.   

Take a look at what my existing students have said about this course: 

★★★★★  "The "AWS DynamoDB - The Complete Guide" is one of the best classes I have ever taken in person or online. Riyaz is thorough in his coverage of the topic. This practical Guide not only taught me the specifics of DynamoDB, but it also spoke to its typical ecosystem of transactional and batch solutions. His blend of concept, practical examples, production best practices, empower you to tackle real-world challenges." - Lincoln

★★★★★  "AWS DynamoDB course is one of excellent course in UDEMY platform.Very well nicely explained each and every concept." - Chaitanya K.

★★★★★  "Comprehensive course, instructor is highly competent and has a depth of experience" - Mitch D.

★★★★★   "This is a very nice course and instructor has practically covered almost all aspects of integration with DynamoDB...very few people are as detailed on this topic as you are and very few people have this expertise" - Vinay G.

★★★★★   "Amazing course, covering DynamoDB in depth with real life examples using Node, Express, Angular, and Ionic, hard to believe pack into one course. I learnt a huge amount from Riyaz, he really knows his stuff!!" - Edward W.


Remember, you are in good hands! I'm waiting to help you inside the course! This is an online course, so you can take it at your own pace. If you’re busy right now, that's perfectly alright. Sign up today, and take the course at your own pace.    

I look forward to welcoming you inside the course!


Who this course is for:
  • AWS developers at all levels (beginner to advanced) interested in mastering Amazon DynamoDB
  • Everyone interested in building a modern, full-stack applications and mobile apps with DynamoDB as backend
  • Architects who want to integrate DynamoDB with other AWS services
  • Database administrators and developers interested to learn advanced DynamoDB topics
  • Developers interested in implementing and managing DynamoDB projects at any level
  • AWS Certification Aspirants