Pay only for the resources you provision. There is no minimum fee to use DynamoDB. Estimate your monthly bill using the Simple Monthly Calculator

Download this TCO whitepaper for additional guidance on estimating costs for your expected usage: The Total Cost of (Non) Ownership of a NoSQL Database service.
 

Get started with DynamoDB for free. Many applications can operate within these free tier limits.

You only pay for the resources you consume beyond these free tier limits. DynamoDB’s free tier does not expire at the end of your 12 month AWS Free Tier term and is available to all AWS customers.

Get Started with AWS for Free

Create a Free Account

AWS Free Tier offers 25 GB of storage, up to 200 million requests per month with Amazon DynamoDB.

View AWS Free Tier Details »

Unlike traditional NoSQL deployments that ask you to think about memory, CPU, and other system resources that could affect your throughput, DynamoDB simply asks you to specify the target utilization rate and minimum to maximum capacity that you want for your table. DynamoDB handles the provisioning of resources to achieve your target utilization of read and write capacity, then auto scales your capacity based on usage. Optionally, you can directly specify read and write capacity if you prefer to manually manage table throughput.

The following table summarizes key DynamoDB pricing concepts.

Resource Type Details Monthly Price
Provisioned Throughput (Write) One write capacity unit (WCU) provides up to one write per second, enough for 2.5 million writes per month As low as  $0.47 per WCU
Provisioned Throughput (Read) One read capacity unit (RCU) provides up to two reads per second, enough for 5.2 million reads per month As low as  $0.09 per RCU
Indexed Data Storage DynamoDB charges an hourly rate per GB of disk space that your table consumes As low as  $0.25 per GB

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more

Assume that your application running in the US East (N. Virginia) region needs to perform 5 million writes and 5 million eventually consistent reads per day on a DynamoDB table, while storing 8 GB of data. For simplicity, assume that your workload is relatively constant throughout the day and your table items are no larger than 1 KB in size.  

  • Write Capacity Units (WCUs): 5 million writes per day equals 57.9 writes per second. 1 WCU can handle 1 write per second, so you need 58 WCUs. At $0.47 per WCU per month, 58 WCUs costs $27.26 per month.
  • Read Capacity Units (RCUs): 5 million reads per day equals 57.9 reads per second. 1 RCU can handle 2 eventually consistent reads per second, so you need 29 RCUs. At $0.09 per RCU per month, 29 RCUs costs $2.61 per month.
  • Data Storage: Your table occupies 8 GB of storage. At $0.25 per GB per month, your table costs $2.00.

Total cost is $31.86 per month ($27.14 of write provisioned throughput, $2.71 of read provisioned throughput, and $2.00 of indexed data storage).

If you haven’t consumed your free tier allotment (25 WCUs, 25 RCUs, and 25 GB of storage), then total cost is $15.82 per month ($15.44 for the remaining 33 WCUs, $0.37 for the remaining 4 RCUs, and $0.00 for indexed data storage).

Use the Simple Monthly Calculator to estimate DynamoDB costs for different resource requirements.  

Auto Scaling eliminates the guesswork involved in provisioning adequate capacity when creating new tables and reduces the operational burden of continuously monitoring consumed throughput and adjusting provisioned capacity manually. When you create a new DynamoDB table, Auto Scaling is enabled by default, with target utilization set at 70%, (% of Consumed Capacity ÷ Provisioned Capacity), minimum capacity at 5 RCUs and 5 WCUs, and maximum capacity set to limits allowed for your account (see Limits in DynamoDB). Auto Scaling continuously sets provisioned capacity, in response to dynamically changing consumed capacity for actual utilization to stay near target utilization. DynamoDB billing is metered every hour, the exact timing being variable, by customer account. The example below demonstrates how pricing is calculated for an Auto Scaling enabled table, assuming changes in consumed capacity, once every hour.

