cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Jackson <>
Subject Re: Ruby, CQL and client libraries
Date Mon, 05 Dec 2011 14:17:06 GMT

From: "Matthew Stump" <> 
Sent: Monday, December 5, 2011 2:59:34 AM 
Subject: Ruby, CQL and client libraries 


I'm working on transferring an existing Ruby on Rails project from Postgres to Cassandra and
I have a couple questions about the Ruby client libraries and client libraries in general.

1.) Is it the opinion of the community and the Datastax engineers that client libraries should
migrate away from thrift and should use CQL instead? 

The CQL interface is a bit more insulated from the internals of Cassandra. It was designed
so that you would be able to use the same CQL version across different versions of Cassandra.
This makes CQL quite a bit easier for the client/driver developers as well. 

2.) Is anyone working on a CQL Ruby client? 


There already is a great CQL ruby client [1] . It is hosted in apache-extras on Google Code
[2]. A little while back I did a simple comparison between the cassandra-cql client and the
twitter(formerly fauna) cassandra client[3]. Rick Olson then made another quick comparison
amongst twitter/cassandra, cassandra-cql, and pycassa (Python client)[4]. In both sets of
tests the cassandra-cql client came out doing quite well. 


3.) Other than the fauna/twitter client what are other people using for Ruby? 
See above... 

4.) If someone were to take it upon themselves to write yet another Ruby cassandra client
is there any particular library that is generally accepted as good and could act as an archetype
for other implementations (Hector)? 
Not sure on this one. We have been using twitter/cassandra and are migrating to cassandra-cql.
Two of the things that we are working on internally are an ActiveModel implementation, and
some sort of search API. These are trivially implemented on top of the cassandra-cql library,
but sometimes it is nice not having to construct the CQL/SQL manually. 




[1] - 
[2] - 
[3] - 
[4] - 

Robert Jackson 
View raw message