過去問ドリル

SAA-C03:AWS Certified Solutions Architect - Associate 高性能なアーキテクチャの設計 問21

高性能なアーキテクチャの設計/高性能なデータベースソリューションの決定

DynamoDB テーブルを、プライマリキー以外の属性(例: ステータスや登録日)でも効率よく検索する必要が出てきました。テーブル全体をスキャンせずに別の検索パターンを高速に実現したい。最も適切な方法はどれですか。

当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「高性能なアーキテクチャの設計」に対応。実際の試験問題ではありません)

正解:C

解説

グローバルセカンダリインデックス(GSI)を作成すると、ベーステーブルとは異なるパーティションキー/ソートキーで効率的に Query でき、全件 Scan を避けて別の検索パターンを高速に実現できます。Scan はテーブル全体を読み取るため非効率で、読み取りキャパシティを増やしてもコストが膨らむだけです。テーブルの手動分割・コピーは整合性と運用の負担が大きくなります。

選択肢ごとの解説

  • A誤り。Scan はテーブル全体を読み取る操作で、検索のたびに実行するのは性能・コストの両面で非効率です。
  • B誤り。キャパシティ増加で Scan を速くしてもコストが増えるだけで、効率的な検索パターンにはなりません。
  • C正しい。GSI により別のキーで Query でき、全件 Scan を避けて効率よく検索できます。
  • D誤り。テーブルを分割・コピーする運用は整合性維持や管理が複雑になり、適切な解決策ではありません。
SAA-C03:AWS Certified Solutions Architect - Associateの問題を演習モードで解く