Assume you create a new table in US East (N.Virginia) region, with the target utilization set to default value of 70%, minimum capacity units changed to 100 RCUs and 100 WCUs, and maximum capacity set to default limit of 40,000 RCUs and 40,000 WCUs. Auto Scaling will operate with these limits, not allowing scale down of provisioned capacity below the minimum and scale up provisioned capacity above the maximum. When the table is created, Auto Scaling would start by provisioning the minimum capacity units.

  • Within the first hour after table creation, assume that the consumed read and write capacity units vary between 1 and 70. The actual utilization would correspondingly vary between 1% (% of 1 consumed ÷100 provisioned) and 70% (% of 70 consumed ÷100 provisioned), within the target utilization of 70%. Auto Scaling would not trigger any scaling activities and your bill for the hour would be $0.065 for the 100 WCUs provisioned ($0.00065 * 100), and $0.013 for the 100 RCUs ($0.00013 * 100).
  • During second hour, assume the consumed capacity when metered, increases to 100 RCUs and 100 WCUs, which would result in an actual utilization increase to 100% (% of 100 consumed ÷ 100 provisioned), well above the target utilization of 70%. Auto Scaling would now start triggering scale up activities to increase the provisioned capacity to bring actual utilization closer to target of 70%, resulting in provisioned capacity of 143 RCUs and 143 RCUs (% of 100 consumed ÷ 143 provisioned). The bill for this second hour would be $0.0925 for 143 WCUs and $0.01859 for 143 RCUs.
  • During third hour, assume the consumed capacity when metered, decreases to 80 RCUs and 80 WCUs, which would result in an actual utilization decrease to 56% (% of 80 consumed ÷ 143 provisioned), well below the target utilization of 70%. Auto Scaling would now start triggering scale down activities to decrease provisioned capacity to bring actual utilization closer to target of 70%, resulting in provisioned capacity of 114 RCUs and 114 WCUs (% of 80 consumed ÷ 114 provisioned). The bill for this third hour would be $0.0741 for 114 WCUs and $0.01482 for 114 RCUs.

Your monthly bill for the table is the sum total of the hourly pricing of the capacity provisioned by Auto Scaling through the month.

When you create or update your Amazon DynamoDB table, you specify the target utilization, minimum and maximum capacity limits for Auto Scaling, or how much capacity you wish to reserve for reads and writes. Behind the scenes, DynamoDB handles the provisioning of hardware resources to meet your throughput needs with consistent, low-latency performance. You pay a flat, hourly rate based on the capacity you provision:

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

* For tables with small-sized items, one unit of capacity can handle one request per second (or two requests per second in the case of eventually consistent reads). Tables with large items may require more units of capacity to handle the same request rate. For more information, see our FAQ: “What is a read/write capacity unit?”

If you can predict your need for DynamoDB read and write throughput, Reserved Capacity offers significant savings over the normal price of DynamoDB provisioned throughput capacity. You pay a one-time upfront fee and commit to paying for a minimum usage level at the following hourly rates for the duration of the Reserved Capacity term. Any throughput that you provision in excess of your Reserved Capacity is billed at standard provisioned throughput rates.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

* Reserved capacity can only be purchased in blocks of 100 WCUs or 100 RCUs.

Amazon DynamoDB is an SSD-backed indexed datastore and the amount of disk space your data consumes will exceed the raw size of the data you have uploaded. Amazon DynamoDB measures the size of your billable data by adding up the raw byte size of the data you upload, plus a per-item storage overhead of 100 bytes to account for indexing. You do not need to “provision” storage with Amazon DynamoDB. You are simply billed for what you use, as described above.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more

Data transfer “in” and “out” refers to transfer into and out of Amazon DynamoDB. There is no additional charge for data transferred between Amazon DynamoDB and other Amazon Web Services within the same Region (i.e., $0.00 per GB). Data transferred across Regions (e.g., between Amazon DynamoDB in the US East (Northern Virginia) Region and Amazon EC2 in the EU (Ireland) Region), will be charged on both sides of the transfer.

