6

Cassandra のレプリケーションのメカニズムを理解したいと思っています。データ配布に関する Datastax リンクを読みました。

http://www.datastax.com/docs/1.2/cluster_architecture/data_distribution

コンシステント ハッシュ セクションでは、Cassandra が各プライマリ キーのハッシュ値を作成し、それに基づいて、生成されたハッシュ値を格納するノードにデータを送信することを示しています。その後、クラスター内のデータの分布を示します。私の質問は、ハッシュ値に基づいて、このデータをクラスター内の他のノードにどのようにコピーするかです。

これは非常に基本的な質問かもしれません。できれば例を挙げて説明してください。

4

2 に答える 2

12

レプリカを見つける方法は、レプリケーション戦略によって異なります。仮想ノードのないレプリケーション ファクター N の SimpleStrategy の場合、Cassandra は次のことを行います。

  1. キーをハッシュする
  2. ハッシュ以上の最小トークンを持つノードを見つけ、必要に応じて折り返します
  3. そのノードと次の N-1 ノードにキーをトークン順に格納します

例として、ノードにトークン 0、10、20、30 があり、レプリケーション ファクターが 2 であるとします。キーのハッシュが 14 の場合、トークンは 20 と 30 でノードに格納されます。キーのハッシュが 28 の場合、トークン 30 と 0 を持つノードに保存されます。

仮想ノードを使用する場合、同じ考え方が使用されますが、物理ノードが既にキーを受け取っている場合、仮想ノードはレプリカとしてスキップされます。

NetworkTopologyStrategy を使用している場合、そのデータ センターのクォータに達すると、ノードはスキップされます。

于 2013-05-31T10:59:09.013 に答える
0

サイトhttp://www.datastax.com/documentation/cassandra/2.0/cassandra/architecture/architectureDataDistributeDistribute_c.htmlの仮想ノードを使用した cassandra に関するディストリビューションについて学びました 。図の下部にあるように、すべての仮想ノードには異なる物理ノードに 3 つのレプリカがありますが、仮想ノードが割り当てられるときにレプリケーション戦略が決定されますか?

于 2014-05-26T15:55:55.187 に答える