過去問ドリル

DVA-C02:AWS Certified Developer - Associate AWS サービスを用いた開発 問8

AWS サービスを用いた開発/アプリ開発におけるデータストアの利用

大きな Amazon DynamoDB テーブルから、特定ユーザーの項目だけをコストと性能よく取得したいと考えています。最も適切なのはどれですか。

当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「AWS サービスを用いた開発」に対応。実際の試験問題ではありません)

正解:D

解説

DynamoDB の Query 操作は、パーティションキー(および必要ならソートキーやグローバルセカンダリインデックス [GSI])を指定して、該当する項目だけを効率的に取得します。一方、Scan はテーブル全体を読み取るためコストと時間がかかります。特定ユーザーの項目取得のように条件が決まっている場合は Query を使うのが適切です。

選択肢ごとの解説

  • A誤り。Scan で全件取得してから絞り込むのは、読み取りコストと時間が大きく非効率です。
  • B誤り。毎回 RDS にコピーして検索するのは回り道で、コストも性能も悪化します。
  • C誤り。強整合性の読み取りは一貫性を高めますが、取得の効率(コスト・性能)そのものを良くするわけではありません。
  • D正しい。パーティションキー(必要なら GSI)に対する Query を使えば、該当項目だけを効率的に取得できます。
DVA-C02:AWS Certified Developer - Associateの問題を演習モードで解く