最近、Cassandaに興味をもって、試しています。
Cassandraとは?
改めて、Cassandraとは、なんでしょうか?
The Apache Cassandra Project
Cassandraは、分散データベースのひとつです。Cassandraの特徴は、スケーラビリティと可用性の高さです。
Cassandraは分散データベースなので、複数のホストが同時に動作することで、ひとつのデータベースを構築します。
ホストを単純に追加するだけで、性能を向上させることができるので、スケーラビリティが高いです。また、複数のホストのうちの一つが停止しても問題なく動作を続けることができる仕組みをもっているため、可用性が高いです。
とりあえずMac OS Xにインストール
分散環境を構築する前に、手元のMacBookにインストールして触ってみようと思います。
Homebrewから簡単にインストールすることができます。
brew install cassandra
Homebrewのインストール完了のメッセージに従って、Cassandraを起動設定に追加しておきます。
ln -sfv /usr/local/opt/cassandra/*.plist ~/Library/LaunchAgents
さらに、今すぐ試したいので、早速起動してみます。
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.cassandra.plist
起動プロセスを確認してみると、Cassandraらしきものが確かに起動されています。
$ ps aux | grep cassandra | grep -v grep
kataoka 32056 0.9 4.1 5031428 342892 ?? S 12:24PM 0:19.46 /usr/bin/java ..(略).. org.apache.cassandra.service.CassandraDaemon
Cassandraはデフォルトで9160のポートで待つらしいので、おそらくこのLISTENしているポートがCassandraだと思います。
$ netstat -ant | grep 9160 | grep LISTEN
tcp4 0 0 127.0.0.1.9160 *.* LISTEN
というわけで、Cassandraが動き出しました!
CQLシェルをインストール
MySQLでは、mysqldというデーモンを起動して、mysqlというシェルコマンドで接続します。
これは、Cassandraでも同様です。今はデーモンだけを起動した状態なので、ここに接続するためのクライアントが必要です。
CQLという言語でCassandraを操作できるクライアントシェルをインストールします。CQLは、Cassandra Query Languageの略です。
CQLシェルは、PyPIからインストールすることができます。PyPIについては以前「Pythonのパッケージ管理システムPyPIのインストール」に書きましたが、Pythonのパッケージ管理システムです。
sudo pip install cql
cqlshコマンドで起動すると、CQLシェルのプロンプトが表示されます。
$ cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh>
ここに、CQLを入力することで、Cassandraにデータを保存したり取得したりすることができます。
実際の使い方に続きます。→「Cassandraを操作するCQLの基本を試してみる。」
コメント
[…] 「分散データベースApache CassandraをMac OS Xにインストール」に続いて、Cassandraの実際の使い方を紹介していきます。 […]
[…] キースペースの名前と、接続先のホストを指定します。今回は、「分散データベースApache CassandraをMac OS Xにインストール」でインストールした、Mac OS XのローカルのCassandraへ接続します。 […]
[…] 分散データベースApache CassandraをMac OS Xにインストール […]
[…] 分散データベースApache CassandraをMac OS Xにインストール CQLを使って、CassandraをSQLライクに操作する。 Hectorで、JavaからCassandraを操作する。 […]