Pay only for what you use. There is no minimum fee. Estimate your monthly bill using the Simple Monthly Calculator.
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 (enough to perform up to 432,000 writes and 864,000 reads for free every day).
Amazon DynamoDB lets you specify the request throughput you want your table to be able to achieve (your table’s “throughput capacity”). Behind the scenes, the service handles the provisioning of resources to achieve the requested throughput rate. Rather than asking you to think about instances, hardware, memory, and other factors that could affect your throughput rate, we simply ask you to provision the throughput level you want to achieve and we handle the rest.
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:
* 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). Larger 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?”
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.
Let’s assume that your application needs to perform 1 million writes and 1 million reads per day, while storing 3 GB of data
For simplicity, let’s assume that your workload is relatively constant throughout the day and your items are less than 1 KB in size. (You can easily scale up and down to deal with variable workloads and adjust for larger items, but for this example we’ll keep it simple).
First, you need to calculate how many writes and reads per second you need. 1 million evenly spread writes per day is equivalent to 1,000,000 (writes) / 24 (hours) / 60 (minutes) / 60 (seconds) = 11.6 writes per second. A DynamoDB Write Capacity Unit can handle 1 write per second, so you need 12 Write Capacity Units. Similarly, to handle 1 million reads per day, you need 12 Read Capacity Units.
Using on-demand pricing in the US East (N. Virginia) Region, 12 Write Capacity Units would cost $0.1872 per day and 12 Read Capacity Units would cost $0.0374 per day. So your total cost of provisioned throughput capacity is $0.1872 + $0.0374 = $0.2246 per day. Storage costs $0.25 per GB per month. Assuming a 30-day month, your 3 GB would cost you 3 x $0.25 / 30 = $0.025 per day. Combining these numbers, the total cost of your DynamoDB table would be $0.2246 (for provisioned throughput capacity) + $0.025 (for storage) = $0.2496 per day.
For less than $0.25/day ($7.50/month), you could support an application that performs 1 million writes and reads per day and stores 3 GB of data. If you haven’t used up your free tier allotment (5 write capacity units, 10 read capacity units, 100MB of storage), your costs would be even lower. Including the free tier, this example application would cost just $0.14/day.
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.