私はちょうど卒業論文を書いているところです。したがって、私は理論の最終的な一貫性と、Cassandra がこの理論をどのように適用するかに関心があります。私の問題を理解するには、次の一貫性の定義を考慮してください(私が理解している限り):
因果の一貫性:
因果関係がある可能性のあるメモリ操作がシステムのすべてのノードで同じ順序で見られる場合、システムは因果的一貫性を提供します。(ウィキペディア)
したがって、プロセス A がデータ X を DB に書き込み、その後プロセス B がこのデータ X を読み取り、これを Y で上書きする場合、すべてのレプリカ (それぞれのノード) で A の後に B が X を取得すると、因果的一貫性が保証されると言います。 )。
読み取りと書き込みの一貫性:
これは、因果的一貫性の特殊なケースです。これにより、読み取りと書き込みは同じプロセス A で処理されます。このタイプの一貫性により、変更後に A が古いデータ オブジェクトを持つことはありません。
セッションの一貫性:
この場合、プロセス A はセッションで DB にアクセスします。このセッションが存在する限り、システムは読み取りと書き込みの一貫性を保証します
単調読み取りの一貫性:
プロセスが読み取り後に特定のデータ オブジェクトを取得する場合、システムは、後続のすべての読み取りアクセスのプロセスが古いデータ オブジェクトを取得しないことを保証します。
単調な書き込みの一貫性:
この場合、DB への書き込みオプションはシリアル化されます。これにより、書き込みオプションの順序によって、どのプロセスが最初に書き込みを行うかが決まります。
これで、理論上、一部または 1 つが NoSQL システムに実装されている一貫性オプションがいくつかあります。しかし、私が何か間違ったことを理解した場合は、私を修正してください。
私の質問は、CASSANDRA が提供する一貫性の種類はどれですか? そして、これらの一貫性はルール「R+W>N」それぞれ「R+W<=N」にどのように関連していますか?
whereby
R=read replica count
W=write replica count
N=replication factor
I'd really appreciate a quick answer. Thank You!!!