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.
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
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.
I'll introduce you to this course and to what you'll learn inside it.
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.
In this lecture, I'll introduce you to Amazon DynamoDB.
We'll have our development environment set up so we are ready to dive in to the hands-on practice.
Let's test the environment setup that we did in the last lecture.
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.
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.
Let's go over the basics of relational databases. We'll talk about 1:1, 1:N, M:N relationships in RDBMS.
Let's understand the concept of data normalization and go over differerent normalization forms. This will help you appreciate the need for NoSQL databases.
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.
Let us learn about different types of NoSQL databases available today and where Amazon DynamoDB fits in.
Let's learn the basics of JSON in this lecture.
I'll introduce you to Node.js and show you how to code Hello World example using Node.js.
In this lecture, we'll cover the basics of ES6 or ECMAScript 6 JavaScript.
Let's continue our discussion on JavaScript with 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.
We'll take the asynchronous JavaScript further with Promises.
Let's learn how to chain multiple promises together, so we are ready for complex JavaScript programming.
Let's learn how to organize our code in different files using modules in Node.js.
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.
Let's create a lightweight REST API and learn how to test it using Postman.
This lecture will give you a 50,000 ft overview of DynamoDB.
We'll quickly compare NoSQL or DynamoDB terminology 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 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.
In this lecture, you'll learn about DynamoDB consistency model and understand how DynamoDB ensures sub-millisecond latency for the read operations.
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.
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.
DynamoDB supports two types of primary indexes - simple and composite ones. Let's explore these in this lecture.
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.
Let me introduce you to the three different ways we can work with DynamoDB - Using AWS Console, using CLI and using the AWS SDK.
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.
Let us perform different item level operations on DynamoDB tables using the AWS web console.
Let's have a quick look at different options available in the DynamoDB web console.
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.
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.
Let's add some data to our DynamoDB table using the AWS CLI.
We'll learn how to perform query and scan operations on our DynamoDB tables using the AWS CLI.
In this section, we’ll learn to play with DynamoDB programmatically. We’re going to use the AWS SDK for JavaScript or Node.JS.
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.
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.
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.
In this lecture, I'm going to show you how to implement atomic counters in DynamoDB using the UpdateItem API.
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.
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.
Let's look at the DynamoDB architecture in this lecture and understand how DynamoDB partitions are organized.
Before we dive in to DynamoDB, it is crucial to understand the partition behavior in DynamoDB. Let's dive deeper in to DynamoDB partitions.
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 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.
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 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.
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.
Let's look at some common errors or exceptions 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.
Let's continue our discussion on DynamoDB Best Practices in this lecture.
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.
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.
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?
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.
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.
In this lecture, let us explore global tables. Global tables are DynamoDB’s built-in solution for cross-region replication.
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.
We have seen that Global tables provide automatic multi-master cross-region replication (CRR) of DynamoDB tables to AWS regions across the globe. In this video, we are going to create a global table replicated in different AWS regions.
In the last lecture, we implemented a global table. Now, lets try out some API operations on this table using the AWS SDK.
In this section, let's set up Auto Scaling in DynamoDB and see it in action.
In this lecture, let's implement WCU auto scaling and see it in action.
In this lecture, let's implement RCU auto scaling and see it in action.
In this lecture, I am going to show you how you can use the TTL option in DynamoDB to automatically archive expired items with the help of AWS Lambda.
We know that maximum item size DynamoDB allows is about 400KB. And there could be situations where we may want to store items larger than this 400KB limit in to DynamoDB.
In the section on DynamoDB best practices, we have already discussed three approaches to handle large items. Why don’t we go ahead and implement some of these ideas in our notes table.
So, lets start with the first approach of using GZIP compression to handle large attributes in DynamoDB.
In the last lecture, we used GZIP compression to handler large item attributes. In this lecture, let’s look at how we can move the large attributes to Amazon S3 instead.
In this lecture, let’s set up in-memory caching with DynamoDB Accelerator or DAX and see it in action.
Let's continue with our demo of DAX in this lecture.
In this section, let's look at three different ways of backup and restore in DynamoDB. We begin with On-demand backup and restore feature in DynamoDB.
Until recently, backing up DynamoDB data was a complicated process. During the re:Invent 2017, Amazon announced this great new feature – the on-demand backups for DynamoDB tables, and this takes away all the complexity involved in backup and restore process.
In this lecture, let’s look at how to perform backup and restore of our DynamoDB table data.
In this lecture, let's learn how to schedule periodic backups of DynamoDB tables.
In this lecture, let's continue with our implementation of scheduled periodic backups for DynamoDB tables.
In this lecture, I am going to introduce you to a new feature called continuous backups with point-in-time recovery, also called as PITR. DynamoDB has introduced in March of 2018.
With PITR enabled, we can travel back to any second in the last 35 days and restore our table data. Thus our DynamoDB data is protected against unintended writes or accidental delete operations.
Let's see PITR in action in this lecture.
If our table contains sensitive data, we can store the data in encrypted form to further tighten up the security. And as we’ll see in this lecture, encrypting DynamoDB table data is much easier than you might think.
In the last section, we created an item in our encrypted table td_keys. And since, the process of encryption and decryption is completely transparent to the end-user, we can see the contents of the item in the console, even if DynamoDB says that the table is encrypted. So, let’s us see how we can confirm that the data is actually being encrypted.
We can confirm this by looking at the CloudTrail trail. So let's set up a trail in AWS CloudTrail and see encryption/decryption in action.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.