無限ノック › DVA 練習問題一覧 › 問題
DVAトラブルシューティングと最適化

あるDynamoDBテーブルで断続的に `ProvisionedThroughputExceededException` が発生しています。CloudWatchで確認すると、テーブル全体の消費キャパシティはプロビジョニングされた値を大きく下回っています。この問題の最も可能性の高い原因はどれですか?

A
特定のパーティションキー値にアクセスが集中するホットパーティションが発生している
✓ 正解
特定のパーティションキー値にアクセスが集中するホットパーティションが発生している。 DynamoDBは内部的にデータをパーティションに分散しますが、テーブル全体のスループットは各パーティションに均等に割り当てられます。特定のパーティションキーへのアクセスが集中すると(ホットパーティション)、そのパーティションだけがスロットリングされます。テーブル全体の消費量がプロビジョニング値を下回っていてもパーティション単位では上限を超えることがあるため、パーティションキー設計の見直しや書き込みシャーディングが解決策となります。
B
テーブルに設定されているGSI(グローバルセカンダリインデックス)のキャパシティが不足している
(GSI(グローバルセカンダリインデックス)のキャパシティ不足)が原因であれば CloudWatch で GSI 固有の消費メトリクスに異常が現れますが、テーブル全体の消費量が低い状況では根本原因として合致しません。
C
DynamoDBのバーストキャパシティ(Burst Capacity)が枯渇している
(DynamoDBのバーストキャパシティ枯渇)はプロビジョニング値を超えた短時間の負荷スパイクを補う機能に関するものであり、テーブル全体の消費量がプロビジョニング値を大きく下回っている場合は該当しません。
D
テーブルのオートスケーリングが有効化されておらず、急激な需要増加に対応できていない
(テーブルのオートスケーリング未設定)はキャパシティ全体が不足する場合に問題となりますが、全体消費量がプロビジョニング値を下回っている状況ではスケール不足ではなくパーティション偏りが問題です。

解説

特定のパーティションキー値にアクセスが集中するホットパーティションが発生している。 DynamoDBは内部的にデータをパーティションに分散しますが、テーブル全体のスループットは各パーティションに均等に割り当てられます。特定のパーティションキーへのアクセスが集中すると(ホットパーティション)、そのパーティションだけがスロットリングされます。テーブル全体の消費量がプロビジョニング値を下回っていてもパーティション単位では上限を超えることがあるため、パーティションキー設計の見直しや書き込みシャーディングが解決策となります。 選択肢B(GSI(グローバルセカンダリインデックス)のキャパシティ不足)が原因であれば CloudWatch で GSI 固有の消費メトリクスに異常が現れますが、テーブル全体の消費量が低い状況では根本原因として合致しません。 選択肢C(DynamoDBのバーストキャパシティ枯渇)はプロビジョニング値を超えた短時間の負荷スパイクを補う機能に関するものであり、テーブル全体の消費量がプロビジョニング値を大きく下回っている場合は該当しません。 選択肢D(テーブルのオートスケーリング未設定)はキャパシティ全体が不足する場合に問題となりますが、全体消費量がプロビジョニング値を下回っている状況ではスケール不足ではなくパーティション偏りが問題です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る