1

私はカサンドラで4ノードの設定をしていますが、次の設定をすることに決めましたが、pplはこれが3ノードの設定と同じであると言っています。私の光と「3」としてRFを持っていることは有益ですが、皆さんは、RF = 2と同じになります言っている、2つのノードの障害を提供し、ノード= 4、なぜ私の理解あたりとしてカサンドラの4ノード設定は、3ノード設定と同じです

Nodes = 3, Replication Factor = 2, Write Consistency = 2, Read Consistency = 1 
Nodes = 4, Replication Factor = 3, Write Consistency = 3, Read Consistency = 1 

を言います4ノードの設定でRF = 3、理由を教えてください。

おかげで、 ハリー

+0

ppl who?あなたは比率を変えるつもりです、そうではありません、彼らは同じではありません。 – xmas79

+0

そしてあなたはもっとそれを変えるつもりです...そうではありません、彼らは同じではありません! – xmas79

答えて

4

私はあなたが適切に質問を構築していないと思うとあなたの質問は少し不明です。しかし、私はそれを理解するのに役立ついくつかの点について説明しようとします。

ノード= 4,2つのノード障害を与えるノードの「3」

  1. 数の読み出し/書き込みの失敗の要因とカウントされないように、RFを有することが有益です。読取り/書込み障害(必要なレプリカまたはノードがダウンしている場合)の決定要因は、RF(レプリケーションファクタ)およびCL(整合性レベル)です。

RF - >保持するデータのコピー数。 (同じ行/データを保持するサーバーまたはノードの数)。

CL - >書き込み/読み取り操作が成功したことをクライアントに知らせる/通知するために必要なノードの数を確認します。つまり、少なくともCLの2つのノードであるCLの場合は、データが正常に書き込まれたことを確認するか、データがそれらの複製から読み取られます(必要な複製がすべて返されるまで待ちます)コーディネーター・ノードへの結果)、結果をマージして(異なるノードが同じデータの異なる更新を持つ場合は最新のデータを保持する)、結果をクライアントに正常に戻します。

注:RF = CLの場合は、ALLに相当するCLを使用しています。

ALLは、整合性レベルの最高レベル(データは確かに最新のことが、単一のレプリカがダウンしている場合は利用できません)

シナリオ1:

Nodes = 3, Replication Factor = 2, Write Consistency = 2, Read Consistency = 1書き込み動作に

あなたが書き込みCL(RFおよびワットの最高レベルを使用してきたように儀式のCL値が同じである場合)、これはシングルポイント障害のケースになります。両方のノードにデータが正常に書き込まれたことをクライアントに確認するために必要なレプリカはすべて生きていなければなりません。

読み取り操作の場合:

読み取りCLは1です。したがって、1つのレプリカがダウンしても生き残ることができます。原因は1つのレプリカだけで結果をクライアントに返す必要があるためです。古いデータである可能性があります(データの更新がまだこのノードに伝播されていない場合でも、最終的には一貫性があります)が、読み取りは成功します。

シナリオ2:書込み動作のため

Nodes = 3, Replication Factor = 3, Write Consistency = 2, Read Consistency = 1

ノードの数= RFとしては、すべてのデータは、すべてのノード(100%自身)にコピーされます。 1つのノード/レプリカがダウンしても存続します。

読み取り操作の場合: 2つのレプリカがダウンしても問題はありません。

シナリオ3:

Nodes = 4, Replication Factor = 2, Write Consistency = 2, Read Consistency = 1書き込み動作に

:読み出し動作のためのシナリオ1

として

同じ:シナリオとして

同じ1

書き込み動作に

Nodes = 4, Replication Factor = 3, Write Consistency = 3, Read Consistency = 1

シナリオ4は、読み出し動作のためのシナリオ1

として

同じ:

シナリオ2.

と同じ

関連リンク:詳細について

Understand cassandra replication factor versus consistency level

DataStax Docに従ってください。あなたはノードの障害シナリオ(読み取りまたは書き込み要求が失敗)のために懸念がある場合は、ノードの

編集

数は重要ではありません。

ノードが3/4/5の場合、RFが3でCLがQUORUM(3/2 + 1〜2)の場合、クラスタは1つのレプリカノードを停止することができます。上のリンクのAbout the QUORUM levelセクションをお読みください。

ノードが多い場合、クラスタはより多くのデータを処理したり、ノード間でデータを適切にロードして配布したりできます。しかし、要求フェールオーバーのシナリオは同じになります。

ノード= 3、複製因子= 3は、= 2整合性を書く、 整合= 1つの

ノード= 4、複製因子= 3を読み、 整合= 1

を読む= 2整合性を書きます

ノード= 5、複製因子= 3、 整合= 1

RFが3であり、読み書きCLは、それぞれ2と1であるように、CLUSを読んで、一貫性= 2を書き​​ます書き込み動作のために1つのレプリカを、読み出し動作のために2つのレプリカを許容することができる。これがあなたに役立つことを願っています

+0

これは私の頭からのコメントです:4ノードは3と同じくらい良いです。 一般に、偶数のノード数は、1つ少ない奇数のノード数だけで、CFのパラメータは同じままでなければなりません。 この場合、4は3と同じ設定で、5ではなく設定する必要があります。 – Harry

+0

上記の点を説明できますか? @Chaity – Harry

+0

CFの意味は?あなたはCLを意味しましたか? CFはColumn Familyを意味します:) – Chaity

関連する問題