2016-04-06 14 views
1

私は、例えばアーティストや作品を持っています。だから、私のアーティストテーブルには、ユニークなハッシュキー(アーティストID)とレンジキーがありません。私はハッシュキー(アーティストID)と怒りのキー(アートワークID)を使った作品のテーブルを持っています。DnnamoDBハッシュキーと範囲キーなしのテーブル

dynamobがアーティストテーブルをパーティションまで扱い、パーティションにアイテムを割り当てる方法を理解しようとしています。各ローは一意であるためです。

1)IDでアーティストをプルアップする必要があるときにテーブルをスキャンする唯一のオプション、またはハッシュIDのみでクエリを実行するとどうなりますか? 2)これらのアイテムはどれも「フードの下に」保管されていますか? dynamodbはこれをノード/パーティションまでどのように扱いますか? 3)ユニークでレンジキーのないアイテムを扱うための共通のデザインパターンはありますか?

ありがとう、この正確なトピックについて何かを見つけて助けを求めてください。

+0

これらも役立つ可能性があります。http://stackoverflow.com/questions/29501670/dynamodb-when-to-use-what-pk-type/29511886#29511886 – bsd

+0

http://stackoverflow.com/questions/29178855/ハッシュ・レンジ・イン・ザ・ダイナモ・テーブル/ 29187269#29187269 – bsd

答えて

2

まず、「ハッシュキー」は、Amazon DynamoDBのドキュメントでは「パーティションキー」と呼ばれています。また、「範囲キー」はドキュメントの「ソートキー」と呼ばれています。これらの検索用語を使用すると、おそらくこの情報に関する情報を見つけるのに役立ちます。私はidで アーティストをプルアップする必要があるか、私はハッシュIDでクエリをすれば何が起こるときに、テーブルをスキャンするために私の唯一のオプションは

1)ですか?

ソートキーはオプションです。パーティションキーをクエリに渡すだけで、そのキーでレコードを取得する必要があります。このシナリオでは、フル・テーブル・スキャンを実行する必要はありません。

2)これらのアイテムはどのように「フードの下に」保管されていますか? dynamodb はこれをノード/パーティションまでどのように処理しますか?

DynamoDBはパーティションキーに基づいてデータを分割します。私は彼らがフードの下でどのように動作するかを正確に公表したとは思わない(私が間違っていれば私を修正する)。それぞれのレコードに一意のパーティションキー値がある場合、データは良好な均一性で分散されるということは、they have saidです。

3) ユニークでレンジキーを持たないアイテムを扱う共通のデザインパターンがありますか?

はい、このシナリオでは、ソートキーはオプションです。存在しない場合はソートキーを使用しないでください。公式ドキュメントのGuidelines for Working with Tables区間を読む


はこのようなものを理解するために本当に便利です。