Amazon DynamoDB Backup Capabilities


Course Introduction
RDS vs. EC2
RDS vs. EC2
DynamoDB Accelerator

The course is part of this learning path

Start course
4h 21m

This section of the AWS Certified Solutions Architect - Professional learning path introduces you to the AWS database services relevant to the SAP-C02 exam. We then understand the service options available and learn how to select and apply AWS database services to meet specific design scenarios relevant to the AWS Certified Solutions Architect - Professional exam. 

Want more? Try a Lab Playground or do a Lab Challenge

Learning Objectives

  • Understand the various database services that can be used when building cloud solutions on AWS
  • Learn how to build databases using Amazon RDS, DynamoDB, Redshift, DocumentDB, Keyspaces, and QLDB
  • Learn how to create ElastiCache and Neptune clusters
  • Understand which AWS database service to choose based on your requirements
  • Discover how to use automation to deploy databases in AWS
  • Learn about data lakes and how to build a data lake in AWS

Hello, and welcome to this lecture which is going to examine the different backup features and techniques of Amazon DynamoDB. Which are not too distinctively different from that of RDS. DynamoDB utilizes automatic and manual backup options.

So let me start off by looking at the automatic options first. Using DynamoDB you're able to configure point in time recovery which works the same as it does when we discussed it in the audience lecture of this course. However, unlike when configuring this in RDS, you don't need to set up a backup retention period or backup time period. Instead, this is automatically defined.

You can either have point in time recovery enabled or disabled with a simple click from within the AWS Management Console. The retention period for continuous point in time recovery backups is 35 days, meaning you can restore at any point over the previous 35 days.

Point in time recovery really helps to act as an additional security barrier. Should you experience some issues with your tables that may have suffered from accidental or deliberate malicious activity. Should something like this occur, you can restore from any point in time, from the previous 35 days.

If you delete your table you'll still be able to restore your database for the duration of the retention period. When you go to delete your database you are given the option to create a backup before deleting the table as shown in a screenshot. And this final backup will be maintained until you manually delete it and will be classed as a manual on demand backup rather than an automated backup.

Let me now take a look at manual backups known as on demand backups that can be taken with DynamoDB. One of the main benefits that on demand backups has over automatic backups is that they are not limited by the 35 day retention period that exists until you manually delete them. Sometimes this is required to meet certain governance and compliance requirements.

When performing your on-demand backups, you should rest in the comfort that it does not pose any kind of performance throughput impact against your table. Thanks to a unique distributed technology that DynamoDB is built upon. This also enables your backup process to scale which means that your backups can be created in seconds despite how big your database might be in size.

Now, this has the benefit of requiring you not to specify backup windows or schedules. Every time an on-demand backup is taken, a full backup of the entire table is included. Also much like in RDS, you can also use AWS backup to schedule on-demand backups on a regular and recurring basis.

Let me now provide a demonstration on how to both enable and disable automatic backups for point in time recovery in addition to how to run an on-demand backup of your DynamoDB table.

Okay, so currently I'm at the dynamo DB dashboard of the AWS Management console. Now, if I go across to tables, we can see that have a very simple table here. It's only got five items in it, product one, two, three, four, and five, but what I want to do with table is enable automatic backups for the point in time recovery.

Now, to do that, I'll go across to the backups tab. Now at the top here, we see points in time recovery. Now at the moment, the status of this is disabled, but what I want to do is to enable it. So it's very simple simply click on enable, and it will check with you to say do you want to enable point in time recovery on this table? And then just say enable.

Now straight away this will give you the earliest restore date and time. So straight away it's created a backup. Now, if I wanted to disable point in time recovery then I would simply click on disable. So that's very easy to enable or disable point in time recovery. And in the next lecture, I'll show you how to restore from a particular point in time as well. But at the moment in this demonstration, I want to show you how to create a manual backup.

Now, if we scroll down here, we can see on demand, backup and restore. So to create a manual backup, simply click on, create backup, make sure you select the right table and then create a backup name. Just call it my backup, click on create. And it says the backup request was successful. And now if you sit at the bottom here you can see we have a manual backup and the creation time as well. So it's very easy to both enable and disable point in time recovery and also create a manual backup for your DynamoDB tables.


Course Introduction - RDS Backup Capabilities - Restoring an RDS Database - Copying & Sharing RDS Snapshots - Restoring an Amazon DynamoDB Database - Course Summary

About the Author
Learning Paths

Danny has over 20 years of IT experience as a software developer, cloud engineer, and technical trainer. After attending a conference on cloud computing in 2009, he knew he wanted to build his career around what was still a very new, emerging technology at the time — and share this transformational knowledge with others. He has spoken to IT professional audiences at local, regional, and national user groups and conferences. He has delivered in-person classroom and virtual training, interactive webinars, and authored video training courses covering many different technologies, including Amazon Web Services. He currently has six active AWS certifications, including certifications at the Professional and Specialty level.