For Data Transfer exceeding 500TB/Month please Contact Us

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

* As part of AWS’s Free Usage Tier, AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year except in the AWS GovCloud Region.

Global Tables builds upon DynamoDB’s global footprint to provide you with a fully managed, multi-region, and multi-master database that provides fast local read and write performance for massively scaled, global applications. Global Tables replicates your Amazon DynamoDB tables automatically across your choice of AWS regions.

Global Tables are charged based on the resources associated with each replica table. Write capacity for Global Tables is represented by ‘replicated write capacity units’ (rWCUs) instead of standard write capacity units (WCUs.) For more details on Global Tables, please refer to the DynamoDB Developer Guide.

Data Transfer OUT (for cross-region replication) pricing varies by usage. Please refer to the ‘Data Transfer’ pricing section, directly above.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

On-Demand Backup allows you to create full backups of your DynamoDB table data and settings for data archival, helping you meet your corporate and governmental regulatory requirements. You can backup tables from a few megabytes to hundreds of terabytes of data, with no impact on performance and availability to your production applications.

On-Demand Backup is charged based on the storage size of the table, at the time of backup request time. The total backup storage size billed each month is the sum of all backups of DynamoDB tables in an AWS account, by region. On-demand backups will continue to be billed at the same rate until you delete the backup.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

On-Demand Restore is charged based on total size of data restored for each request, which is the same as the On-Demand Backup size.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB. On-Demand instances let you pay for DAX capacity by the hour and your DAX instances run with no long-term commitments. This frees you from the costs and complexities of planning, purchasing, and maintaining hardware and transforms what are commonly large fixed costs into much smaller variable costs.

Pricing is per node-hour consumed, from the time a node is launched until it is terminated. Each partial node-hour consumed will be billed as a full hour. Pricing applies to all individual nodes in the DAX cluster. For example, if you have a three node DAX cluster, you will be billed for each of the separate nodes (three nodes in total) on an hourly basis. To maximize availability, we recommend creating a three node cluster where each node is in a different Availability Zone (when possible).

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more

DAX Data Transfer

Amazon DynamoDB Accelerator (DAX) provides strong network level security by allowing access/data transfer only from or to the Amazon EC2 Instances you define as part of your Security Groups.

  • There is no charge for data transfer between Amazon EC2 and Amazon DAX within the same Availability Zone.

While standard Amazon EC2 Regional Data Transfer charges of $0.01 per GB in/out apply when transferring data between an Amazon EC2 instance and an Amazon DAX Node in different Availability Zones of the same Region, you are only charged for the Data Transfer in or out of the Amazon EC2 instance. There is no Amazon DAX Data Transfer charge for traffic in or out of the Amazon DAX node itself.

Amazon DynamoDB Streams is a time-ordered sequence of item-level changes on an Amazon DynamoDB table. There is no charge for enabling DynamoDB Streams. You only pay for reading data from DynamoDB Streams, measured in read request units. Each “GetRecords” API call is billed as a DynamoDB Streams read request unit and returns up to 1MB of data from DynamoDB Streams.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS is subject to Japanese Consumption Tax. Learn more.

When you set up DynamoDB Triggers, your AWS Lambda function constantly reads from DynamoDB Streams in response to the writes that you make to the table. You are not charged for these reads on DynamoDB Streams made by AWS Lambda as part of DynamoDB Triggers. You only pay for AWS Lambda resources that you consume. Learn more about AWS Lambda pricing here

DynamoDB cross-region replication is enabled using the DynamoDB Cross-region Replication Library. While there is no additional charge for the cross-region replication library, you pay the usual prices for the following resources used by the process. You will be billed for:

  • Provisioned throughput (writes and reads) and storage for the replica tables.
  • Data transfer across regions.
  • Reading data from DynamoDB Streams to keep the tables in sync.
  • The EC2 instances provisioned to host the replication process. The cost of the instances will depend on the instance type you choose and the region hosting the instances.