【AWS】DynamoDB CapacityUnitの計算式

AWS Developer Associateの試験で必ず出題されるとDynamoDBのCapacityUnitの計算問題。その計算方法について文章で説明する記事は多くても、その計算式について意外とどこにも掲載されてないので、自分で見出した式をメモ。

RCU(Read Unit Capacity)計算式

◎強力な整合性の場合
(レコードサイズ(KB) ÷ 4(KB: RCUの基準値) x 1(強力な整合性の基準値)) x (レコード数 ÷ 読込時間(秒))

(例)1つあたりのサイズが5KBのレコードを、強力な整合性で1秒間に100個読み込む場合のRCU
(5(KB) ÷ 4(KB) x 1) x (100 ÷ 1(秒))= 200 RCU

◎結果整合性の場合
(レコードサイズ(KB) ÷ 4(KB: RCUの基準値) x 0.5(結果整合性の基準値)) x (レコード数 ÷ 読込時間(秒))

(例)1つあたりのサイズが10KBのレコードを、結果整合性で10分間に6000個読み込む場合のRCU
(10(KB) ÷ 4(KB) x 0.5) x (6000 ÷ 600(秒))= 15 RCU

WCU(Write Unit Capacity)計算式

◎Transactionなしの場合
(レコードサイズ(KB) ÷ 1(KB: WCUの基準値) x 1(Transactionなしの場合の基準値)) x (レコード数 ÷ 読込時間(秒))

(例)1つあたりのサイズが5KBのレコードを、強力な整合性で1秒間に100個書き込む場合のWCU
(5(KB) ÷ 1(KB) x 1) x (100 ÷ 1(秒))= 500 WCU

◎Transactionありの場合
(レコードサイズ(KB) ÷ 1(KB: WCUの基準値) x 2(Transactionありの場合の基準値)) x (レコード数 ÷ 読込時間(秒))

(例)1つあたりのサイズが10KBのレコードを、結果整合性で10分間に6000個書き込む場合のWCU
(10(KB) ÷ 1(KB) x 2) x (6000 ÷ 600(秒))= 200 WCU