KZKY memo

自分用メモ.

Cassandra 入門

序論

  • 2011の記事では,Facebook/Twitterが使っているらしい
  • Facebook (2011)
    • 5億人規模
    • 150Tバイト以上のデータ量
    • ユーザメッセージの検索機能(Inbox Search)
    • 150ノードのCassandraクラスタ

基本

  • CAP定理のAPを満たす
  • 分散P2P
    • default replication factor = 3

データ構造

基本はkey-valueだけれどもHBaseのように多次元マップ.
ただし,HBaseはCP

  • keyspace
    • db相当
  • column family
    • table相当
  • rowkey
    • primary key相当
  • column
    • name
    • value
    • timestamp
  • super column
    • columnがnameソートされている
    • defaultで使われない

書き込み

1. CommitLog (WAL)
2. カラムファミリごとにMemtableというメモリ空間
3. MemtableがあふれるとspillするSSTableというファイル形式

言語

SQL-likeなCQLがある

ライブラリ

Installation

Ubuntu14.04の場合

http://www.datastax.com/documentation/cassandra/2.0/cassandra/install/installDeb_t.html

の通りにやる.

その前に

  • Oracle Javaを入れておくこと
  • rootのjavaをupdate-alternativesで変えておく
    • post-installでエラーがでるため
$ sudo su
$ update-alternatives --install /usr/bin/java java /usr/local/lib/java/jdk1.8.0_25/bin/java 1080 # 適宜変えること
  • apt-get install
$ echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
$ curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install dsc20=2.0.11-1 cassandra=2.0.11

勝手に起動からデーモンとして登録までやってくれる.

簡単な操作

http://codezine.jp/article/detail/7548?p=5

を参考にする.