Amazon DynamoDB Provisioned Throughput Information

When creating DynamoDB tables, read capacity and write capacity are entered as part of the table definition. These values are defined in terms of "units". The unit represents a read per second or write per second value. Also factoring into that read / write per second value is the data size of the read or write. For example, for reads, the read per second assumes a maximum item size of 4KB. For writes, the write per second assumes a maximum item size of 1KB. Items larger than those values for reads or writes will consume more read / write capacity.

The read and write capacity values can have a large impact on performance, especially when performing operations on large data sets. For example, given a DynamoDB table with 1 million rows, and assuming each row has data that is less than 4KB in size, executing an export of all million rows on a table with a read capacity of 1 read per second would result in a very long-running export operation. The same holds true for importing large data sets into tables that have low write capacity units.

DynamoDB does provide the ability to use Auto-Scaling on the table instead of specifying an exact value for the read or write capacity. With Auto-Scaling, upper and lower ranges are defined for the read and write capacity. This can come in handy if most operations against the table are small in nature, but there are times when more performance-intensive operations like large exports or large imports need to occur against the table. The auto-scaling feature can ramp up the read / write capacity settings during those times to speed up the export or import.

The performance of tools like RazorSQL that provide the ability to perform DynamoDB export or DynamoDB import operations can be greatly impacted by the read and write capacity definitions on a table. If you plan on performing large imports or exports, and your table contains a large number of rows, the read and write capacity units should be defined appropriately on the table to achieve satisfactory performance.

Please note that there is an increased AWS services charge the higher the read / write capacity is on the table. AWS does provide the ability to temporarily change the read or write capacity to suit your needs, but there is a limit regarding how often those changes can be made. Your cost tolerance should be factored in when determining whether to use auto-scaling or define the specific values for read / write capacity, or whether to temporarily change the read / write capacity values while expensive operations are run.