2.4基礎
既存テーブルは顧客IDで検索している。
新たにステータスと更新時刻で未処理注文を検索したいが、既存の読み取りを壊したくない。
最も適切な設計はどれか。
× 不正解
新しい検索軸にはGSIを追加し、投影属性、書き込みコスト、バックフィル中の容量を確認する。
詳細解説
誤り既存テーブルの主キーを変更する
DynamoDBの主キーは後から変更できず、再作成・移行が必要になる。
誤りTTLをステータス検索へ利用する
TTLは期限削除で、任意のステータス検索を提供しない。
誤り毎回FilterExpression付きScanを実行する
Scan後のフィルタは読み取り容量を節約せず、大規模化で非効率になる。
正しい新しいアクセスパターン用のGSIを追加する
既存PKを変えずに別キーでQueryでき、アプリケーションを段階移行できる。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
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
誤り・権利侵害を報告