Friday, August 21, 2009

Cassandra DB clients

Have been playing around with Cassandra for sometime. Cassandra is a hybrid of Dynamo and BigTable. More details on my experiences in a later post. This is just a placeholder to keep track of the growing list of Cassandra clients. Please let me know if you need to add one. (View a list of popular articles on Cassandra).

BTW I have tried only the Java Thrift interface. Works, but very basic and has to improve a lot. Other high level APIs are all evolving. Will comment as I get chance to try more. Twitter's fauna/cassandra (rb) and Digg's lazyboy (py) seems very promising. Looks like Digg has gone to production recently on Cassandra. Nodeta's scalandra (scala) was extracted from Flowdock.

Lowlevel:

Thrift
https://svn.apache.org/repos/asf/incubator/cassandra/trunk/interface/cassandra.thrift
(java, cpp, csharp, php, perl, rb)

Highlevel:

Java
Start writing :) Wait you should be using Scala (jdk7)?

Scala
http://github.com/viktorklang/Cassidy
http://github.com/nodeta/scalandra
http://github.com/stevej/cassandra_client_scala
http://github.com/jboner/akka

Python
http://github.com/digg/lazyboy

Ruby
http://github.com/fauna/cassandra
http://github.com/NZKoz/cassandra_object

Clojure
http://github.com/mattrepl/clojure-cassandra