仮想ノード
仮想ノード(vnode)は、単一トークン・アーキテクチャーを使用して容易に達成できるものよりも、よりきめ細かくノード全体にデータを分散させます。
vnodeとも呼ばれる仮想ノードは、単一トークン・アーキテクチャーを使用して容易に達成できるものよりも、よりきめ細かくノード全体にデータを分散させます。仮想ノードにより、DataStax Enterpriseでの多くのタスクが簡素化されます。
- トークンは自動的に計算され、各ノードに割り当てられます。
- ノードの追加または除去の際に、クラスターは自動的にバランス調整されます。クラスターにノードが参加すると、そのノードはクラスターの他のノードからデータを均等に引き受けます。あるノードに障害が発生すると、負荷はクラスターの他のノードに均等に分散されます。
- クラスターの他のノードすべてがかかわるため、デッド・ノードはより速く再構築できます。
- クラスター内の各マシンに割り当てられるvnodeの比率を割り当てることができます。そのため、クラスターの構築に大小のコンピューターを使用できます。
既存の単一トークン・アーキテクチャー・クラスターをvnodeに変換するには、「既存の実稼働クラスターでの仮想ノードの有効化」を参照してください。
仮想ノードを使用してクラスター全体にデータが分散される方法
仮想ノード(vnode)では、コンシステント・ハッシュ法を使用してデータを分散させますが、新しいトークンの生成と割り当ては必要ありません。
単一トークン・アーキテクチャー・クラスターでは、クラスターの各ノードに対して単一トークンを計算して割り当てる必要がありました。各トークンによって、リング(クラスター)における各ノードの位置と、データのハッシュ値に応じて各ノードが担当するデータ範囲が決まります。仮想ノード(vnode)により、各ノードは、クラスター全体にわたって分散される多数の小さなパーティション範囲を持つことができるようになります。vnodeは、コンシステント・ハッシュ法も使用してデータを分散しますが、トークンの生成および割り当ては必要ありません。
図の上半分は、vnodeなしのクラスターを示します。単一トークン・アーキテクチャー・パラダイムでは、各ノードに、リング内での位置を表す単一トークンが割り当てられます。各ノードは、1つ手前のノードからそのノードに割り当てられている値までの範囲のトークン値にマッピングされるパーティション・キーを持つデータを格納します。各ノードには、クラスターの他のノードからの各行のコピーも含まれています。たとえば、レプリケーション係数が3の場合、範囲Eはノード5、6、1にレプリケートされます。ノードがリング空間内で正確に1つの連続したパーティション範囲を所有していることに注意してください。
図の下半分は、vnodeを持つリングを示します。クラスター内では、vnodeがランダムに選択され、連続していません。行の配置は、各ノードが担当する多数の小さいパーティション範囲に納まるパーティション・キーのハッシュによって決まります。