cassandra A client for the Cassandra distributed database. == License Copyright 2009 Twitter, Inc. See included LICENSE file. Portions copyright 2004-2009 David Heinemeier Hansson, and used with permission. The public certificate for this gem is here[http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem]. == Features * clean encapsulation of the Thrift API * pluggable serialization and compression * Ruby 1.9 compatibility This is an alpha release and does not yet support the full Thrift API. Cassandra is a rapidly moving target, but this library should always run against the bundle available {here}[http://github.com/fauna/cassandra/raw/6546d1155b77ca7bc5ebf58bdcce79ddda36f611/vendor/cassandra.tar.bz2]. Don't expect it to work against any other version right now. The Github source repository is {here}[http://github.com/fauna/cassandra/]; patches and contributions are very welcome. == Installation You need Ruby 1.8 or 1.9, and Thrift. If you don't want to install Thrift from {source}[http://incubator.apache.org/thrift/download/], you can use {this pre-packaged gem}[http://blog.evanweaver.com/files/cassandra/thrift-0.1.0.gem]. Once you have Thrift, just run: sudo gem install cassandra == Usage Require the library: require 'cassandra' Connect to a server and keyspace: client = Cassandra.new('Twitter', "127.0.0.1") Insert into a column family. You can insert a Cassandra::OrderedHash, or a regular Hash, if order doesn't matter: client.insert(:Users, "5", {'screen_name' => "buttonscat"}) Insert into a super column family: client.insert(:UserRelationships, "5", {"user_timeline" => {"1" => ""}}) Query a super column: timeline = client.get(:UserRelationships, "5", "user_timeline") The returned result will always be a Cassandra::OrderedHash. See Cassandra for more methods. == Further reading * {Up and Running With Cassandra}[http://blog.evanweaver.com/articles/2009/07/06/up-and-running-with-cassandra] == Reporting problems The Github issue tracker is {here}[http://github.com/fauna/cassandra/issues]. If you have problems with Cassandra itself, please use the {cassandra-user mailing list}[http://mail-archives.apache.org/mod_mbox/incubator-cassandra-user/].