2011年2月13日日曜日

Go + SWIG + Cassandra + Thrift (2)

前回まででインストールが完了したので、今度はThriftを使用してCassandraとデータのやりとりを行うところをやっていく。

Cassandraにサンプルデータをセットする

Cassandraとデータのやりとりをするまえに、まずはCassandra側にサンプルのデータを配置する必要がある。ということで、サンプルのデータをCassandraに追加していく。

  1. Cassandraを起動する
  2. $ cassandra -f
    
  3. ターミナルをもう一つ開いて(Cassandraが起動している方はそのまま)、CassandraのCUI版インタフェースを起動する。CUI版が起動すると独自のコマンドラインインタフェースへ移行する
  4. $ cassandra-cli  --host localhost --port 9160
    Connected to: "Test Cluster" on localhost/9160
    Welcome to cassandra CLI.
    
    Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit.
    [default@unknown]
    
  5. Keyspaceを生成する。KeyspaceはCassandraが持つ最も大きなくくりで、アプリケーション単位では別々のKeyspaceを使用することが多い。Cassandra自体のより詳しい説明についてはここのwiki等を参照。
  6. [default@unknown] create keyspace sample_keyspace;
    d8bdc2a3-3754-11e0-bdc2-e700f669bcfc
    [default@unknown]
    
  7. 使用するKeyspaceを宣言する。
  8. [default@unknown] use sample_keyspace;
    Authenticated to keyspace: sample_keyspace
    
  9. 適当なColumn Familyを生成する。Column FamilyはKeyspaceの次に大きなくくりで、一つのアプリケーション内で複数のColumn Familyを持つことになる。
  10. [default@sample_keyspace] create column family SampleColumnFamily with comparator=UTF8Type;
    8ff0baa5-3759-11e0-bdc2-e700f669bcfc
    
  11. 適当なColumnを追加する。ColumnはCassandraのなかで最も小さいくくりで、キーと値と時間がセットになっている。
  12. [default@sample_keyspace] set SampleColumnFamily[SampleColumn][SampleName] = SampleValue;
    Value inserted.
    
  13. 値がちゃんと追加されたことを確認する。なお、getするときには明示的に型を指定しないと正しく値が表示されない。
  14. [default@sample_keyspace] get SampleColumnFamily[SampleColumn][SampleName];
    => (column=SampleName, value=53616d706c6556616c7565, timestamp=1297591990231000)
    [default@sample_keyspace] get SampleColumnFamily[SampleColumn][SampleName] as UTF8Type;
    => (column=SampleName, value=SampleValue, timestamp=1297591990231000)

(続く)

0 件のコメント:

コメントを投稿