2.4基礎
注文項目のうち、未処理状態のものだけを一覧したい。
GSIのストレージと書き込み負荷を必要最小限にしたい。
最も適切な設計はどれか。
× 不正解
未処理項目だけにGSIキーを設定するsparse GSIで、不要な項目を除外して効率的にQueryする。
詳細解説
正しい対象項目だけにGSIキー属性を付与する
属性がない項目はGSIへ載らないため、sparse indexとして対象だけをQueryできる。
属性がない項目はGSIへ載らないため、sparse indexとして対象だけをQueryできる。
誤り全項目へ同じGSIキーを設定する
不要な項目までGSIへ載り、容量と書き込みコストが増える。
不要な項目までGSIへ載り、容量と書き込みコストが増える。
誤りFilterExpression付きScanを常用する
Scan後のフィルタは読み取り量を減らさず、大規模化で非効率になる。
Scan後のフィルタは読み取り量を減らさず、大規模化で非効率になる。
誤りS3 Lifecycleで未処理項目を抽出する
S3のオブジェクト管理機能でDynamoDB項目を検索できない。
S3のオブジェクト管理機能でDynamoDB項目を検索できない。
実際に確かめる
一時的な検証環境で実行できる例です。
Amazon DynamoDB sparse index、GSI key attribute、Queryの公式説明を確認する。期待される結果
sparse GSIが全項目を複製せず条件対象だけを検索する仕組みを説明できる。理解のポイント
- Sparse GSI
- GSI
- FilterExpression
- 書き込みコスト
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01 Domain 2・Task 2.4と各サービスの公式ドキュメントを確認する。
基礎のおさらい
インデックス設計
投影属性とキー属性を最小化し、対象項目の増減を監視する。
整合性
GSIは結果反映に遅延があり得るため、強い整合性が必要な処理と分ける。
問題IDAWS-DEA-172
確認環境AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
最終技術確認2026-08-20
誤り・権利侵害を報告