Amazon DynamoDB テーブルは、グローバルセカンダリインデックスのスロットルからどのような影響を受けますか?

最終更新日: 2021 年 11 月 5 日

グローバルセカンダリインデックス (GSI) がスロットル中です。これにより、Amazon DynamoDB のベーステーブルにどのような影響がありますか?

簡単な説明

GSI のスロットリングは、スロットリングが読み込みアクティビティか書き込みアクティビティのどちらかにより、ベーステーブルにさまざまな態様で影響を与えます。

  • GSI の読み込み容量が不足している場合、ベーステーブルは影響を受けません。
  • GSI の書き込み容量が不足している場合、ベーステーブルまたはその GSI への書き込みオペレーションは成功しません。

詳細については、DynamoDB のグローバルセカンダリインデックスの使用を参照してください。

解決方法

スロットリングを防ぐには、次の操作を実行します。

  • 各 GSI のプロビジョンされた書き込み容量が、ベーステーブルのプロビジョンされた書き込み容量以上あることを確認します。GSI のプロビジョンされたスループットを変更するには、UpdateTable オペレーションを使用します。ベーステーブルでオートスケーリングが有効になっている場合は、GSI に同じ設定を適用するのがベストプラクティスです。これを行うには、DynamoDB コンソールで [Copy from base table] (ベーステーブルからコピー) を選択します。最高のパフォーマンスを得るには、[Use the same read/write capacity settings for all global secondary indexes] (すべてのグローバルセカンダリインデックスで同じ読み取り/書き込み容量設定を使用) を必ずオンにしてください。このオプションにより、DynamoDB オートスケーリングはベーステーブル上のすべてのグローバルセカンダリインデックスを均一にスケールできます。詳細については、既存のテーブルでの DynamoDB オートスケーリングの有効化を参照してください。
  • GSI のパーティションキーが、パーティション間で可能な限り均等に読み取りおよび書き込みオペレーションを分散するようにしてください。これは、スロットリングを生じさせるホットパーティションを防止するのに役立ちます。詳細については、パーティションキーを設計してワークロードを均等に分散するを参照してください。
  • Amazon CloudWatch Contributor Insights for DynamoDB を使用して、最も頻繁にスロットルされたキーを識別します。

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?