AWS DVA(AWS Certified Developer - Associate)試験の勉強をするなかで、Amazon DynamoDBのキャパシティユニットの消費パターンがややこしかったので整理してみます。
というか公式ドキュメントがテキストの羅列で非常に見づらかったため、表形式にまとめました。
公式ドキュメント
読み込みリクエストの場合
整合性レベルが上がるたび、ユニット数が倍になっていくイメージです。
リクエストの種類 | 基準サイズ | 必要ユニット数 |
---|---|---|
結果整合性 | 4KB以下 | 0.5 RCU |
強力な整合性 | 4KB以下 | 1 RCU |
トランザクション | 4KB以下 | 2 RCU |
書き込みリクエストの場合
リクエストの種類 | 基準サイズ | 必要ユニット数 |
---|---|---|
通常 | 1KB以下 | 1 WCU |
トランザクション | 1KB以下 | 2 WCU |
補足
「トランザクション」というのは、通常の単発のDBへの読み書きだけでなく、アプリケーションが行う一連のトランザクション動作のあいだ一貫性を保証してくれるモードとなります。トランザクションの失敗時は読み込みもキャンセルされます。
つまり、「強力な整合性」よりもさらに要求が高いので倍のキャパシティユニットが必要ということですね。