Free tier
DynamoDB Free tier is only available in the Amazon Web Services China (Ningxia) Region operated by NWCD. The Free Tier includes 25 GB of Storage, 25 provisioned Write Capacity Units (WCU), 25 provisioned Read Capacity Units (RCU), enough to handle up to 200M requests per month.
Amazon Pricing Calculator
You can estimate your monthly bill using the Amazon Pricing Calculator. The calculator allows you to estimate the cost of Amazon DynamoDB.
Amazon DynamoDB Provisioned Capacity – China (Beijing) and China (Ningxia) Regions
Amazon DynamoDB lets you specify the request throughput you want your table to be able to support (your table’s “throughput capacity”). Behind the scenes, DynamoDB handles the provisioning of resources to achieve your requested throughput rate. Rather than asking you to think about instances, hardware, memory, and other factors that could affect your throughput capacity, we simply ask you to provision the throughput level you want to achieve and we handle the rest.
You pay a flat, hourly rate based on the capacity you provision and on your table class. DynamoDB offers two table classes designed to help you optimize for cost. The DynamoDB Standard table class is the default and recommended for the vast majority of workloads. The DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class is optimized for tables that store data that is accessed infrequently, where storage is the dominant cost. Each table class offers different pricing for data storage as well as read and write requests. You can select the cost-effective table class based on your table’s storage requirements and data access patterns. To learn more about table classes, see Considerations When Choosing a Table Class.
For DynamoDB Standard table class:
- Write throughput: ¥ 0.058 for every 10 units of write capacity
- Read throughput: ¥ 0.058 for every 50 units of read capacity
For DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class:
- Write throughput: ¥ 0.0725 for every 10 units of write capacity
- Read throughput: ¥ 0.0725 for every 50 units of read capacity
For small items, one unit of capacity can handle one request per second (or two requests per second in the case of eventually consistent reads). Transactional requests require two capacity units. In DynamoDB, a transactional request differs from a non-transactional request in that it guarantees all operations contained in a single transaction set succeed or fail as a set. Larger items may require more units of capacity to handle the same request rate. To learn more about estimating how many capacity units you need for your table, see Working with Tables in DynamoDB.
Amazon DynamoDB On-Demand Capacity – China (Beijing) and China (Ningxia) Regions
When you create or update your DynamoDB table, you can choose on-demand capacity mode to use DynamoDB with no capacity planning required. DynamoDB handles capacity management on your behalf and serves read and write requests on demand.
You pay a flat price for each read or write request performed based on your table class. DynamoDB offers two table classes designed to help you optimize for cost. The DynamoDB Standard table class is the default and recommended for the vast majority of workloads. The DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class is optimized for tables that store data that is accessed infrequently, where storage is the dominant cost. Each table class offers different pricing for data storage as well as read and write requests. You can select the cost-effective table class based on your table’s storage requirements and data access patterns. To learn more about table classes, see Considerations When Choosing a Table Class.
For DynamoDB Standard table class:
- Write requests: ¥ 5.60 for every 1,000,000 write request units
- Read requests: ¥ 1.115 for every 1,000,000 read request units
For DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class:
- Write requests: ¥ 6.950 for every 1,000,000 write request units
- Read requests: ¥ 1.395 for every 1,000,000 read request units
For small items, DynamoDB charges one request unit for one request (or two requests in the case of eventually consistent reads). Transactional requests require two request units. Larger items may require request units for each request. To learn more about how write request units and read request units work, see Working with Tables in DynamoDB.
Amazon DynamoDB Indexed Data Storage – China (Beijing) and China (Ningxia) Regions
You do not need to provision storage. DynamoDB monitors the size of your tables continuously to determine your storage charges based on your usage. DynamoDB measures the size of your billable data by adding the raw byte size of your data plus a per-item storage metadata that depends on the features you have enabled. See the DynamoDB User Guide https://docs.amazonaws.cn/en_us/amazondynamodb/latest/developerguide/Capacit yUnitCalculations.html to learn more. The price for data storage depends on your table class.
For DynamoDB Standard table class:
- ¥ 2.20 per GB-month
For DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class:
- ¥ 0.88 per GB-month
Amazon DynamoDB Streams – China (Beijing) and China (Ningxia) Regions
DynamoDB charges for reading data from DynamoDB Streams in read request units. Each GetRecords API call is billed as a streams read request unit and returns up to 1 MB of data from DynamoDB Streams. Streams read request units are unique from read requests on your DynamoDB table. You are not charged for GetRecords API calls invoked by Amazon Lambda as part of DynamoDB triggers. You also are not charged for GetRecords API calls invoked by DynamoDB global tables.
Amazon DynamoDB Reserved Capacity – China (Beijing) and China (Ningxia) Regions
Reserved capacity pricing offers significant savings over the normal price of DynamoDB provisioned throughput capacity. When you buy reserved capacity, you pay a one-time upfront fee and commit to paying for a minimum usage level, at the hourly rates indicated in the table below, for the duration of the reserved capacity term. Reserved capacity is available for single-region, provisioned read and write capacity on tables that use the DynamoDB Standard table class and tables that use the DynamoDB Standard-IA table class. The reserved capacity you purchase for a given table class only applies to tables that use this table class. Reserved capacity is not available for tables that use the on-demand capacity mode. To purchase reserved capacity, navigate to the Amazon Web Services Management Console, navigate to the DynamoDB console, choose Reserved capacity, and then choose Purchase reserved capacity.
For DynamoDB Standard table class:
1-year term | ||
---|---|---|
Monthly commitment | Upfront | Hourly |
100 write capacity units | ¥ 1,300 | ¥ 0.120 |
100 read capacity units | ¥ 280 | ¥ 0.022 |
For DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class:
1-year term | ||
---|---|---|
Monthly commitment | Upfront | Hourly |
100 write capacity units | ¥ 2,810 | ¥ 0.2588 |
100 read capacity units | ¥ 600 | ¥ 0.0475 |
Reserved capacity pricing offers significant savings over the normal price of DynamoDB provisioned throughput capacity. When you buy reserved capacity, you pay a one-time upfront fee and commit to paying for a minimum usage level, at the hourly rates indicated in the preceding table, for the duration of the reserved capacity term. To purchase reserved capacity, navigate to the Amazon Web Services Management Console,navigate to the DynamoDB console, choose Reserved capacity, and then choose Purchase reserved capacity.
Amazon Kinesis Data Streams for Amazon DynamoDB – China (Beijing) and China (Ningxia) Regions
Use this feature to continuously capture item-level changes on your Amazon DynamoDB tables and replicate them in near-real time to your Amazon Kinesis data stream. For every item-level change, Amazon DynamoDB replicates both the new and old item’s images to your Amazon Kinesis data stream.
We’ve introduced a new Amazon DynamoDB pricing dimension, change data capture unit, that counts the item-level changes being replicated from your table. Amazon DynamoDB charges change data capture operations as “delegated operations”. This means that Amazon DynamoDB performs them on your behalf, and you don’t need to manage capacity for these requests. When you create or delete an item in a table, Amazon DynamoDB charges one change data capture unit per chunk of 1KB that constitutes the item being created or deleted. When updating or replacing an existing item, Amazon DynamoDB charges one change data capture unit per chunk of 1KB that constitutes the new item’s image only.
- ¥ 0.89230 per million change data capture units for Kinesis Data Streams
Additional charges apply for provisioning shards in your Amazon Kinesis data stream and for PUT requests made against you Amazon Kinesis data stream. For more information about these charges, see Amazon Kinesis Data Streams pricing.
Amazon DynamoDB Data Transfer – China (Beijing) and China (Ningxia) Regions
Pricing | |
---|---|
Data transfer IN | |
All data transfer in | ¥ 0.000 per GB |
Data transfer OUT | |
All data transfer out | ¥ 0.933 per GB (promotional) |
Data transfer “in” and “out” refers to transfer into and out of DynamoDB. There is no additional charge for data transferred between DynamoDB and other services within the same Amazon Web Services Region (in other words, ¥0.00 per GB).
Data transfer out rate sizes aggregate outbound data transfer across Amazon EC2, Amazon EBS, Amazon S3, Amazon Glacier, Amazon RDS, DynamoDB, Amazon SQS, Amazon SNS, Amazon Storage Gateway, and Amazon VPC.
Amazon DynamoDB On-Demand Backup – China (Beijing) and China (Ningxia) Regions
With on-demand backups, you can create full backups of your Amazon DynamoDB table data and settings for data archiving, helping you meet your corporate and governmental regulatory requirements. You can back up tables from a few megabytes to hundreds of terabytes of data, with no impact on the performance or availability of your production applications.
On-demand backup is charged based on the storage size of the table (in other words, the table data and local secondary indexes). The size of each backup is determined at the time of each backup request. The total backup storage size billed each month is the sum of all backups of DynamoDB tables in an Amazon Web Services account by Amazon Web Services Region. You will be billed for the total size of your backups for the month less a prorated credit for any backups that are deleted within that billing month. Amazon Web Services will continue to bill you for on-demand backups at the same rate until you delete the backups.
You can use DynamoDB or Amazon Backup to create and manage on-demand backups. To learn more, see Using On-Demand Backup and Restore. With Amazon Backup you can centralize and automate data protection across Amazon Web Services. Amazon Backup also offers advanced features such cross-account and cross-Region on-demand backup copying, low-cost storage tier, backup tagging, and backup encryption that is independent from its source data to help meet your business continuity requirements and optimize backup costs. Additional charges apply for cross-Region data transfer. For more informationa bout these charges, see Amazon Backup pricing.
- ¥ 0.88 per GB-month for warm backup storage
- ¥ 0.29 per GB-month for cold backup storage
*Cold backup storage is supported for on-demand backups that are managed by Amazon Backup only. You can opt-in to use Amazon Backup from the Amazon Web Services Management Console.
Backups that are transitioned to Cold Storage have a minimum 90 days of storage, and backups deleted before 90 days incur a pro-rated charge equal to the storage charge for the remaining days.
Amazon DynamoDB Continuous Backups and Point-in-time Recovery – China (Beijing) and China (Ningxia) Regions
Point-in-time recovery (PITR) provides continuous backups of your DynamoDB table data. You can enable PITR with a single click from the Amazon Web Services Management Console or a single API call. When enabled, DynamoDB maintains continuous backups of your table for the preceding 35 days.
PITR is charged based on the current size of each DynamoDB table (table data, local secondary indexes) where it is enabled. Amazon Web Services will continue to bill you until you disable PITR on each table.
- ¥ 1.76 per GB-month
Amazon DynamoDB Restoring a Table – China (Beijing) and China (Ningxia) Regions
Restoring a table from on-demand backups or PITR is charged based on the total size of data restored (table data, global secondary indexes) for each request.
- ¥ 1.32 per GB for restoring from warm backup storage
- ¥ 1.76 per GB for restoring from cold backup storage
*Restoring from cold backup storage is supported for on-demand backups that are managed by Amazon Backup only. You can opt-in to use Amazon Backup from the Amazon Web Services Management Console. Cold backup storage is not applicable for continuous backups with point-in-time recovery (PITR).
Amazon DynamoDB Encryption at Rest – China (Beijing) Region and China (Ningxia) Region
DynamoDB encryption at rest provides enhanced security by encrypting all your data at rest using encryption keys stored in Amazon Key Management Service (Amazon KMS). This functionality helps reduce the operational burden and complexity involved in protecting sensitive data. With encryption at rest, you can build security-sensitive applications that meet strict encryption compliance and regulatory requirements.
DynamoDB encryption at rest provides an additional layer of data protection by securing your data whenever the data is stored in durable media. Organizational policies, industry or government regulations, and compliance requirements often require the use of encryption at rest to increase the data security of your applications.
Encryption at rest using the Amazon Web Services owned CMK is offered at no additional cost. However, Amazon KMS charges apply for an Amazon Web Services managed CMK and Customer managed CMK.
Amazon DynamoDB Accelerator (DAX) – China (Beijing) and China (Ningxia) Regions
DynamoDB charges for DAX capacity by the hour and your DAX instances run with no long-term commitments. Pricing is per node-hour consumed and is dependent on the instance type you select. Each partial node-hour consumed is 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 are billed for each of the separate nodes (three nodes in total) on an hourly basis.
There is no charge for data transfer between Amazon EC2 and DAX within the same Availability Zone. Standard Amazon EC2 data transfer charges apply when transferring data between an Amazon EC2 instance and a DAX node in different Availability Zones of the same Amazon Web Services Region. However, you are charged only for the data transfer into or out of the Amazon EC2 instance. There is no DAX data transfer charge for traffic into or out of the DAX node itself.
DAX T3 instances run in unlimited mode, which means that you will be charged if your average CPU utilization over a rolling 24-hour period exceeds the baseline of the instance. CPU credits are charged at ¥ 0.773 per vCPU-hour.
China (Beijing) Pricing
DAX Node Type |
vCPU |
Memory (GiB) |
China (Beijing) Pricing |
dax.t3.small |
2 |
2 |
¥ 0.362 per Hour |
dax.t3.medium |
2 |
4 |
¥ 0.725 per Hour |
dax.t2.small |
1 |
2 |
¥ 0.362 per Hour |
dax.t2.medium |
2 |
4 |
¥ 0.725 per Hour |
dax.r5.large |
2 |
16 |
¥ 2.457 per Hour |
dax.r5.xlarge |
4 |
32 |
¥ 4.914 per Hour |
dax.r5.2xlarge |
8 |
64 |
¥ 9.843 per Hour |
dax.r5.4xlarge |
16 |
128 |
¥ 19.673 per Hour |
dax.r5.8xlarge |
32 |
256 |
¥ 39.346 per Hour |
dax.r5.12xlarge |
48 |
384 |
¥ 59.032 per Hour |
dax.r5.16xlarge |
64 |
512 |
¥ 78.709 per Hour |
dax.r5.24xlarge |
96 |
768 |
¥ 118.062 per Hour |
China (Ningxia) Pricing
DAX Node Type |
vCPU |
Memory (GiB) |
China (Ningxia) Pricing |
dax.t3.small |
2 |
2 |
¥ 0.323 per Hour |
dax.t3.medium |
2 |
4 |
¥ 0.644 per Hour |
dax.t2.small |
1 |
2 |
¥ 0.323 per Hour |
dax.t2.medium |
2 |
4 |
¥ 0.644 per Hour |
dax.r4.large |
2 |
15.25 |
¥ 2.427 per Hour |
dax.r4.xlarge |
4 |
30.5 |
¥ 4.845 per Hour |
dax.r4.2xlarge |
8 |
61 |
¥ 9.693 per Hour |
dax.r4.4xlarge |
16 |
122 |
¥ 19.391 per Hour |
dax.r4.8xlarge |
32 |
244 |
¥ 38.775 per Hour |
dax.r4.16xlarge |
64 |
488 |
¥ 77.55 per Hour |
dax.r5.large |
2 |
16 |
¥ 1.78 per Hour |
dax.r5.xlarge |
4 |
32 |
¥ 3.56 per Hour |
dax.r5.2xlarge |
8 |
64 |
¥ 7.13 per Hour |
dax.r5.4xlarge |
16 |
128 |
¥ 14.25 per Hour |
dax.r5.8xlarge |
32 |
256 |
¥ 28.51 per Hour |
dax.r5.12xlarge |
48 |
384 |
¥ 42.76 per Hour |
dax.r5.16xlarge |
64 |
512 |
¥ 57.01 per Hour |
dax.r5.24xlarge |
96 |
768 |
¥ 85.52 per Hour |
Amazon DynamoDB - Global Tables
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 for provisioned capacity and replicated write request units for on-demand capacity. For more information, see Best Practices and Requirements for Managing Global Tables . Read requests and data storage are billed consistently with single-region tables (tables that are not global tables). The pricing depends on your table class. If you add a table replica to create a global table in a new Amazon Web Services Region, DynamoDB charges for a table restore in the added Region per gigabyte of data restored. Cross-region replication and adding replicas to tables that contain data also incur charges for data transfer out. See the "Data transfer" section on this pricing page for details.
For DynamoDB Standard table class:
- Provisioned capacity: ¥ 0.058 for every 10 units of replicated write capacity
- On-demand capacity: ¥ 5.60 for every 1,000,000 replicated write request units
For DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) table class:
- Provisioned capacity: ¥ 0.0725 for every 10 units of replicated write capacity
- On-demand capacity: ¥ 6.95 for every 1,000,000 replicated write request units
Data Export to Amazon S3 – China (Beijing) and China (Ningxia) Regions
Use this feature to export data from your DynamoDB continuous backups (point-in-time recovery) to Amazon S3. The supported output data formats are DynamoDB JSON and Amazon Ion. You can analyze the exported data by using Amazon Web Services services such as Amazon Athena, Amazon SageMaker, and Amazon Lake Formation.
You can choose between a full export and an incremental export. Full exports are charged based on the size of each DynamoDB table (table data and local secondary indexes) at the specified point in time when the backup was created. Incremental exports are charged based on the size of data processed from continuous backups to generate the incremental export output.
DynamoDB charges for data you export based on the size of each DynamoDB table (table data, local secondary indexes, and global secondary indexes) at the specified point in time when the backup was created.
Description | Price |
Full export to Amazon S3 | CNY 0.88000 per GB |
Incremental export to Amazon S3 | CNY 0.88000 per GB |
Additional charges apply for storing exported data in Amazon S3 and for PUT requests made against your Amazon S3 bucket. For more information about these charges, see Amazon S3 pricing.
Data Import from Amazon S3 - China (Beijing) and China (Ningxia) Regions
With data import from S3, you can copy tables between across Amazon Web Services regions and accounts to help migrate data and build new applications, facilitate data sharing and collaboration between teams, and help simplify disaster recovery and business continuity planning. Data import pricing is based on the uncompressed file size in Amazon S3. See Import from S3 for more details. The supported input data formats are CSV, DynamoDB JSON, and Amazon Ion.
Amazon S3 charges also apply for storing your source data and for GET requests made against your Amazon S3 bucket. For more information about Amazon S3 charges, see Amazon S3 pricing.
- ¥ 1.32 per GB
Pricing Examples
DynamoDB pricing examples for On-Demand Capacity
Basic example
This example demonstrates how DynamoDB charges using on-demand capacity mode.
Assume you create a new DynamoDB Standard table in the Amazon Web Services China (Ningxia) Region. Because this table is for a new application, you do not know what your traffic patterns will be. For simplicity, assume that each time a user interacts with your application, 1 write of 1 KB and 1 strongly consistent read of 1 KB are performed.
For a period of 10 days, you receive little traffic to your application, resulting in 10,000 reads and 10,000 writes on your table each day. However, on day 11 your application gains attention on social media, and application traffic spikes to 2,500,000 reads and 2,500,000 writes that day. DynamoDB scales to deliver a seamless experience to your users. Your application then settles into a more regular traffic pattern, averaging 50,000 reads and 50,000 writes each day through the end of the month. The following table summarizes your total usage for the month.
Timeframe (Day of Month) |
Total Writes |
Total Reads |
1–10 |
100,000 writes (10,000 writes x 10 days) |
100,000 reads (10,000 reads x 10 days) |
11 |
2,500,000 writes |
2,500,000 reads |
12-30 |
950,000 writes (50,000 writes x 19 days) |
950,000 reads (50,000 reads x 19 days) |
Monthly total | 3,550,000 writes |
3,550,000 reads |
Monthly bill |
¥19.88 (¥5.60 per million writes x 3.55 million writes) |
¥3.96 (¥1.115 per million reads x 3.55 million reads) |
Data storage: Assume your table occupies 25 GB of storage at the beginning of the month and grows to 29 GB by the end of the month, averaging 27 GB based on DynamoDB continuous monitoring. Since your table class is set to DynamoDB Standard, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 2 GB of storage are charged at ¥2.20 per GB, resulting in a table storage cost of ¥4.40 for the month.
For the month, your bill will be ¥28.24, a total that includes ¥23.84 for reads and writes and ¥4.40 for data storage.
Detailed example
This example demonstrates how DynamoDB charges using on-demand capacity mode.
Assume you create a new DynamoDB Standard table in the Ningxia Region. Because this table is for a new application, you do not know what your traffic patterns will be. For simplicity, assume that each time a user interacts with your application, 1 write of 1 KB and 1 strongly consistent read of 1 KB are performed.
For a period of seven days, you receive little traffic to your application, resulting in 1,000 writes and reads to your table each day. However, on the eighth day your application gains the attention of a prominent influencer in your industry, and application traffic unexpectedly spikes to 10,000,000 writes and reads for the day. Your application then settles into a more regular traffic pattern, averaging 150,000 writes and reads each day for the next two weeks. Traffic then begins to trail off quickly, with transactions dropping to 10,000 writes and reads per day for the next seven days.
Finally, unexpected attention on social media causes your application to go viral. For the final day of the month, your application performs 30,000,000 writes and reads on your table. The following table summarizes your total usage for the month.
Timeframe (Day of Month) |
Total Writes |
Total Reads |
1–7 |
7,000 writes (1,000 writes x 7 days) |
7,000 reads (1,000 reads x 7 days) |
8 |
10,000,000 writes |
10,000,000 reads |
9–22 |
2,100,000 writes (150,000 writes x 14 days) |
2,100,000 reads (150,000 reads x 14 days) |
23–29 | 70,000 writes (10,000 writes x 7 days) |
70,000 reads (10,000 reads x 7 days) |
30 |
30,000,000 writes |
30,000,000 reads |
Monthly total |
42,177,000 writes |
42,177,000 reads |
Monthly bill |
¥236.19 (¥5.60 per million writes x 42.177 million writes) |
¥47.03 (¥1.115 per million reads x 42.177 million reads) |
Data storage: Assume your table occupies 25 GB of storage at the beginning of the month and grows to 29 GB by the end of the month, averaging 27 GB based on continuous monitoring of your table size. Since your table class is set to DynamoDB Standard, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 2 GB of storage are charged at ¥2.20 per GB, resulting in a table storage cost of ¥4.40 for the month.
Backup and restore: If the sum of all your on-demand backup storage were 60 GB for a 30-day month, the monthly cost of your backups would be (¥0.88 x 60 GB) = ¥52.8/month. However, if you delete 15 GB of your on-demand backup data 10 days into the monthly cycle, you are billed (¥0.88 x 60 GB) - (¥0.88 x 15 GB x 20/30) = ¥44.00/month. Now assume that in addition to performing on-demand backups, you use continuous backups. The average size of your table is 27 GB, resulting in a monthly cost of (¥1.76 x 27 GB) = ¥47.52/month. If you need to restore your table at the end of the month, the cost is (¥1.32 x 29 GB) = ¥38.28.
Change data capture for Kinesis Data Streams: Now assume you enable streaming to a Kinesis data stream to process your data changes using Amazon Kinesis services. DynamoDB charges one change data capture unit for each write of 1 KB it captures to the Kinesis data stream. Assuming your application write traffic from earlier in this example is consistent for your Kinesis data stream, this results in 42,177,000 change data capture units over the course of the month. Your monthly cost will be (¥0.8923 x 42,177,000/1,000,000) = ¥37.63.
Data export to Amazon S3: Let’s say you want to export table backups to Amazon S3 for analysis. If the size of your table at the specified point in time is 29 GB, the resulting export costs are: (¥0.88 x 29 GB) = ¥25.52.
DynamoDB Accelerator (DAX): You have determined that you need to accelerate the response time of your application and decide to use DynamoDB Accelerator (DAX). You review the available hardware specifications and determine that a three-node cluster of the t2.small instance type will suit your needs. You enable DAX on day 26. DynamoDB charges ¥0.969 per hour (¥0.323 x 3 nodes), totaling ¥116.28 for the final 5 days in the month (¥0.969 x 120 hours).
Global tables: Now assume you choose to create a disaster recovery replica table in the Amazon Web Services China (Beijing) Region. Assume that you add the replica in the Beijing Region when your table is 25 GB in size, resulting in ¥33 (¥1.32 x 25 GB) of table restore charges. Adding this replica also generates 25 GB of data transfer, as detailed under the "Data transfer" section below. Also assume that your application traffic from earlier in this example is consistent for your global table. You will consume 84.35 million replicated write request units (42,177,000 writes x 2 Regions), as described in Best Practices and Requirements for Managing Global Tables, resulting in a charge of ¥472.36 (84.35 million replicated write request units x ¥ 5.60 per million). You also store an additional 27 GB of data in your replicated table in the Beijing Region. Since your table class is set to DynamoDB Standard, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 2 GB of storage are charged at ¥2.20 per GB, resulting in additional table storage cost of ¥4.40 for the month.
DynamoDB Streams: Assume you enable DynamoDB Streams and build your application to perform one read request per second against the streams data. Over the course of a month, this results in 2,592,000 streams read requests, of which the first 2,500,000 read requests are included in the Amazon Web Services China (Ningxia) Region Free Tier. You pay only for the remaining 92,000 read requests, which are ¥ 0.178 per 100,000 read request units.
Data transfer: Because you are transferring data between Amazon Web Services China Regions for your global tables implementation, DynamoDB charges for data transferred out of the specific China Region but not for inbound data transfer. Assuming 42,177,000 writes of 1 KB each in the month, you would generate 40.22 GB in data to transfer between Regions. Adding the replica in the Beijing Region generates an additional 25 GB of data transfer. If you have already used your Amazon Web Services China (Ningxia) Region Free Tier data transfer allowance on other Amazon Web Services services, you will be charged ¥61.578 (¥0.933 x [41 + 25]) GB) for data transfer.
In summary, your total monthly charges for a single-Region DynamoDB table are:
- Write traffic: ¥236.19
- Read traffic: ¥47.03
- Data storage: ¥4.40
- On-demand backup: ¥44.00
- Continuous (PITR) backup: ¥47.52
- Table restore: ¥38.28
- Change data capture for Kinesis Data Streams: ¥37.63
- Data export to Amazon S3: ¥25.52
- DynamoDB Accelerator (DAX): ¥116.28
- DynamoDB Streams: ¥0.178
Total charges: ¥597.03
Your total monthly DynamoDB charges after adding the Beijing Region are:
- Read traffic: ¥47.03
- Data storage in Ningxia: ¥4.40
- On-demand backup: ¥44.00
- Continuous (PITR) backup: ¥47.52
- Table restore in Ningxia: ¥38.28
- Change data capture for Kinesis Data Streams: ¥37.63
- Data export to Amazon S3: ¥25.52
- DynamoDB Accelerator (DAX): ¥116.28
- DynamoDB Streams: ¥0.178
- Global tables table restore in Beijing: ¥33
- Global tables replicated write requests: ¥472.36
- Global tables data storage in Beijing: ¥4.40
- Data transfer: ¥61.578
Total charges: ¥932.18
Example using different table classes
In this example, we will demonstrate how you can reduce your table’s monthly charges by choosing the DynamoDB table class that best suits your table’s storage and data access patterns.
Assume you have a table in the Amazon Web Services China (Ningxia) Region. Your table already occupies 1 TB of historical data. The data is not frequently accessed but needs to be immediately available to your users when needed. Now, assume your data storage grows to 1.4 TB by the end of the month, averaging 1.2 TB based on continuous monitoring of your table size. Your table has a traffic pattern within the month that results in a total of 42.5 million writes and 42.5 million reads. For simplicity, assume that each time a user interacts with your application, 1 write of 1 KB and 1 strongly consistent read of 1 KB are performed.
We will start by estimating your table’s monthly charges using the DynamoDB Standard table class.
Monthly charges using DynamoDB Standard table class
Setting your table class to DynamoDB Standard, you will be billed as follows.
Data Storage: Using the DynamoDB Standard table class, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 1.175 TB of storage are charged at ¥2.20 per GB, resulting in a table storage cost of ¥2,585.00 for the month.
Reads and writes: You will be charged for
- 42.5 million writes x ¥5.60 per million writes = ¥238.00 for write requests,
- 42.5 million reads x ¥1.115 per million reads = ¥47.39 for read requests.
In summary, your total monthly charges using DynamoDB Standard table class are:
- Write traffic: ¥238.00
- Read traffic: ¥47.39
- Data storage: ¥2,585.00
Your total monthly charges using the DynamoDB Standard table class are ¥2,870.39
Monthly charges using DynamoDB Standard-IA table class
As shown previously, when using the DynamoDB Standard table class, the storage cost is greater than 50 percent of the costs of reads and writes. When storage is the dominant cost (greater than 50 percent of the costs of reads and writes) using DynamoDB Standard table class, you can optimize for cost by switching to the DynamoDB Standard-IA table class. Given the same workload, now assume that you switched the table class to DynamoDB Standard-IA at the beginning of the next month. You will be billed as follows.
Data storage: The 1.2 TB of storage are charged at ¥0.88 per GB, resulting in a table storage cost of ¥1,056.00 for the month.
Reads and writes: You will be charged for
- 42.5 million writes x ¥6.95 per million writes = ¥295.38 for write requests,
- 42.5 million reads x ¥1.395 per million reads = ¥59.29 for read requests.
In summary, your total monthly charges using DynamoDB Standard-IA table class are:
- Write traffic: ¥295.38
- Read traffic: ¥59.29
- Data storage: ¥1,056.00
Total charges using DynamoDB Standard-IA table class: ¥1,410.67.
Using DynamoDB Standard-IA for your table reduces your table’s total monthly charges by 50.9%, or ¥1,459.72.
DynamoDB pricing examples for Provisioned Capacity
Basic example
This example demonstrates how 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.
Assume that you create a new DynamoDB Standard table in the Ningxia Region with target utilization set to the default value of 70 percent, minimum capacity units at 100 RCUs and 100 WCUs, and maximum capacity set to 400 RCUs and 400 WCUs (see Limits in DynamoDB). For simplicity, assume that each time a user interacts with your application, one write of 1 KB and one strongly consistent read of 1 KB are performed.
For the first 10 days, assume that the consumed RCUs and WCUs vary between 1 and 70. Auto scaling does not trigger any scaling activities and your bill per hour is ¥0.696 (¥0.58 for the 100 WCUs provisioned [¥0.0058 * 100] and ¥0.116 for the 100 RCUs [¥0.00116 * 100]).
Now assume that on day 11 the consumed capacity increases to 100 RCUs and 100 WCUs. Auto scaling starts triggering scale-up activities to increase the provisioned capacity to 143 WCUs and 143 RCUS (100 consumed ÷ 143 provisioned = 69.9 percent). The per-hour bill is ¥0.99528 (¥0.8294 for 143 WCUs and ¥0.16588 for 143 RCUs).
On day 21, assume the consumed capacity decreases to 80 RCUs and 80 WCUs. Auto scaling starts triggering scale-down activities to decrease provisioned capacity to 114 WCUs and 114 RCUs (80 consumed ÷ 114 provisioned = 70.2 percent). The per-hour bill is ¥0.79344 (¥0.6612 for 114 WCUs and ¥0.13224 for 114 RCUs).
For the month, you will be charged ¥596.33 as follows:
- Days 1 – 10: ¥167.04 (¥0.696 per hour x 24 hours x 10 days)
- Days 11 – 20: ¥238.86 (¥0.99528 per hour x 24 hours x 10 days)
- Days 21 – 30: ¥190.43 (¥0.79344 per hour x 24 hours x 10 days)
The Amazon Web Services China (Ningxia) Region Free Tier includes 25 WCUs and 25 RCUs for tables that using DynamoDB Standard table class, reducing your monthly bill by ¥125.28
- 25 WCU x ¥0.0058 per hour x 24 hours x 30 days = ¥104.4
- 25 RCU x ¥0.00116 per hour x 24 hours x 30 days = ¥20.88
Data storage: Assume your table occupies 25 GB of storage at the beginning of the month and grows to 29 GB by the end of the month, averaging 27 GB based on the continuous monitoring of your table size. Since your table using DynamoDB Standard table class, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 2 GB of storage are charged at ¥2.20 per GB, resulting in a table storage cost of ¥4.40 for the month.
For the month, your total bill will be ¥475.45, a total that includes ¥471.05 for read and write capacity and ¥4.40 for data storage.
Detailed example
This example demonstrates how pricing is calculated for an auto scaling–enabled table with provisioned capacity mode. Auto scaling continuously sets provisioned capacity in response to actual consumed capacity so that actual utilization stays near target utilization.
Assume you create a new DynamoDB Standard table in the Ningxia Region with target utilization set to the default value of 70 percent, minimum capacity units at 100 RCUs and 100 WCUs, and maximum capacity set to 400 RCUs and 400 WCUs (see Limits in DynamoDB). Auto scaling operates with these limits, not scaling down provisioned capacity below the minimum or scaling up provisioned capacity above the maximum. When the table is created, auto scaling starts by provisioning the minimum capacity units. For simplicity, assume that each time a user interacts with your application, 1 write of 1 KB and 1 strongly consistent read of 1 KB are performed.
In the first hour after table creation, assume that the consumed RCUs and WCUs vary between 1 and 70. The actual utilization correspondingly varies between 1 percent (1 consumed ÷ 100 provisioned) and 70 percent (70 consumed ÷ 100 provisioned), within the target utilization of 70 percent. Auto scaling does not trigger any scaling activities and your bill for the hour is ¥0.696 (¥0.58 for the 100 WCUs provisioned [¥0.0058 * 100] and ¥0.116 for the 100 RCUs [¥0.00116 * 100]).
During the second hour, assume the consumed capacity increases to 100 RCUs and 100 WCUs, which results in an actual utilization increase to 100 percent (100 consumed ÷ 100 provisioned), well above the target utilization of 70 percent. Auto scaling starts triggering scale-up activities to increase the provisioned capacity to bring actual utilization closer to the target of 70 percent. The result is a provisioned capacity of 143 WCUs and 143 RCUs (100 consumed ÷ 143 provisioned = 69.9 percent). The bill for this second hour is ¥0.99528 (¥0.8294 for 143 WCUs and ¥0.16588 for 143 RCUs).
During the third hour, assume the consumed capacity decreases to 80 RCUs and 80 WCUs, which results in an actual utilization decrease to 56 percent (80 consumed ÷ 143 provisioned), well below the target utilization of 70 percent. Auto scaling starts triggering scale-down activities to decrease provisioned capacity to bring actual utilization closer to the target of 70 percent, resulting in provisioned capacity of 114 WCUs and 114 RCUs (80 consumed ÷ 114 provisioned = 70.2 percent). The bill for this third hour is ¥0.79344 (¥0.6612 for 114 WCUs and ¥0.13224 for 114 RCUs).
For simplicity, assume that your consumed capacity remains constant at 80 RCUs and 80 WCUs. Your table also remains provisioned for 114 WCUs and 114 RCUs, with a daily charge of ¥19.04, broken out as:
- 114 WCUs x ¥0.0058 per hour x 24 hours = ¥15.8688
- 114 RCUs x ¥0.00116 per hour x 24 hours =¥3.17376
For the month, you are charged ¥591.114:
Day 1 total: ¥38.954 per day
- Hour 1: ¥0.696 per hour
- Hour 2: ¥0.99528 per hour
- Hours 3-24: ¥0.79344 per hour
Days 2-30: ¥19.04 per day
The Amazon Web Services China (Ningxia) Region Free Tier includes 25 WCUs and 25 RCUs for tables that use DynamoDB Standard table class, reducing your monthly bill by ¥125.28
- 25 WCU x ¥0.0058 per hour x 24 hours x 30 days = ¥104.4
- 25 RCU x ¥0.00116 per hour x 24 hours x 30 days = ¥20.88
Data storage: Assume your table occupies 25 GB of storage at the beginning of the month and grows to 29 GB by the end of the month, averaging 27 GB based on the continuous monitoring of your table size. Since your table uses DynamoDB Standard table class, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 2 GB of storage are charged at ¥2.20 per GB, resulting in a table storage cost of ¥4.40 for the month.
Backup and restore: If the sum of all your on-demand backup storage is 60 GB for a 30-day month, the monthly cost of your backups is (¥0.88 x 60 GB) = ¥52.8/month. However, if you delete 15 GB of your on-demand backup data 10 days into the monthly cycle, you are billed (¥0.88 x 60 GB) - (¥0.88 x 15 GB x 20/30) = ¥44.00/month.
Now assume that in addition to performing on-demand backups, you use continuous backups. The size of your table is 29 GB, resulting in a monthly cost of (¥1.76 x 29 GB) = ¥51.04/month.
If you need to restore your 29 GB table once during the month, that restore costs (¥1.32 x 29 GB) = ¥38.28.
Change data capture for Kinesis Data Streams: Now assume you enable streaming to a Kinesis data stream to process your data changes using Amazon Kinesis services. Also assume that your write throughput is consistent with the previous example. Your application performs 80 writes of 1 KB per second. DynamoDB charges one change data capture unit for each write of 1 KB it captures to the Kinesis data stream. Over the course of a month, this results in (80 x 3,600 x 24 x 30) = 207,360,000 change data capture units. Your monthly cost will be (¥0.8923 x 207,360,000/1,000,000) = ¥185.03.
Data export to Amazon S3: Let’s say you want to export table backups to Amazon S3 for analysis. If the size of your table at the specified point in time is 29 GB, the resulting export costs are: (¥0.88 x 29 GB) = ¥25.52.
DynamoDB Accelerator (DAX): You have determined that you need to accelerate the response time of your application and decide to use DynamoDB Accelerator (DAX). You review the available hardware specifications and determine that a three-node cluster of the t2.small instance type suits your needs. You enable DAX on day 26. DynamoDB charges ¥0.969 per hour (¥0.323 x 3 nodes), totaling ¥116.28 for the final 5 days in the month (¥0.969 x 120 hours).
Global tables: Now assume you create a disaster recovery replica table in the Beijing Region. Assume that you add the replica in the Beijing Region when your table is 25 GB in size, resulting in ¥33 (¥1.32x 25 GB) of table restore charges. Adding this replica also generates 25 GB of data transfer, as detailed under the "Data transfer" section below. Also assume that your capacity needs are consistent with the previous example. Auto scaling continues to provision 114 WCUs and 114 RCUs for your application's throughput needs, but it now must also provision rWCUs for writing to both of your replica tables. Provisioned rWCUs equal the total number of rWCUs needed for application writes in both Regions. In this scenario, you now perform 80 writes per second to both the Ningxia Region and the Beijing Region, resulting in a minimum provisioned capacity of 160 rWCUs (80 rWCUs in Ningxia Region + 80 rWCUs in Beijing Region= 160 rWCUs). Auto scaling provisions 229 rWCUs (160 rWCUs/70%) to maintain actual utilization at 70 percent of provisioned capacity. For more information, see Best Practices and Requirements for Managing Global Tables. Your first 25 rWCUs in each Region are included in the Amazon Web Services China (Ningxia) Region Free Tier, resulting in an hourly charge of ¥1.0382, or ¥747.50 in a 30-day month. You also store an additional 27 GB of data in your replicated table in the Beijing Region. The first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 2 GB of storage are charged at ¥2.20 per GB, resulting in additional table storage cost of ¥4.40 for the month.
DynamoDB Streams: Now assume you enable DynamoDB Streams and build your application to perform one read request per second against the streams data. Over the course of a month, this results in 2,592,000 streams read requests, of which the first 2,500,000 read requests are included in the Amazon Web Services China (Ningxia) Region Free Tier. You pay only for the remaining 92,000 read requests, which are ¥0.178 per 100,000 read request units.
Data transfer: Because you are now transferring data between Amazon Web Services China Regions for your global tables implementation, DynamoDB charges for data transferred out of the Region, but it does not charge for inbound data transfer. Assuming a constant 80 writes per second of 1 KB each, you generate 80 KB per second in data transfer between Regions, resulting in 198 GB (80 KB per second x 2,592,000 seconds in a 30-day month) of cross-Region data transfer per month. Adding the replica in the Beijing Region generates an additional 25 GB of data transfer. If you have already used your Amazon Web Services China (Ningxia) Region Free Tier data transfer allowance on other Amazon Web Services services, you will be charged ¥208.06 (¥0.933 x [198 GB + 25 GB]) for data transfer.
In summary, your total monthly charges for a single-Region DynamoDB table are:
- Provisioned capacity: ¥465.83
- Data storage: ¥4.40
- On-demand backup: ¥44.00
- Continuous (PITR) backup: ¥51.04
- Table restore: ¥38.28
- Change data capture for Kinesis Data Streams: ¥185.03
- Data export to Amazon S3: ¥25.52
- DynamoDB Accelerator (DAX): ¥116.28
- DynamoDB Streams: ¥0.178
Total charges: ¥930.56
Your total monthly DynamoDB charges after adding the Beijing Region are:
- Provisioned read capacity: ¥95.21
- Data storage (Ningxia): ¥4.40
- On-demand backup: ¥44.00
- Continuous (PITR) backup: ¥51.04
- Table restore (Ningxia): ¥38.28
- Change data capture for Kinesis Data Streams: ¥185.03
- Data export to Amazon S3: ¥25.52
- DynamoDB Accelerator (DAX): ¥116.28
- DynamoDB Streams: ¥0.178
- Global tables table restore (Beijing): ¥33
- Global tables replicated write capacity: ¥747.50
- Global tables data storage (Beijing): ¥4.40
- Data transfer: ¥208.06
Total charges: ¥1,552.90
Example using different table classes
In this example, we will demonstrate how you can reduce your table’s monthly charges by choosing the DynamoDB table class that best suits your table’s storage and data access patterns.
Assume you have a table in the Amazon Web Services China (Ningxia) Region. Your table already occupies 1 TB of historical data. The data is not frequently accessed but needs to be immediately available to your users when needed. Now, assume your data storage grows to 1.4 TB by the end of the month, averaging 1.2 TB based on continuous monitoring of your table size. Your table has a steady predictable traffic pattern. You hence provisioned it to 160 WCUs and 160 RCUs knowing that the utilization will not exceed 70 percent of the provisioned capacity within the month.
We will start by estimating your table’s monthly charges using the DynamoDB Standard table class.
Monthly charges using DynamoDB Standard table class
Setting your table class to DynamoDB Standard, you will be billed as follows.
Data Storage: Using the DynamoDB Standard table class, the first 25 GB of storage are included in the Amazon Web Services China (Ningxia) Region Free Tier. The remaining 1.175 TB of storage are charged at ¥2.20 per GB, resulting in a table storage cost of ¥2,585.00 for the month.
Provisioned capacity: The Amazon Web Services China (Ningxia) Region Free Tier includes 25 WCUs and 25 RCUs for tables using the DynamoDB Standard table class. You will be charged for:
- 135 WCU x ¥0.0058per hour x 24 hours x 30 days = ¥563.7642.5 million writes x ¥11.1538 per million writes = ¥474.04 for write requests,
- 135 RCU x ¥0.00116per hour x 24 hours x 30 days = ¥112.75
- 42.5 million reads x ¥2.2308 per million reads = ¥94.81 for read requests.
In summary, your total monthly charges using DynamoDB Standard table class are:
- Provisioned capacity: ¥676.51
- Data storage: ¥2,585.00
Your total monthly charges using the DynamoDB Standard table class are ¥3,261.51.
Monthly charges using DynamoDB Standard-IA table class
As shown previously, when using the DynamoDB Standard table class, the storage cost is greater than 50 percent of the provisioned capacity cost. When storage is the dominant cost (greater than 50 percent of provisioned capacity cost) using DynamoDB Standard table class, you can optimize for cost by switching to the DynamoDB Standard-IA table class. Given the same workload, now assume that you switched the table class to DynamoDB Standard-IA at the beginning of the next month. You will be billed as follows.
Data storage: The 1.2 TB of storage are charged at ¥0.88 per GB, resulting in a table storage cost of ¥1,056.00 for the month.
Provisioned capacity: You will be charged for
- 160 WCUs x ¥0.00725 per hour x 24 hours x 30 days = ¥835.20
- 160 RCUs x ¥0.00145 per hour x 24 hours x 30 days = ¥167.04
In summary, your total monthly charges using DynamoDB Standard-IA table class are:
- Provisioned capacity: ¥1,002.24
- Data storage: ¥1,056.00
Your total monthly charges using DynamoDB Standard-IA table class are ¥2,058.24. Switching your table to DynamoDB Standard-IA reduced your table’s total monthly charges by 36.9%, or ¥1,203.27.