DVA-C02:AWS Certified Developer - Associate AWS サービスを用いた開発 問19
AWS サービスを用いた開発/アプリ開発におけるデータストアの利用DynamoDB テーブルで、パーティションキー以外の属性(例: メールアドレス)を条件に効率よくクエリしたい。テーブル作成後でも追加でき、別のキースキーマでクエリできるものはどれか。
当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「AWS サービスを用いた開発」に対応。実際の試験問題ではありません)
- Aローカルセカンダリインデックス(LSI。テーブル作成時のみ作成でき、パーティションキーは元と同じ)
- BDynamoDB Streams
- CDynamoDB のTTL
- Dグローバルセカンダリインデックス(GSI。別のパーティション/ソートキーでクエリできる)
正解:D
解説
グローバルセカンダリインデックス(GSI)は、元テーブルと異なるパーティション/ソートキーを持つインデックスで、テーブル作成後でも追加でき、別の属性を条件にクエリできます。LSI はテーブル作成時のみ作成可能でパーティションキーが元と同じという制約があり、Streams は変更捕捉、TTL は削除機能です。
選択肢ごとの解説
- A誤り。LSIはテーブル作成時のみ、かつパーティションキーは元テーブルと同じで、任意キーの後付けクエリには使えません。
- B誤り。Streamsは変更捕捉で、クエリ用インデックスではありません。
- C誤り。TTLは期限切れ削除です。
- D正しい。別キーでのクエリにはグローバルセカンダリインデックス(GSI)です。