スカラー値に対する等価操作をサポートする分散型の高可用性、最終的に整合性のあるデータベースはありますか?偶数増加演算子を使用した、結果的に一貫性のある分散データベースですか?
通常の更新を使用すると、異なるノードに2つの異なる値があり、両方のトランザクション値で金額を増やす必要があるため、値が正しくない可能性があります。
私は応答を受け取ったときにその操作が現在のものに関係なく他のレプリカで実行されることができるように、コマンドの増分(key、attribute [column]、diff)アカウントの価値?このようにして、2つの異なるノードが異なる値で増加しても、その増加が他のレプリカに伝播するため、操作を増加させるための最終的な一貫性が得られます。
私は、それが高機能データベースのcassandra(その機能を持たない理由)で動作しないため、条件付きの更新については言及していません。原子増分操作に興味があります。
ありがとうございました。
P.S.それはすでに同じlock_key
TLと同じコマンドを受け取った場合、DBは増加しないだろうように、私は、コマンドの増加(キー、属性、デフ、lock_key)を持っているでしょう冪等の増加の場合 ; DR:
分散AP型データベースに正確なカウンタを作成する方法はありますか? 2つの問題: 1)カウンターを増やすために操作を送信しても応答が得られない場合は、その要求を再度送信しますが、カウンターを2回増やしたくありません。 2)そのカウンタが別のレプリカで同時に更新された場合、最終的にはこの値を組み合わせて値を上書きしないようにしたいと思います。 増分( "John's balance"、+ 5.67、 "sdfsdfas")のようなコマンドがあります。ここで、sdfsdfasは重複した更新を破棄するための文字列です。この種のコマンドを複製するデータベースはありますか?
私はこれが役に立つと思うシナリオを理解していません。すべてのレプリカが常に同じ値を維持することが重要である場合は、同期を維持する必要があります。どのように "冪等の更新"はこれを助けるでしょうか? –
レプリケーションで任意のdbを使用してから、それに相当する 'increase_operations(target_id、increase_amount、operation_id)に挿入 'し、sum()を勝利に導きますか? operation_idは、重複した操作を識別する方法です。確かに最終的に一貫している。 – goat