DynamoDB Capacity & Item Size Calculator
Understanding How Capacity Is Calculated in DynamoDB
DynamoDB is billed and measured on RCUs (Read Capacity Unit) and WCUs (Write Capacity Unit) basis. Both of these units are basically multipliers of item size that is going to be read or written to the table, rounded up to the next largest whole number.
One read request unit represents one strongly consistent read request, or two eventually consistent read requests, for an item up to 4 KB in size.
One write request unit represents one write for an item up to 1 KB in size. If you need to write an item that is larger than 1 KB, DynamoDB needs to consume additional write request units.
Once you've calculated your WCU/RCUs, you can use our DynamoDB Pricing Calculator to estimate your DynamoDB costs.
Frequently Asked Questions
What is the maximum size of an item in DynamoDB?
Maximum Size of DynamoDB Item is 400KB.
Can DynamoDB store BLOB data?
Yes it can. However, when often accessed and manipulated, it can easily deplete provisioned read/write capacity units and cause your DynamoDB costs to skyrocket. In most cases, we recommend storing blob, such as images or PDFs in S3 and store only their URLs in DynamoDB.
How does DynamoDB calculate item size?
Item's size is the sum of the attribute names and values. As DynamoDB is using UTF8 encoding, most chars use 1 byte but some less used characters, like language specific, use 2, while emojis can consume up to 4.
- Numbers use between 2 and 21 bytes.
- Binary and BinarySets are using 1 byte per 1 byte, obviously.
- Boolean is also 1 byte.
- Null is 1 byte too.
- Maps are 3 bytes + size of each key-value pair
How much data can DynamoDB store?
Theoretically, DynamoDB can store an infinite amount of data because there's no upper limit of data per table. There's a limit of 10GB of data per partition, however, you can have as many partitions as you want.
I've calculated WCU and RCU. How does this relate to $$?
Use our DynamoDB Pricing Calculator
Is the item I paste in the calculator above being stored anywhere?
No. We're not sending that data anywhere, item size is calculated using client-side Javascript inside your browser.