結果整合性
レプリカを確実に収束させるためには、システムは分散したデータの複数のコピー間の差異を調整する必要がある。これには2つの部分がある。
サーバー間でデータのバージョンやアップデートを交換すること(しばしばアンチエントロピーとして知られている)、および
並行して更新が行われた場合に、適切な最終状態を選択すること(リコンシリエーションと呼ばれる)。
リコンシリエーションに最も適したアプローチは、アプリケーションによって異なる。一般的には「最後に書いた者が勝つ」という方式や、ユーザーが指定したコンフリクトハンドラーを起動する方法がある。更新の並行性を検出するために、タイムスタンプやベクタークロックがよく使われる。「最後に書いた者が勝つ」が受け入れられない状況では「最初に書いた者が勝つ」を使うことがある。
同時(並行)書き込みのリコンシリエーションは、次の読み取りの前に行われなければならず、次のような異なるタイミングでスケジューリングすることができる。
読み取りの修復:読み取りが不整合を発見したときに修正が行われる。これにより読み取り動作が遅くなる。
書き込み修復:書き込み時に不整合が発見された場合に修正が行われるため,書き込み動作が遅くなる。
非同期リペア:訂正は、読み取りまたは書き込み操作の一部ではない。