KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

Cassandraについて②


こんにちは!

暖かくなってきましたね。
ゴールデンウィークは温泉に行ってきました。
山奥のほうの温泉だったので静かでゆっくりできますね。
心も体もリフレッシュすると気分がいいですね!

—–
fujikawa01

今回もCassandraの特徴について勉強してみます。

【Cassandraの構成要素】

・ノード
データの格納先です。
・データセンター
ノードの集合体です。
物理的/仮想のデータセンターがありますが、より近くの
データセンターを利用することによって
レイテンシを下げることができます。
・クラスター
データセンターの集合体です。
・コミットログ
全てのデータはまずコミットログに書き込まれます。
そのデータがSSTableにフラッシュされた後、
コミットログは保存/削除または再利用できます。
・テーブル
行単位でフェッチされる、順序付カラムの集合体です。
行はカラムから構成され、PrimaryKeyを持っています。
・SSTable
ソート済み文字列テーブル(SortedStringTable)です。
非同期で構造化されたファイルに書き出されます

【Cassandraのデータモデル】

・Keyspace(キースペース)
RDBMSでいうところのデータベースにあたるものです。
1アプリケーションにつき1キースペースとみなされます。
・ColumnFamily(カラムファミリ)
RDBMSでいうところのテーブルにあたります。
複数の行(Row)で構成されます。
・Row(行)
キーと複数のカラムを持ちます。
行はレコード、キーは主キーのイメージです。
・Column(カラム)
Cassandra上の最小データ構造です。
名前(Name)値(Value)時間(Timestamp)を持ちます。
・SuperColumn(スーパーカラム)
値(Value)にソート済みの複数のカラムリストを持ちます。
(必須ではありません)

まずCassandraに書き込みが行われるとCommitLogに書き込まれます。
その後、カラムファミリ毎にMemtableという領域に書き込みされます。
MemtableがいっぱいになるとSSTableの形式で保存されます。

—–
やはりデータ分散に必要な構成なので複雑に感じますが
RDBMSに例えることで少し理解しやすい部分もありますね。

【関連記事】
SOAPUIの便利な使い方①
SOAPUIの便利な使い方②
SOAPUIの便利な使い方③
SOAPUIの便利な使い方④
SOAPUIの便利な使い方⑤
SOAPUIの便利な使い方⑥
JavaWebServerを使ってみるテスト
Splunkを使ってみよう!
SOAPUIの便利な使い方⑦
捨てる前にできること
eclipseでSoapUIを動かしてみる
マウスにもこだわりを
WindowsでDockerを使ってみよう①
忘れがちなGitコマンド
AWSを使ってみる
ヘッドフォンの選び方
Cucumberを使ってみるテスト①
忘れがちなGitコマンド②
Cassandraについて①