Amazon DynamoDB - How AWS Pricing Works

Amazon DynamoDB

Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and supports both document and key-value store models. Its flexible data model, reliable performance, and automatic scaling of throughput capacity make it a great fit for mobile, web, games, ad tech, IoT, and many other applications.

Amazon DynamoDB pricing at a glance

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 and those come with specific billing options for processing reads and writes on your tables: on-demand capacity mode and provisioned capacity mode.

DynamoDB read requests can be either strongly consistent, eventually consistent, or transactional.

On-Demand Capacity Mode

With on-demand capacity mode, you pay per request for the data reads and writes your application performs on your tables. You do not need to specify how much read and write throughput you expect your application to perform as DynamoDB instantly accommodates your workloads as they ramp up or down. DynamoDB charges for the core and optional features of DynamoDB.

Table : Amazon DynamoDB On-Demand Pricing

Core Feature Billing unit Details
Read request unit (RRU)

API calls to read data from your table are billed in RRU.

A strongly consistent read request of up to 4 KB requires one RRU.

For items larger than 4 KB, additional RRUs are required.

For items up to 4 KB,

An eventually consistent read request requires one-half RRU.

A transactional read request requires two RRUs

Write request unit (WRU)

Each API call to write data to your table is a WRU

A standard WRU can write an item up to 1KB.

Items larger than 1 KB require additional WRUs.

Transactional write requires two WRUs.

Example RRU:

  • A strongly consistent read request of an 8 KB item requires two read request units

  • An eventually consistent read of an 8 KB item requires one read request unit.

  • A transactional read of an 8 KB item requires four read request units.

Example WRU:

  • A write request of a 1 KB item requires one WRU

  • A write request of a 3 KB item requires three WRUs.

  • A transactional write request of a 3 KB item requires six WRUs.

For details on how DynamoDB charges for the core and optional features of DynamoDB, see Pricing for On-Demand Capacity.

Provisioned Capacity Mode

With provisioned capacity mode, you specify the number of data reads and writes per second that you require for your application. 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.

Table : Amazon DynamoDB Provisioned Capacity Mode

Core Feature Billing unit Details
Read Capacity unit (RCU)

API calls to read data from your table is an RCU.

Items up to 4 KB in size, one RCU can perform one strongly consistent read request per second.

For Items larger than 4 KB require additional RCUs

For items up to 4 KB,

One RCU can perform two eventually consistent read requests per second

Transactional read requests require two RCUs to perform one read per second

Write Capacity Unit (WCU)

Each API call to write data to your table is a write request

For items up to 1 KB in size, one WCU can perform one standard write request per second

Items larger than 1 KB require additional WCUs.

Transactional write requests require two WCUs to perform one write per second for items up to 1 KB

Data Storage

DynamoDB monitors the size of tables continuously to determine storage charges

DynamoDB measures the size of your billable data by adding the raw byte size of the data you upload plus a per-item storage overhead of 100 bytes to account for indexing.

First 25 GB stored per month is free

Example WCU

  • A standard write request of a 1 KB item would require one WCU.

  • A standard write request of a 3 KB item would require three WCUs.

  • A transactional write request of a 3 KB item would require six WCUs.

Example RCU:

  • A strongly consistent read of an 8 KB item would require two RCUs.

  • An eventually consistent read of an 8 KB item would require one RCU.

  • A transactional read of an 8 KB item would require four RCUs.

For details see Amazon DynamoDB pricing.

Data transfer

There is no additional charge for data transferred between Amazon DynamoDB and other AWS services within the same Region. 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.

Global tables

Global tables builds on 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.

DynamoDB charges for global tables usage based on the resources used on each replica table. Write requests for global tables are measured in replicated WCUs instead of standard WCUs. The number of replicated WCUs consumed for replication depends on the version of global tables you are using.

Read requests and data storage are billed consistently with standard tables (tables that are not global tables). If you add a table replica to create or extend a global table in new Regions, DynamoDB charges for a table restore in the added regions per gigabyte of data restored. Cross-Region replication and adding replicas to tables that contain data also incur charges for data transfer out.

For more information, see Best Practices and Requirements for Managing Global Tables.

Learn more about pricing for additional DynamoDB features at the Amazon DynamoDB pricing page.