是否有分佈式高可用性,最終是一致的數據庫,支持對標量值進行冪等運算?最終一致的分佈式數據庫與冪等增加運算符?
如果我們用正常的更新,再有就是,我們會有不同的節點上2個不同的值,因爲我們需要雙方交易價值增加量沒有值將是正確的可能性。
是否有一個分佈式數據庫,我可以發送一個命令增加(key,attribute [column],diff),這樣當我收到一個響應時,我可以確定該操作將在其他副本上執行,而不管當前賬戶的價值?通過這種方式,即使2個不同的節點增加了不同的值,我也將具有增加操作的最終一致性,因爲增加會傳播到其他副本。
我不是在談論有條件的更新,因爲它不會對高可用性數據庫像Cassandra的工作(這就是爲什麼他們不具備該功能),我感興趣的原子增加操作。
謝謝。
P.S. 在冪等增加的情況下我會一個命令增加(鍵,屬性,DIFF,lock_key),所以如果它已經收到具有相同lock_key
TL相同的命令分貝不會做增加; DR:
有沒有辦法在分佈式AP類數據庫中做一個精確的計數器? 2問題: 1)如果我發送操作來增加一個計數器,但我沒有得到響應,我會再次發送該請求,但不希望增加計數器兩次。 2)如果該計數器在另一個副本上同時更新,我想最終將這個增加結合起來,而不是覆蓋這些值。 所以有一個像增加命令(「約翰的平衡」,+5.67,「sdfsdfas」),其中sdfsdfas是一個字符串用於丟棄重複更新。是否有一個數據庫複製這種類型的命令?
我不確定我是否理解這方面的用處。如果所有副本必須始終保持相同的值是至關重要的,那麼它們必須保持同步。 「冪等更新」如何爲此提供幫助? –
剛剛使用任何數據庫與複製,然後等價地'insert into increase_operations(target_id,increase_amount,operation_id)'然後求和()你的勝利方式? operation_id是您如何識別重複操作。它當然最終一致。 – goat