注文管理アプリケーションがDynamoDBテーブルを使用しています。テーブルの主キーは `customerId`(パーティションキー)と `orderId`(ソートキー)です。このテーブルはすでに本番環境で稼働中であり、数百万件のレコードが格納されています。新たに「特定の顧客の注文を `orderDate` の降順で効率的に取得する」要件が追加されました。この要件を最も適切に実装する方法はどれですか?
GSIは既存テーブルにいつでも追加でき、`customerId`をパーティションキー・`orderDate`をソートキーに設定することで、ScanIndexForward=falseで特定顧客の注文をorderDate降順で効率的に取得できます。 選択肢AのLSIはテーブル作成時にのみ定義できる制約があり、稼働中テーブルへの後付け追加は不可能。 選択肢CのQueryはベーステーブルのソートキー(orderId)順にしかソートできず、全件取得後のアプリ側ソートは大量データで非効率。 選択肢DのScanはテーブル全件を読み取るためRCU消費が大きく、本番ワークロードに不適切。