== インストール == 中身はJavaなので、ダウンロードして適当なディレクトリに解凍すればインストール完了。apache-cassandra-x.x.x/binディレクトリに移動して、 {{{ > cassandra.bat }}} で起動。こんな感じのメッセージが表示される。 {{{ Starting Cassandra Server Listening for transport dt_socket at address: 8888 INFO 13:17:34,504 Auto DiskAccessMode determined to be standard INFO 13:17:34,648 Replaying \var\lib\cassandra\commitlog\CommitLog-127501974808 4.log INFO 13:17:34,702 Creating new commitlog segment /var/lib/cassandra/commitlog\C ommitLog-1275020254702.log INFO 13:17:34,735 Standard1 has reached its threshold; switching in a fresh Mem table at CommitLogContext(file='/var/lib/cassandra/commitlog\CommitLog-127502025 4702.log', position=121) INFO 13:17:34,735 Enqueuing flush of Memtable(Standard1)@32110028 INFO 13:17:34,736 Writing Memtable(Standard1)@32110028 INFO 13:17:34,737 LocationInfo has reached its threshold; switching in a fresh Memtable at CommitLogContext(file='/var/lib/cassandra/commitlog\CommitLog-127502 0254702.log', position=121) INFO 13:17:34,738 Enqueuing flush of Memtable(LocationInfo)@6292125 INFO 13:17:35,010 Completed flushing E:\var\lib\cassandra\data\Keyspace1\Standa rd1-1-Data.db INFO 13:17:35,019 Writing Memtable(LocationInfo)@6292125 INFO 13:17:35,187 Completed flushing E:\var\lib\cassandra\data\system\LocationI nfo-1-Data.db INFO 13:17:35,206 Log replay complete INFO 13:17:35,254 Saved Token found: 127433031769127593372296726511185514191 INFO 13:17:35,254 Saved ClusterName found: Test Cluster INFO 13:17:35,264 Starting up server gossip INFO 13:17:35,297 Binding thrift service to localhost/127.0.0.1:9160 INFO 13:17:35,301 Cassandra starting up... }}} デフォルトのポートは9160の模様。 == 接続 == サーバを起動したら、クライアントから接続してみよう。コマンドラインのクライアントcassandra-cliが用意されているので、それを使ってみる。 {{{ cassandra-cli.bat -host localhost -port 9160 -username todd -keyspace Keyspace1 -password blah Starting Cassandra Client Connected to: "Test Cluster" on localhost/9160 Welcome to cassandra CLI. Type 'help' or '?' for help. Type 'quit' or 'exit' to quit. cassandra> }}} キースペース(RDBMSにおけるスキーマのようなもの)の一覧の確認。 {{{ cassandra> show keyspaces Keyspace1 system }}} Keyspace1とsystemが利用できることが確認できる。次に、キースペースの内容を確認する。 {{{ cassandra> describe keyspace Keyspace1 Keyspace1.Super1 Column Family Type: Super Columns Sorted By: org.apache.cassandra.db.marshal.BytesType@128215d Column Family Type: Super Column Sorted By: org.apache.cassandra.db.marshal.BytesType flush period: null minutes ------ Keyspace1.Standard2 Column Family Type: Standard Columns Sorted By: org.apache.cassandra.db.marshal.UTF8Type@1a697a1 Column Family Type: Standard Column Sorted By: org.apache.cassandra.db.marshal.UTF8Type flush period: null minutes ------ Keyspace1.Super2 Column Family Type: Super Columns Sorted By: org.apache.cassandra.db.marshal.UTF8Type@2cd728 Column Family Type: Super Column Sorted By: org.apache.cassandra.db.marshal.UTF8Type flush period: null minutes ------ Keyspace1.Standard1 Column Family Type: Standard Columns Sorted By: org.apache.cassandra.db.marshal.BytesType@1e1a0ee Column Family Type: Standard Column Sorted By: org.apache.cassandra.db.marshal.BytesType flush period: null minutes ------ Keyspace1.StandardByUUID1 Column Family Type: Standard Columns Sorted By: org.apache.cassandra.db.marshal.TimeUUIDType@c954e Column Family Type: Standard Column Sorted By: org.apache.cassandra.db.marshal.TimeUUIDType flush period: null minutes ------ cassandra> }}} Super1,Super2,Standard1,Standard2,StandardByUUID1のカラムファミリ(RDBMSにおけるテーブル)が存在する。 Standard1に値の挿入と取得をやってみる。 {{{ cassandra> set Keyspace1.Standard1['aaaa']['bbb']='ccc' Value inserted. cassandra> get Keyspace1.Standard1['aaaa'] => (column=626262, value=ccc, timestamp=1275020194179000) Returned 1 results. }}} Standard2は、UTF8とみなしてソートしてくれるみたいなので、日本語を扱うならこっちの方がいいかも。 {{{ Keyspace1.Standard2 Column Family Type: Standard Columns Sorted By: org.apache.cassandra.db.marshal.UTF8Type@1a697a1 }}}