DVA-C02:AWS Certified Developer - Associate AWS サービスを用いた開発 問7
AWS サービスを用いた開発/アプリ開発におけるデータストアの利用Amazon DynamoDB で、特定のパーティションにアクセスが偏って(ホットパーティション)スロットリングが発生しています。設計上の改善として最も適切なのはどれですか。
当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「AWS サービスを用いた開発」に対応。実際の試験問題ではありません)
- Aプロビジョンドキャパシティを無制限に設定する
- Bテーブルを毎日作り直す
- Cカーディナリティの高い(値のばらつきが大きい)パーティションキーを選び、アクセスを多数のパーティションへ分散させる
- Dすべての項目を同じパーティションキー値にまとめる
正解:C
解説
DynamoDB はパーティションキーの値でデータを分散します。特定の値にアクセスが集中するとホットパーティションとなり、スロットリングが起きます。カーディナリティの高い(値のばらつきが大きい)パーティションキーを選ぶと、アクセスが多数のパーティションへ均等に分散され、ホットパーティションを避けられます。
選択肢ごとの解説
- A誤り。キャパシティを増やしても、アクセスが 1 つのパーティションに偏っていればパーティション単位の上限でスロットリングは解消しません。
- B誤り。テーブルの作り直しはホットパーティションの根本的な設計改善になりません。
- C正しい。カーディナリティの高いパーティションキーを選べば、アクセスが多数のパーティションへ分散され、ホットパーティションを避けられます。
- D誤り。すべて同じキー値にまとめるのは、アクセスを 1 パーティションに集中させる最悪の設計です。