DynamoDB-複数の範囲キー


9

範囲キーとして複数のフィールドを持つことは可能ですか?

各行が一意に識別されるテーブルがあるとしましょう <A,B,C>

 -------------------------------
 A   |   B   |  C  |  D   |  E  |
 -------------------------------

Ahashキーはどこですか

そして私が欲しいBCプライマリにrangeキー。

DynamoDBの主キーとして3つ以上のフィールドを持つにはどうすればよいですか?

回答:


6

DynamoDBの主キーとして2つを超えるフィールドを持つことはできません。

回避策として、local secondary index範囲キーにしたいフィールドごとに作成できます。ただし、DynamoDBは一度に1つのインデックスしか使用できないため、複数の範囲キーでクエリを同時に作成することはできません。

フィルター式の使用を検討すると、おそらく必要以上の読み取りスループット(フィルターはdbからデータを受信した後に実行されます)を使用することになりますが、望ましい結果が得られます。


8

BとCのコピーを範囲フィールドに(追加の列として)挿入し、「B_C」のような範囲キーを作成します。必要に応じて、BとCに個別の列を設定することもできます。


このアプローチをこの問題の解決策として使用できますか?
Birowsky 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.