1

まず、私が考えるいくつかの背景コンテキストは非常に関連している可能性があります。

私は、今後のアプリの実行可能なソリューションとしてdynanodbを証明しています。これは、dynamodbの提供に慣れるための学習実験です。私のプラットフォームはamazonEC2(Linux)、dynodeライブラリを備えたnode.jsです

私の質問は、テーブルを結合することができないno-sqlのコンテキストで1対多の関係(タグ、キーワード、カテゴリなど)を検討するときに出てきました。最初は簡単に思えました。属性リストとして保存するだけです。しかし、それから私は64KBの制限について読みました。

だから私の質問:

DynamoDBの属性(つまり、すべての列を含むdb行)を含むアイテムは、合計64KBのバイナリサイズを超えることはできません。では、データをチェックして、その長さに違反しないことを確認するにはどうすればよいですか?

数字は明らかに単純ですが、「UTF8バイナリエンコーディングを使用したUnicode」文字列は課題になります。

この質問の2番目の部分は、SQLを使用しない忍者には明らかかもしれません。テーブルに参加できないという負担を軽減しながら、この制限にぶつからないようにするにはどうすればよいでしょうか。長い答えはQ&A形式の範囲を超えている可能性がありますが、誰かがコメントを持っているか、64kの長さを解決しながら探求する必要がある代替案を提供できる場合は、感謝します。

よろしくお願いいたします。すべての提案を事前に感謝します。

4

2 に答える 2

1

@bcoates のコメントに同意します。それは本当にあなたのユースケースに依存します。

EntityRelationship テーブルを使用して結合をモデル化し、それらのテーブルに複製された関連データのビットを使用するいくつかの実装 (SimpleDB で、しかし同じ考え) があります。DynamoDB では、タグやカテゴリなどを実装するために範囲キーをうまく利用できます...

また、属性スパニングを使用して、SimpleDB の属性サイズの制限を克服しました (DynamoDB、同じことが達成できます)。レコード全体を再構成するためにフェッチ後に結合された複数の属性。(ここでもレンジキーテーブルが役に立ちます)

Simol (C# 用) には SimpleDB (http://simol.codeplex.com) の優れた実装があり、プロジェクトの所有者が DynamoDB の同様の実装に取り​​組んでいることを私は知っています。そのプロジェクトから洞察を得ることができるかもしれません。 .

于 2012-02-28T18:04:43.883 に答える
1

誰かがこの日の遅くに遭遇した場合、アイテムの最大サイズは 64kb ではなく 400kb になりました

于 2015-01-08T15:15:54.150 に答える