2017-04-19 16 views
1

私はミニコンテンツ管理システムを構築する予定です。 DynamoDBにコンテンツを格納する可能性を確認すると、サービスは同じコンテンツの更新中にコンテンツにアクセスできますか? (CMSのコンテンツを更新して公開するシナリオ) このようなケースでは、CloudSearchはDynamoDBではなく、より良いソリューションになりますか?AWS DynamoDBで同じデータを更新しながらデータにアクセスする

ありがとうございます!

答えて

1

あなたのユースケースを考えて、の最終的に一貫した読み取りまたは強く一貫性のある読み取りが必要かどうかを判断してください。

Read Consistency

最終的に一貫性のあるあなたはDynamoDBのテーブルからデータを読み込むときに、応答が最近完了した書き込み操作の結果が反映されない場合があります

を読み込みます。応答には失効したデータが含まれている可能性があります。短い時間の後に読み取り要求を繰り返す場合、応答は最新のデータを返す必要があります。あなたが強く一貫した読み取りを要求すると

強く一致して

を読み込み、DynamoDBのは、成功したすべての以前の書き込み操作から更新を反映し、最新のデータと応答を返します。ネットワークの遅延や停電が発生した場合、強固に一貫性のある読み取りを使用できない可能性があります。

注: - 特に指定しない限り

DynamoDBのは、読み込み最終的に一貫し使用しています。 GetItem、Query、Scanなどの読み取り操作では、ConsistentReadパラメータが使用されます。このパラメータをtrueに設定すると、操作中にDynamoDBは強く一貫性のある読み取りを使用します。トランザクション管理のための

AWS DynamoDBのツール(Javaの): - : 一貫性と耐久性のボックスのうち

、DynamoDBのは4つのACID特性のうちの2つを提供します。 1つのアイテム内には 原子と分離がありますが、アプリケーションに複数のアイテムが含まれている場合は、これらのプロパティを失います。時にはそれは良いです しかし、多くのアプリケーション、特に分散アプリケーション、 は、その素性と分離のいくつかを理解するでしょう。 幸いにも、DynamoDBは、アプリケーションがこれらの プロパティを達成し、完全なACIDトランザクションを持つことができるようにツール(特に楽観的 並行性制御)を提供します。

このツールは、DynamoDB用にJavaまたはAWS SDK Javaを使用している場合に使用できます。他の言語でも同様のツールが利用できるかどうかはわかりません。

このライブラリで利用できる機能の1つはIsolated Readsです。

隔離された読み取り:複数のアイテムへの読み取り操作は、他のトランザクションによって妨げられません。

Dynamodb transaction library for Java

Transaction design

関連する問題