Orders テーブルは、customer_id をパーティションキー、order_id をソートキーとして使用し、order_date を属性として含んでいます。新しいアクセスパターンでは、order_date と order_id でクエリを実行する必要があります。このアクセスパターンを最小限の運用オーバーヘッドでサポートするために Lambda を追加する必要があります。どうすればよいですか?
解答を選択
オプションをタップして解答を確認してください。
正解: order_date をパーティションキー、order_id をソートキーとするグローバルセカンダリインデックス (GSI) をテーブルに追加します。Lambda に新しい GSI をクエリさせます。.
これが解答である理由
新しいアクセスパターンは orderdate と orderid でクエリを実行する必要があるため、これらの属性をキーとするインデックスが必要です。グローバルセカンダリインデックス (GSI) は、テーブルのパーティションキーとソートキーとは異なる属性をキーとして使用できるため、この要件を満たします。GSI を使用することで、元のテーブルのパフォーマンスに影響を与えることなく、新しいアクセスパターンを効率的にサポートできます。 ローカルセカンダリインデックス (LSI) は、テーブルと同じパーティションキーを持つ必要があります。このケースでは customerid がパーティションキーであるため、orderdate をパーティションキーとする LSI は作成できません。 テーブル全体をスキャンしてフィルタリングする方法は、データ量が増えるにつれて非常に非効率になり、コストも高くなります。 DynamoDB Streams はテーブルの変更をキャプチャするためのものであり、特定のアクセスパターンでデータをクエリするためのものではありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要