-4

Riak では、デフォルトでデータ バケットが 3 つの異なるノード (N=3) に複製されます。また、成功したと見なされる前に読み取りまたは書き込み要求に応答する必要があるレプリカの数は 2 ノード (R=2、W=2) です。

N が小さいか R+W に等しい場合、Riak は強整合性を提供します。したがって、これらのデフォルト値により、Riak は (MySQL のように) 強力な一貫性を提供します。Riak は強整合性ではなく、結果整合性を提供すると言う人がいる理由が理解できません。

4

2 に答える 2

2

R および W の値 (PW (プライマリ書き込み)、PR (プライマリ書き込み)、および DW (永続書き込み) と共に) を使用すると、アプリケーションの要件に従って一貫性を調整できます。これにより、通常の操作中の一貫性が保証されますが、Riak は、ネットワーク パーティショニングなどの障害シナリオを処理する方法により、結果的に一貫性が保たれます。

N が 3 に設定された 5 つのノードのクラスターがあり、2 つのノードが一定期間残りのノードから分割されていると仮定すると、前述のパラメーターに従って、すべてのノードが引き続き読み取りと書き込みの両方を受け入れることができます。さらに、PR と PW が 0 に設定されていると仮定すると、パーティションが配置されている間に、パーティションの両側でレコードを更新できます。これにより、クラスター接続が復元されるまで解決できない不整合が発生する可能性があるため、システムは最終的に整合性が保たれます。

PR および PW を使用すると、ユーザーは、読み取り/書き込みが成功するために一定数のプライマリ パーティション所有者が存在する必要があることを指定できます。これらが値 > 0 に設定されている場合、パーティション分割されたクラスターが存在しない可能性があります。ネットワーク パーティションが存続している間、すべてのノード上のすべてのオブジェクトへの読み取り/書き込みを許可します。

于 2013-01-03T15:45:12.440 に答える
1

Riak や同様のシステムが提供するものを表すより適切な用語は、調整可能な一貫性です。これらのシステムは、一貫性、可用性、およびパーティション許容度の間のトレードオフについて決定を下す能力を提供するからです。対照的に、MySQL やその他の RDBMS システムは、一貫性を保証するために多大な努力を払っています。これは、常にコストに見合うとは限らない高価な保証です。

于 2013-01-03T15:03:46.840 に答える