AWS, Cloud Computing

4 Mins Read

Serverless Migration of Data Using DynamoDB Export to S3

Voiced by Amazon Polly

Overview

Amazon DynamoDB is a serverless NoSQL database that gives single-digit millisecond performance at any scale. It provides two integrated backup techniques i.e., on-demand and point-in-time recovery that are appropriate for backing up your tables for disaster recovery. But you cannot use this data for data analysis and ETL processes.

For this purpose, customers had to rely on Amazon EMR, AWS Data Pipeline, or AWS Glue services which require high read throughput, resulting in high operating and maintenance costs.

Freedom Month Sale — Upgrade Your Skills, Save Big!

  • Up to 80% OFF AWS Courses
  • Up to 30% OFF Microsoft Certs
Act Fast!

Introducing DynamoDB Export to S3 feature

Using this feature, you can export table data to the Amazon S3 bucket anytime within the point-in-time recovery window, up to 35 days. It does not consume any read capacity on the table while exporting data and the performance and availability of the table are unaffected. We can use AWS Management Console, AWS CLI, or the DynamoDB API to export DynamoDB table data to S3.

We can export data to another AWS account S3 bucket if you have the correct IAM permissions to write into that bucket and across the different regions. It supports two formats i.e., DynamoDB JSON and Amazon ION text format to export data to S3.  You can concurrently export up to 300 export tasks or up to 100 TB of table size. DynamoDB table export is intended to be faster than table scan export. The actual time it takes for the export to complete, however, is determined by the size of the table and how evenly the table data is dispersed.

Step-by-Step Guide to Export Amazon DynamoDB Table Data to S3

Step 1: Sign into the Amazon management console. Create an Amazon S3 bucket to store the Amazon DynamoDB tables data.

export1

Step 2: Exporting data to Amazon S3

  1. Enter DynamoDB in the amazon search bar and select Amazon DynamoDB
  2. In the navigation pane, go to Exports to S3
  3. Click on Export to S3. To send Amazon DynamoDB tables data to S3.

export2

4. Select the Amazon DynamoDB table name that you want to export as the Source table.

5. Enable PITR, if you have not already enabled continuous backups

6. Under Destination S3 bucket, browse the bucket name where you want to export data.

7. Select the S3 bucket owner as an AWS account, where your S3 bucket is present.

export3

export4

8. Check on Additional settings for more options such as selecting specific point-in-time, file formats, and encryption keys. Here I am using the default

9. Click on Export

export5

Note:  If you choose to encrypt your export using a key protected by AWS Key Management Service (AWS KMS), the key must be in the same Region as the destination S3 bucket.

10. Verify the status of the export, in DynamoDB export to the S3 console.

export6

Step 3: Verify the exported table data in the destination Amazon S3 bucket.

  1. Open the Amazon S3 console. Select the destination Bucket to see whether data is exported successfully or not.

export7

2. Here you can see the folders created by Amazon DynamoDB export. It includes two manifest files in addition to the files containing your table data.

export8

 

Conclusion

It is the easiest way to export data to S3 without building custom applications or writing code. You can perform ETL against data exported on S3 and you can import it back to DynamoDB anytime. By storing data in S3 other AWS services i.e., Amazon Athena or Amazon Redshift can easily access and perform analytics on the data.

Freedom Month Sale — Discounts That Set You Free!

  • Up to 80% OFF AWS Courses
  • Up to 30% OFF Microsoft Certs
Act Fast!

About CloudThat

CloudThat is an award-winning company and the first in India to offer cloud training and consulting services worldwide. As a Microsoft Solutions Partner, AWS Advanced Tier Training Partner, and Google Cloud Platform Partner, CloudThat has empowered over 850,000 professionals through 600+ cloud certifications winning global recognition for its training excellence including 20 MCT Trainers in Microsoft’s Global Top 100 and an impressive 12 awards in the last 8 years. CloudThat specializes in Cloud Migration, Data Platforms, DevOps, IoT, and cutting-edge technologies like Gen AI & AI/ML. It has delivered over 500 consulting projects for 250+ organizations in 30+ countries as it continues to empower professionals and enterprises to thrive in the digital-first world.

FAQs

1. How long will it take to export the Amazon DynamoDB table to S3?

ANS: – Amazon DynamoDB tables data volume will determine how long it takes to export the entire table. It takes at least 30 seconds, even for the smallest table.

2. How much does it cost to export DynamoDB to S3?

ANS: – Running Export to S3 Costs $0.10 per GB and additional S3 costs for data storage and upload, which vary depending on the region you are in.

3. Will DynamoDB export to the S3 feature be supported in all AWS regions?

ANS: – Yes, this feature is now available in every region.

WRITTEN BY Anusha

Anusha works as a Subject Matter Expert at CloudThat. She handles AWS-based data engineering tasks such as building data pipelines, automating workflows, and creating dashboards. She focuses on developing efficient and reliable cloud solutions.

Share

Comments

    Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!