3

Dynamo DB に 64kb を超えるオブジェクトを格納したいユースケースがありました。オブジェクトを小さなチャンクに分割し、キーの複数の値として保存する、一種の「ページング」機能を実装すると、これは比較的簡単に達成できるようです。

しかし、これは私に考えさせました。Amazon がこれを SDK に実装しなかったのはなぜですか? 64kb より大きいオブジェクトを格納するのは、どういうわけか悪い考えですか? もしそうなら、使用する「正しい」インフラストラクチャは何ですか?

4

3 に答える 3

5

私の意見では、これは DynamoDB が行った理解できるトレードオフです。高可用性と冗長性を確保するには、データをレプリケートする必要があります。超低レイテンシーを実現するために、一貫性のない読み取りを許可しました。それらの内部実装についてはよくわかりませんが、この 64KB の上限が高いほど、一貫性のない読み取りがアイテムの実際の現在の状態よりも古くなる可能性があると思います。また、超低遅延システムでは、ミリ秒が問題になる場合があります。

これにより、一貫性のないクエリがチャンク 1 と 2 (まだ 3 ではない) を返すという問題がクライアント側にプッシュされます。

質問のコメントによると、より大きなデータを保存する場合は、S3 に保存し、DynamoDB の項目の属性から S3 の場所を参照することをお勧めします。

于 2013-03-09T00:18:10.560 に答える
2

記録として、DynamoDB の最大項目サイズは、質問されたときの 64K ではなく、400K になりました。

于 2016-04-30T23:19:04.037 に答える