2.4基礎
既存テーブルは顧客IDで検索している。
新たにステータスと更新時刻で未処理注文を検索したいが、既存の読み取りを壊したくない。
最も適切な設計はどれか。
× 不正解
新しい検索軸にはGSIを追加し、投影属性、書き込みコスト、バックフィル中の容量を確認する。
詳細解説
正しい新しいアクセスパターン用のGSIを追加する
既存PKを変えずに別キーでQueryでき、アプリケーションを段階移行できる。
既存PKを変えずに別キーでQueryでき、アプリケーションを段階移行できる。
誤り既存テーブルの主キーを変更する
DynamoDBの主キーは後から変更できず、再作成・移行が必要になる。
DynamoDBの主キーは後から変更できず、再作成・移行が必要になる。
誤り毎回FilterExpression付きScanを実行する
Scan後のフィルタは読み取り容量を節約せず、大規模化で非効率になる。
Scan後のフィルタは読み取り容量を節約せず、大規模化で非効率になる。
誤りTTLをステータス検索へ利用する
TTLは期限削除で、任意のステータス検索を提供しない。
TTLは期限削除で、任意のステータス検索を提供しない。
実際に確かめる
一時的な検証環境で実行できる例です。
Amazon DynamoDB global secondary indexes、online index creation、projectionの公式説明を確認する。期待される結果
GSIが主キー変更ではなく追加の検索経路であることを説明できる。理解のポイント
- GSI
- 投影
- バックフィル
- スキーマ進化
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01 Domain 2・Task 2.4と各サービスの公式ドキュメントを確認する。
基礎のおさらい
段階移行
GSI作成後に新旧コードを併用し、データ整合性と利用率を監視する。
コスト
GSIの読み書き容量、投影属性、ストレージを見積もる。
問題IDAWS-DEA-166
確認環境AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
最終技術確認2026-08-20
誤り・権利侵害を報告