AWS DynamoDB Provisioned Capacity Calculation for Strongly Consistent Read and Write Operations

Provisioned Read Capacity Units: 60

Prev Question Next Question

Question

You have created anew provisioned table in DynamoDB.

You want to read 60 items per second from this table, with each item having 6 KB size.

Also, you want to write 80 items per second, with each item 1.5 KB in size.

Which of the following will provisioned read capacity units for strongly consistent read per second & write capacity units will be set to avoid request throttling? (Select Two)

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E. F.

Correct Answer - B, E.

To determine provisioned Read Capacity Units, the following calculation steps are performed,

1)Item Size / 4KB, rounding to nearest whole number.

a.

So, in the above case, 6KB / 4 KB = 1.5 or 2 read capacity units.

2)1 read capacity unit per item (since strongly consistent read)× No of reads per second.

a.

So, in the above case, 2 x 60 = 120 read capacity units.

To determine provisioned Write Capacity Units, the following calculation steps are performed,

1)Item Size / 1KB, rounding to nearest whole number.

a.

So, in the above case, 1.5KB / 1 KB = 1.5 or 2 write capacity units.

2)1 write capacity unit per item × No of write per second.

a.

So, in the above case, 2 x 80 = 160 write capacity units.

Options A, C, D,& F are incorrect as these values are not as per the above calculations.

For more information on calculations for Read Capacity & Write Capacity Units, refer to the following URL-

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html

To avoid request throttling in DynamoDB, we need to provision the required read and write capacity units based on the expected read and write traffic to the table. Each provisioned read capacity unit (RCU) allows us to read one item per second, up to a maximum item size of 4 KB. Similarly, each provisioned write capacity unit (WCU) allows us to write one item per second, up to a maximum item size of 1 KB.

Given that we want to read 60 items per second, each of 6 KB in size, we need to provision (60 * 6) / 4 = 90 RCUs. Since we want to write 80 items per second, each of 1.5 KB in size, we need to provision (80 * 1.5) / 1 = 120 WCUs.

From the given options, we can select two that will meet our requirements:

Option A: 240 WCU - This will provide enough write capacity units, but not enough read capacity units. We need 90 RCUs for the desired read throughput, so this option is not sufficient.

Option B: 120 RCU - This will provide enough read capacity units, but not enough write capacity units. We need 120 WCUs for the desired write throughput, so this option is not sufficient.

Option C: 80 WCU - This will not provide enough write capacity units, we need 120 WCUs for the desired write throughput, so this option is not sufficient.

Option D: 60 RCU - This will not provide enough read capacity units, we need 90 RCUs for the desired read throughput, so this option is not sufficient.

Option E: 160 WCU - This will provide enough write capacity units, but not enough read capacity units. We need 90 RCUs for the desired read throughput, so this option is not sufficient.

Option F: 240 RCU - This will provide enough read capacity units and also more than enough write capacity units. Therefore, option F is the correct answer to the question.

In summary, to meet the requirement of reading 60 items per second, each of 6 KB in size, and writing 80 items per second, each of 1.5 KB in size, we need to provision 240 RCUs and 120 WCUs to avoid request throttling.