Twitter continues open source pledge with Cassandra client Cassie
Following on from offering their Scala version of Cascading in Scalding last month, social networking giant Twitter have continued with the open source pledge by releasing Cassandra client Cassie onto Github.
The announcement was made on Twitter's developer blog last week by Ryan King, exclaiming that the team were excited to be letting the client into the wild for people to use.
Cassie is a Finagle and Scala-based client that was forked from Yammer architect Coda Hale's Github library created two years ago. Finagle, for those unaware, is a rather useful JVM network stack for the JVM that you can use to build asynchronous Remote Procedure Call (RPC) clients and servers in Java, Scala, or any JVM-hosted language, nicely packaged into a rich set of protocol-independent tools.
Twitter's objective here is similar to Scalding, realising the limitations they now face within their own testing environment and seeking to change this by giving it to a large audience to play about with. As King states in the blog:
While it is certainly stable— we use it in production to talk to a dozen clusters and over a thousand Cassandra machines— it is currently limited to the features we use in production and has a few rough edges.
NoSQL database Cassandra has quicky become one of the stalwarts of the Apache Foundation, becoming increasingly important within the Hadoop ecosystem as the charge towards Big Data occurs. After rigourous testing from Twitter, it should be interesting to see what variations the wider community offers for Cassie.
To use Cassie, you must have Java SE 6, Scala 2.8, Cassandra 0.8 or later and sbt 0.7. The documentation on Github provides a handy step-by-step guide to getting the best out of Cassie. The team say that using Cassie with straight up Java is possible, but not easy at this stage (an issue they're trying to amend).
The way Twitter are going, this open source deal could be a monthly giveaway.