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

3 comments:

  1. NikhilMay 9, 2010 04:58 AM
    clojure-cassandra does not seem to exist. There is another project at: http://github.com/robertluo/clj-cassandra
    ReplyDelete
  2. viksitMay 15, 2010 01:47 PM
    BTW - clojure-cassandra has now been renamed to closet. http://github.com/mattrepl/closet

    I forked clojure-cassandra a while ago, so you can still get the original from github.com/viksit/clojure-cassandra.
    ReplyDelete
  3. AmryDec 14, 2011 01:36 AM
    Kundera is a JPA based object-datastore mapping tool for Cassandra, Hbase and MongoDB.

    It's hosted here:
    https://github.com/impetus-opensource/Kundera
    ReplyDelete