DynamoDB charges for reading, writing, and storing data in your DynamoDB tables, along with any optional features you choose to enable. DynamoDB has two capacity modes, which come with specific billing options for processing reads and writes on your tables: on-demand and provisioned.
There are two pricing options available for Amazon DynamoDB: on-demand capacity mode and provisioned capacity mode. With two pricing models, DynamoDB allows you to choose the best pricing option for your workload.
With on-demand capacity mode, DynamoDB charges you for the data reads and writes your application performs on your tables. You can get started without specifying read or write capacity as DynamoDB will instantly adjust based on your workloads’ requirements
On-demand capacity mode might be best if you:
- Create new tables with unknown workloads
- Have unpredictable application traffic
- Prefer the ease of paying for only what you use
With provisioned capacity mode, you specify the number of reads and writes per second that you expect your application to require. You can use auto scaling to automatically adjust your table’s capacity based on the specified utilization rate to ensure application performance while reducing costs.
Provisioned capacity mode might be best if you:
- Have predictable application traffic
- Run applications whose traffic is consistent or ramps gradually
- Can forecast capacity requirements to control costs
How to calculate costs
The best way to calculate the monthly cost of DynamoDB is to utilize the AWS Pricing Calculator. This simple, interactive tool provides the ability to estimate monthly costs based on read and write throughput along with chargeable options, including change data capture, data import and export to Amazon S3, and backup and restore. Easily calculate your DynamoDB monthly costs with the AWS Pricing Calculator that allows you to input your application requirements such as table class and data storage along with read and write throughput. Include popular options like backup and restore and select between on-demand and provisioned capacity billing models.
Not sure where to start? AWS specialists are standing by to provide you with a personalized quote.
Optimize storage cost by choosing the right table class for your DynamoDB table
Using the DynamoDB Standard-IA table class can reduce costs for tables that store data you don’t access frequently. That said, be aware that DynamoDB reads and writes for this table class are priced higher than for standard tables. Learn more about DynamoDB cost optimization »
Use cost allocation tags for DynamoDB
Tagging for DynamoDB provides granular visibility into your DynamoDB bill. You can assign tags to your tables and see the cost breakouts per table to help with cost optimization by usage. Learn more about cost allocation tags for DynamoDB »
Usage and pricing scenarios
Scenario 1: Provisioned capacity pricing
Pricing is calculated for an auto-scaling-enabled table with the provisioned capacity mode. Auto scaling continuously sets provisioned capacity in response to actual consumed capacity—so that actual utilization stays near target utilization. Read the full detailed Amazon DynamoDB provisioned pricing example here.
Scenario 2: On-demand capacity pricing
Pricing can be calculated for on-demand usage, particularly if your usage fluctuates or you're unsure what your traffic patterns will be. Read the full detailed Amazon DynamoDB on-demand pricing example here.
Is AWS DynamoDB more cost-effective than other solutions for storing data?
DynamoDB is a true serverless non-relational database. Compared to other databases that charge on various metrics, like storage, DynamoDB can scale-to-zero, meaning when customers utilize on-demand mode they only pay for active resources consumed.
When should I use DynamoDB on-demand vs provisioned capacity mode, and how does the pricing compare?
Simply put, on-demand is better suited to customers who prefer to only pay for what they use or have unpredictable workloads. Provisioned capacity is popular with customers with applications that demonstrate consistent or predictable traffic and prefer to forecast capacity requirements to control costs.
What are the billing units for DynamoDB serverless on-demand?
DynamoDB is unique in that it is a serverless database that provides customers with the option of only paying for the resources they consume—while scaling to zero when not in use with on-demand pricing. When the database is in-use, write request units and read request units are used to calculate charges.
What are the extra cost options available for DynamoDB?
DynamoDB includes a broad set of options that can be added to the service. A partial list includes:
- On-demand backup which takes snapshot backups at specified points in time
- Global tables for multi-region, multi-active replication
- DynamoDB Accelerator (DAX) reduces latency through in-memory cache
- DynamoDB streams for time-ordered sequences of item-level changes to a table
Does DynamoDB offer a free tier?
Yes, the free tier for DynamoDB provides 25GB of storage, along with 25 provisioned Write and 25 provisioned Read Capacity Units (WCU, RCU) which is enough to handle 200M requests per month.