Amazon DynamoDB が難しいワークロードを短い間隔で処理する方法を知りたいです。
解像度
プロビジョニングモードを使用する場合、DynamoDB はバーストキャパシティを提供することで、パーティションごとのスループットプロビジョニングをある程度柔軟に行えます。DynamoDB は現在、未使用の読み取りおよび書き込み容量を最大 5 分 (300 秒) 保持しています。DynamoDB テーブルの容量が 150 RCU にプロビジョニングされていて、過去 5 分間は使用されていないとします。この構成では、テーブルには45,000の読み取りユニットのバースト容量(150\ * 300)があります。そのため、負荷が急上昇して読み取りユニット数が 200 に達した場合、DynamoDB はバーストキャパシティを活用して 200 個の RCU を 15 分間収容できます。
例: 45,000/ (200-150) = 900 秒 = 15 分
ただし、次の点を考慮してください:
- バーストキャパシティはベストエフォートベースで提供され、保証されません。したがって、テーブルのプロビジョニング容量を設定するときは、バースト容量を考慮しないでください。
- DynamoDB は、事前の通知なしにバックグラウンドメンテナンスやその他のタスクのためにバースト容量を消費する可能性があります。
- バーストキャパシティではパーティションレベルのスロットリングを緩和することはできません。カーディナリティが高くないパーティションキーでは、少数のパーティションだけを対象とするリクエストが多数発生する可能性があります。生成されたホットパーティションが、パーティションごとの制限である 3,000 RCU または 1,000 WCU /秒、あるいはその両方の組み合わせを超えると、テーブルがスロットルされます。
詳細については、バーストキャパシティの効果的な使用を参照してください。
オンデマンドキャパシティモードでは、DynamoDB はアプリケーションのトラフィック量に自動的に適応します。オンデマンドキャパシティモードでは、テーブル上の以前のピーク時のトラフィックの最大2倍まで即座に対応できます。アプリケーションのトラフィックパターンが 1 秒あたり 25,000 から 50,000 の間で変化し、1 秒あたり 50,000 回の読み取りがトラフィックのピークだったとします。この場合、オンデマンドキャパシティモードは、1 秒あたり最大 100,000 回の読み取りの持続的なトラフィックに即座に対応します。アプリケーションが 1 秒あたり 100,000 回の読み取りトラフィックを維持している場合、そのピークが前回のピークになります。この新たなピーク時には、その後のトラフィックは 1 秒あたり最大 200,000 回の読み取りに達する可能性があります。
ただし、急上昇がほぼ即時で、前回のピークの 2 倍を超える場合は、テーブルがスロットリングする可能性があります。詳細については、読み取り/書き込みキャパシティモードを参照してください。