2016-12-20 3 views
0

私はDynamoDBを初めて使用しているため、インデックスと単一ドキ​​ュメントの取得に関する質問があります。私はこのような文書構造を持っていると言う:DynamoDB - ソートと単一ドキ​​ュメント検索のインデックス数

{ 
    "id": "71a07b09", 
    "user_id" "5603cdbaa9edb8afe31ff587de14c644", 
    "timestamp": 1482235833. 
    "data": { 
     "param": "value" 
    } 
} 

新しいテーブルを作成するとき、私はので、私は与えられた時間の範囲内で、ユーザーの文書を照会することができuser_id上の一つの指標を設定し、timestampのキーをソートします。

質問があります - 私は同じID(この例では71a07b09)で単一のドキュメントを照会したい場合 - idフィールドに別のインデックスを設定する必要がありますか?もしそうなら、それは月間AWSのコストにどのように影響しますか?

答えて

1

パーティションキーをuser_id、ソートキーをtimestampと定義した場合は、追加のインデックス(グローバルセカンダリインデックス)が必要です。

必要な属性だけをGSIに投影して、GSIに格納されている合計バイト数を減らし、コードを減らすことができます。

GSIのストレージコストは、そのGSI内に格納されている合計バイト数に基づいています。これには、GSIキーと投影属性、および の値と、インデックス作成のための100バイトのオーバーヘッドが含まれます。

価格は地域によって異なります。以下のリンクを参照してください。

DynamoDB pricing

US-EAST(オハイオ州)の例:

最初の25 GB月ごとに保存がGB-月額$、0.25

無料でその後

関連する問題