Cassandraについて⑤
- 2016年10月17日
- CATEGORY- 1. 技術力{技術情報}
こんにちは!
今年は梅雨が明けた感じもしなかったですが
いつの間にか夏になってましたw
北海道に帰省するので美味しいものを食べてゴルフでもしてこようと思います!
以前の記事でCassabdraのデータ分散概要について書きましたが。
今回は実際のデータ分散方法について学習してみます。
・Cassandraのデータ分散について
Cassandraでは、データ分散とレプリケーションが連動しています。
データはテーブル単位で構成され、プライマリキーで識別されます。
プライマリキーはどのノードにデータが格納されるかを決定します。
・コンシステントハッシュ法
コンシステントハッシュ法は、パーティションキーに基づいてデータを
パーティション分割します。
パーティションキーのハッシュ値を算出し、その範囲に該当する
各ノードにデータを格納します。
リング状のハッシュテーブルを使用することで
サーバが増減した場合でも特定のサーバに負荷が集中しない利点があります。
・仮想ノード
仮想ノード(vnode)はCassandraのさまざまなタスクを簡素化します。
・トークンを計算して、各ノードに割り当てる必要がありません。
・ノードの追加または除去の際に、クラスターのバランス調整をする必要がありません。
クラスターにノードが参加すると、そのノードはクラスターの他のノードからデータを均等に引き受けます。
あるノードに障害が発生すると、負荷はクラスターの他のノードに均等に分散されます。
・クラスターの他のノードすべてがかかわるため、デッド・ノードはより速く再構築できます。
・クラスター内の異なる機種のマシンの利用効率を向上させます。
マシンの大小に比例する数のvnodeを割り当てることができます。
vnodeにより、各ノードはクラスター全体にわたって
分散される多数の小さなパーティション範囲を持つことができるようになります。
vnodeは、コンシステント・ハッシュ法を使用してデータを分散しますが
トークンの生成および割り当ては必要ありません。
1つのマシン上に複数作成でき、ほかのサーバーからのレプリカから
より高速に再構築ができる点が特徴です。
これを利用することでクラスタ管理を効率化できるほか
サーバーに障害が発生した際の復旧も容易になり
全体的なパフォーマンスも向上します。
1台の物理ノードを仮想ノードとしてハッシュリング上に複数配置することで
ノードごとの受け持つレンジの大きさが偏らないようにできます。
—
データ分散の仕組みはやはり複雑ですね。
【関連記事】
SOAPUIの便利な使い方①
SOAPUIの便利な使い方②
SOAPUIの便利な使い方③
SOAPUIの便利な使い方④
SOAPUIの便利な使い方⑤
SOAPUIの便利な使い方⑥
JavaWebServerを使ってみるテスト
Splunkを使ってみよう!
SOAPUIの便利な使い方⑦
捨てる前にできること
eclipseでSoapUIを動かしてみる
マウスにもこだわりを
WindowsでDockerを使ってみよう①
忘れがちなGitコマンド
AWSを使ってみる
ヘッドフォンの選び方
Cucumberを使ってみるテスト①
忘れがちなGitコマンド②
Cassandraについて①
Cassandraについて②
Cassandraについて③
Cassandraについて④
- 2016年10月17日
- CATEGORY- 1. 技術力{技術情報}