結果整合性
ソフトステート:一貫性が保証されていないため、ある程度の時間が経過しても、状態がまだ収束していない可能性があるため、ある程度の確率でしか状態を知ることができない。
最終的に(結果的に)一貫性がある:システムが機能していて、ある入力セットの後に十分な時間待つことができれば、結果的にデータベースの状態を知ることができ、それ以降の読み取りは期待に沿ったものになる。
結果一貫性は、分散ソフトウェアアプリケーションの複雑さを増大させると批判されることがある。これは結果一貫性が純粋にライブネス保証(読み込んだデータが最終的に同じ値を返す)であり、安全性を保証していないことが一因である。結果一貫性を持つシステムは、収束する前に任意の値を返す可能性がある。
結果整合性はACID特性と同様にデータベースにおける一貫性モデルであるBASE特性における最も重要な考え方の一つである。結果整合性(Eventual Consistency)は、既存のRDBMSにおける悲観的ロックのような、厳密な一貫性を要求する考え方とは全く相反する考え方である。例えば、インターネットのDNS、NTPプロトコル、GPSなどのように、即座にデータが反映されることを前提としていないが、問題なく成立している事例は数多く存在する。
このように、結果整合性(Eventual Consistency)は、結果的に一貫性が保たれればよいという考え方に基づいている。NoSQLに代表されるデータストアでは、この考え方を取り入れることで、容易にスケールアウトを実現できるようにしている。結果整合性(Eventual Consistency)の実現には、P2Pのアーキテクチャーを導入した、様々な分散相互排他アルゴリズムが採用されている。