2016-12-15 6 views
0

それぞれのアイテムに固有の非複合キー "id"、いくつかのデータと "日付"プロパティが必要なテーブルがあるとします。この表を読むときは、いつも "日付"で注文した商品を返すことにします。この単純なシナリオにはどのようなアプローチが最適ですか?一意の非複合キーを持つソートテーブルの最も効率的なセットアップ

。アイテムの主キーとして( "id"、 "date")を使用します。 * Pro:セカンダリインデックスは不要です。 * Con: "id"はユニークであることが保証されていません。

プライマリキーとして "id"だけを使用し、( "id"、 "date")にセカンダリインデックスを作成してください。 * Pro: "id"は一意であることが保証されています * Con:追加のインデックスが必要です。

また、手法2を使用してテーブルから直接読めない場合は、テーブルの読み込み容量をゼロに設定できますか?

答えて

0

ご不明な点がいくつかあります。

"id"は一意ですが、組み合わせ( "id"、 "date")はそうではないと主張しています。どのようにすることができますか?

次に、最初の部分では、「テーブルを読む」(は、テーブル内のすべてのアイテムを返すことを意味しますか?!)を日付順にソートします。最後に、あなたが読んでいない場合は、テーブルに0個の読み取り単位をプロビジョニングできるかどうかを尋ねます。

:答えは、あなたが提供する0ことはできませんが、あなたは本当にあなたがオプションに持っているよりも日付で にテーブル内のすべてののアイテムを注文できるようにする必要がない場合は$ -wise

無視できる条項1にできることです

  1. あなたはすべての項目をencompasesパーティション・キーとGSIを作成して、レンジキーとして「日付」を使用しますが、この場合、あなたは本当にあなたが全体のテーブルを読み取ることができDynamoDBの
  2. の使用を疑問視する必要がありますすることができますメモリと注文があります
  3. あなたは粗いものを持つように階層構造を設定することができますデータを検索するために潜在的に複数のクエリを実行することによって結果を構成することができます。