Cassandraについて④
- 2016年09月12日
- CATEGORY- 1. 技術力{技術情報}
こんにちは!
夏フェスが楽しみになってきました!
ちゃんと水分を取って熱中症には気をつけましょう。
今回もCassandraの特徴について勉強してみます。
・Cassandraのデータ分散について
Cassandraの大きな特徴は分散データベースであることです。
以前の記事で一貫性レベルについて書かせていただきました。
この一貫性レベルに応じてデータの整合性を担保します。
クラスタを構成する各ノードにデータを均等に分散し
全てのノードで書き込みと読み取りを可能にします。
より近いデータセンターなどから読み書きを行うことによって
パフォーマンスを向上させるようにCassandraは設計されています。
■可用性
RDBではMaster-Slave構造であるのに対し
CassandraはMasterを持たない設計のため、ダウンタイムがありません。
■拡張性
RDBではマスタを増強することによってスケールアップしますが
Cassandraではノードを追加することによってスケールアウトし
簡単にパフォーマンスを向上さることができます。
■レプリケーション
Cassandraは離れたデータセンターやクラウド上などにノードを分散配置し
それらのノードにデータを分散することができます。
レプリケーションの設定はレプリケーション先のデータセンター名とレプリカ数を指定するだけで
どのデータをどのノードに配置するのかも含めCassandraが自動的に設定してくれます。
クラスター全体のレプリカの総数を、レプリケーション係数と呼びます。
レプリケーション係数1は、各行のコピーが1つしかなく、1つのノード上にあることを意味します。
レプリケーション係数2は、各行のコピーが2つあり、それぞれ異なるノード上にあることを意味します。
すべてのレプリカの重要性は同じで、プライマリ・レプリカやマスター・レプリカといった区別はありません。
原則として、レプリケーション係数はクラスター内のノードの数を超えることはできません。
ただし、レプリケーション係数を大きくした後でノードの数を増やすことができます。
■レプリケーション・ストラテジ
・SimpleStrategy
レプリカを格納するノードを、データセンターおよびラックを意識せずに決めます。
複数のデータセンターがある場合でもデータセンターをまたがってレプリカを持つとは限りません。
同一データセンターに複数のラックがある場合でも、ラックをまたがってレプリカを持つとは限りません。
・OldNetworkTopologyStrategy
複数のデータセンターがある場合は、レプリカのひとつを他のデータセンターのノードに格納します。
複数のラックがある場合は、他のレプリカを異なるラックのノードに格納します。
単一データセンターおよび単一ラックの場合は、SimpleStrategy と同じ挙動をします。
・NetworkTopologyStrategy
各データセンター毎に設定されたレプリカ数を満たすように格納します。
データセンター内に複数のラックがある場合は、ラックをまたがって格納します。
データセンター内に複数のラックがない場合は、同じラックの異なるノードに格納します。
—
一貫性レベルと同様にデータ分散の仕組みも複雑ですね。
もっと掘り下げて学習してみたくなりました!
【関連記事】
SOAPUIの便利な使い方①
SOAPUIの便利な使い方②
SOAPUIの便利な使い方③
SOAPUIの便利な使い方④
SOAPUIの便利な使い方⑤
SOAPUIの便利な使い方⑥
JavaWebServerを使ってみるテスト
Splunkを使ってみよう!
SOAPUIの便利な使い方⑦
捨てる前にできること
eclipseでSoapUIを動かしてみる
マウスにもこだわりを
WindowsでDockerを使ってみよう①
忘れがちなGitコマンド
AWSを使ってみる
ヘッドフォンの選び方
Cucumberを使ってみるテスト①
忘れがちなGitコマンド②
Cassandraについて①
Cassandraについて②
Cassandraについて③
- 2016年09月12日
- CATEGORY- 1. 技術力{技術情報}