Orders DynamoDB テーブルは、パーティションキーとして OrderID (ソートキーなし) を使用し、100,000 を超える項目を含んでいます。OrderSource 属性が「MobileApp」と等しいすべての注文を効率的に取得する必要があります。ユーザーエクスペリエンスを向上させるための最も効率的な設計は何ですか?
解答を選択
オプションをタップして解答を確認してください。
正解: OrderSource をパーティションキーとしてグローバルセカンダリインデックス (GSI) を作成し、MobileApp をキーとして GSI を Query します。.
これが解答である理由
正解は、OrderSource をパーティションキーとしてグローバルセカンダリインデックス (GSI) を作成し、MobileApp をキーとして GSI を Query することです。GSIは、元のテーブルとは異なるパーティションキーとソートキーを持つインデックスで、特定の属性に基づいて効率的にデータを検索するために使用されます。この場合、OrderSourceをGSIのパーティションキーにすることで、「MobileApp」に一致するすべての項目をQuery操作で直接、かつ効率的に取得できます。 Scan操作はテーブル全体をスキャンするため、項目数が多い場合に非効率的でコストも高くなります。ローカルセカンダリインデックス (LSI) は、ベーステーブルと同じパーティションキーを持つ必要があります。したがって、OrderSourceをLSIのパーティションキーにすることはできません。OrderSourceをソートキーとするGSIを作成した場合、OrderSourceの値で直接クエリすることはできないため、効率的ではありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要