As part of AWS’s Free Usage Tier, AWS customers can get started with Amazon DynamoDB for free. DynamoDB customers get 100 MB of free storage, as well as up to 5 writes/second and 10 reads/second of ongoing throughput capacity.
Provisioned Throughput Capacity
When you create or update your Amazon DynamoDB table, you specify how much capacity you wish to reserve for reads and writes. Amazon DynamoDB will reserve the necessary machine resources to meet your throughput needs with consistent, low-latency performance.
You pay a flat, hourly rate based on the capacity you reserve:
A unit of Write Capacity enables you to perform one write per second for items of up to 1KB in size. Similarly, a unit of Read Capacity enables you to perform one strongly consistent read per second (or two eventually consistent reads per second) of items of up to 4 KB in size. Larger items will require more capacity. You can calculate the number of units of read and write capacity you need as follows:
Units of Capacity required for writes = Number of item writes per second x item size (round up to the nearest integer)
Units of Capacity required for reads¹ = Number of item reads per second x (item size / 4) (round up to the nearest integer)
¹If you use eventually consistent reads you’ll get twice the throughput in terms of reads per second.
Here's an example. Suppose you have a DynamoDB table with items that are 3 KB in size. If you want to do 10 writes per second, you will need to 10 x 3 = 30 write capacity units. If you want to do 10 reads per second, you will need 10 x (3 / 4) = 8 read capacity units (rounded up to the nearest integer).
If your request throughput exceeds your provisioned capacity, it may be throttled. However, the AWS Management Console charts your provisioned and utilized throughput capacity, and lets you make changes easily in anticipation of traffic changes. To learn more about provisioned throughput and selecting the appropriate values, read our FAQ responses here.
To learn more about estimating how many capacity units you need for your table, you can read our documentation here.
Indexed Data Storage
Amazon DynamoDB is an 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.
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 above, for the duration of the Reserved Capacity term. Using Reserved Capacity pricing, you can save up to 53% with a 1-year term and up to 76% with a 3-year term. To purchase Reserved Capacity, go to the AWS Management Console, go to the DynamoDB console page, then click on "Purchase Reserved Capacity". To learn more about Reserved Capacity, please read our FAQs.
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 at Internet Data Transfer rates on both sides of the transfer.
* Your free usage is calculated each month and automatically applied to your bill – free usage does not accumulate.
** 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.
*** Data transfer out rate tiers aggregate outbound data transfer across Amazon EC2, Amazon EBS, Amazon S3, Amazon Glacier, Amazon RDS, Amazon SimpleDB, Amazon DynamoDB, Amazon SQS, Amazon SNS, AWS Storage Gateway, and Amazon VPC.