DynamoDB Table Provisioning - RCU Calculation

How Many RCUs to Provision for DynamoDB Table?

Prev Question Next Question

Question

You want to read 420 items of 5KB each from a DynamoDB table every minute using strong consistency read.

How many RCUs will you need to provision your DynamoDB table with?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: B.

1 RCU provides 4KB read per second for a strong consistency model.

Items to read every second: 420/60 = 7

To read one item, we need: 5/4 = 1.25, rounding UP to the nearest whole number will be 2

Hence, we require 2 RCUs to read one item.

Total RCUs required: 2*7 = 14

Option A, C and D are incorrect since they are not the required RCUs to perform the above operation.

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

To calculate the provisioned read capacity units (RCUs) needed to read 420 items of 5KB each from a DynamoDB table every minute using strong consistency read, we can use the following formula:

RCUs = (item_size * number_of_items * number_of_reads_per_second) / 4KB

where item_size is the size of each item in KB, number_of_items is the number of items to be read, and number_of_reads_per_second is the frequency of reads per second.

In this case, item_size is 5KB, number_of_items is 420, and number_of_reads_per_second is 420/60 = 7 (since we want to read 420 items every minute).

Therefore, the provisioned RCUs required would be:

RCUs = (5KB * 420 * 7) / 4KB = 735

So, the answer is B. 14 (since the smallest unit of RCUs that can be provisioned is 1 and we need at least 735 RCUs).

Note that this assumes that there are no other reads or writes happening on the table, and that the provisioned RCUs are sufficient to handle the peak load. In practice, you may want to monitor the table's performance and adjust the provisioned RCUs accordingly.