Skip to content

How to estimate DynamoDB ExportToS3 cost?

0

For example, I have 1 GB of data in total and 1 million records, no LSIs.

The export to S3 documentation says it does not consume RCUs, but it does PUT requests and I wonder how many PUT requests does it do for the amount of data that I have?

asked 10 months ago528 views
2 Answers
2
Accepted Answer

If you have 1GB of data in a single partition, it will result in one output file. However, if you have multiple partitions, you will get one file per partition. If you use on-demand capacity mode, you will have a minimum of 4 partitions, which will result in at least 4 files on S3. Unfortunately you will not be able to identify how many partitions you have until you do the export.

AWS
EXPERT
answered 10 months ago
1

To estimate the cost of exporting DynamoDB data to S3, you need to consider several factors:

  1. Data size: DynamoDB charges for full exports based on the size of the table data at the point in time when the export is created. In your case, this would be 1 GB.

  2. PUT requests: The export process will generate PUT requests to S3. The number of PUT requests is not directly proportional to the number of records, but rather to how the data is partitioned during export.

For your 1 GB of data with 1 million records, we can make an estimate:

  • DynamoDB typically creates approximately one file per partition.
  • Each partition can hold about 10 GB of data.
  • Given your data size is 1 GB, it's likely to fit within a single partition.

Therefore, you might expect a relatively small number of PUT requests, possibly in the range of 10-100, rather than one per record.

To calculate the cost:

  1. Export charge: Based on the 1 GB of data exported.
  2. S3 storage: Cost for storing the exported data in S3.
  3. S3 PUT requests: Cost for the PUT requests made to S3 during export.

The exact number of PUT requests and resulting cost will depend on how DynamoDB partitions your data during the export process. It's important to note that while this process doesn't consume your table's read capacity, it does incur charges based on the amount of data exported.

For more precise cost estimation, you may want to perform a test export with a small subset of your data and extrapolate the results, or consult with AWS support for a more accurate estimate based on your specific data characteristics.
Sources
DynamoDB data export to Amazon S3: how it works - Amazon DynamoDB
Exporting DynamoDB table to S3 | AWS re:Post
Amazon DynamoDB Pricing for Provisioned Capacity

answered 10 months ago
AWS
EXPERT
reviewed 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.