現在、Couchbaseはリビジョンベースの競合解決を使用しています。これは、競合解決が行われる前にほとんどの時間更新された文書が勝つことを意味します。両方の文書が同じ時間だけ更新された場合、それらのうちの1つが勝つためにランダムに選択されます。例えば:アクティブ - アクティブ・レプリケーションでのCouchbase XDCRを使用する場合
S1: Updated once, S2: Updated twice. S2 wins
S1: Updated twice, S2: Updated once. S1 wins
S1: Updated once, S2: Updated once. Random winner
私はほとんどのユースケースのためだけ回避するために、クラスタ内の1つの文書の特定のセットと他のクラスタ内のドキュメントの他のセットを更新することをお勧めします同時書き込みに関する問題
また、上記のように、この競合解消モデルは、特定の用途にのみ有益です。将来、より多くの競合解消モデルが導入され、ユースケースに最も適したモデルを選択することができます。近い将来に「Last Write Wins」モデルを追加する必要があります。このモデルでは、より細かい競合解消を実現するためにベクトルクロックを使用します。
このようなシナリオでは更新が失われる可能性がありますか? –
私は失われません。両方のクラスタにはドキュメントがあり、それらはまったく異なっています。次のアップデートではそれが修正されます。 –