From user-return-22731-apmail-cassandra-user-archive=cassandra.apache.org@cassandra.apache.org Mon Dec 5 14:16:31 2011 Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DB179780A for ; Mon, 5 Dec 2011 14:16:31 +0000 (UTC) Received: (qmail 18768 invoked by uid 500); 5 Dec 2011 14:16:29 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 18737 invoked by uid 500); 5 Dec 2011 14:16:29 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 18729 invoked by uid 99); 5 Dec 2011 14:16:29 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Dec 2011 14:16:29 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of robertj@promedicalinc.com designates 97.66.157.146 as permitted sender) Received: from [97.66.157.146] (HELO zixvpm01.promedicalinc.com) (97.66.157.146) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Dec 2011 14:16:22 +0000 Received: from zixvpm01.promedicalinc.com (ZixVPM [127.0.0.1]) by Outbound.promedicalinc.com (Proprietary) with ESMTP id 6379C19D80BD for ; Mon, 5 Dec 2011 08:02:59 -0500 (EST) Received: from mail.promedicalinc.com (mail.promedicalinc.com [97.66.157.136]) by zixvpm01.promedicalinc.com (Proprietary) with ESMTP id 5943119D8047 for ; Mon, 5 Dec 2011 08:02:58 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.promedicalinc.com (Postfix) with ESMTP id B3CAFE52052 for ; Mon, 5 Dec 2011 09:17:14 -0500 (EST) X-Virus-Scanned: amavisd-new at promedicalinc.com Received: from mail.promedicalinc.com ([127.0.0.1]) by localhost (mail.promedicalinc.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wAgSjXg+Ptny for ; Mon, 5 Dec 2011 09:17:08 -0500 (EST) Received: from mail.promedicalinc.com (mail.promedicalinc.com [97.66.157.136]) by mail.promedicalinc.com (Postfix) with ESMTP id EB7F0E52055 for ; Mon, 5 Dec 2011 09:17:06 -0500 (EST) Date: Mon, 05 Dec 2011 09:17:06 -0500 (EST) From: Robert Jackson To: user@cassandra.apache.org Subject: Re: Ruby, CQL and client libraries Message-ID: <00ff55f5-6880-4e90-a8a7-ba76d6ff42ca@mail> In-Reply-To: <2A0A3640-B313-4D59-BD21-505E0DC8AA13@gmail.com> Content-Type: multipart/alternative; boundary="=_23af3434-0b83-4612-8223-68a278a7e7ba" MIME-Version: 1.0 X-Originating-IP: [192.168.100.110] X-Mailer: Zimbra 7.1.3_GA_3346 (ZimbraWebClient - GC15 (Mac)/7.1.3_GA_3346) X-Virus-Checked: Checked by ClamAV on apache.org --=_23af3434-0b83-4612-8223-68a278a7e7ba Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit From: "Matthew Stump" To: user@cassandra.apache.org Sent: Monday, December 5, 2011 2:59:34 AM Subject: Ruby, CQL and client libraries Howdy, 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.
Thanks! --M
[1] - https://rubygems.org/gems/cassandra-cql [2] - http://code.google.com/a/apache-extras.org/p/cassandra-ruby/ [3] - https://gist.github.com/1185026 [4] - https://gist.github.com/1363336 Robert Jackson --=_23af3434-0b83-4612-8223-68a278a7e7ba Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <= div style=3D'font-family: arial,helvetica,sans-serif; font-size: 12pt; colo= r: #000000'>
From: "Matthew Stump" <mrevilgnome@gmail.com>
To: user@cassandra.apache.org
Sent: Monday, December 5, 2011 2:59:3= 4 AM
Subject: Ruby, CQL and client libraries

Howdy,
I'm working on transferring an existing Ruby on Rails project from Postgre= s to Cassandra and I have a couple questions about the Ruby client librarie= s and client libraries in general.

1.) Is it the opinion of the comm= unity 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 versio= n across different versions of Cassandra.  This makes CQL quite a bit = easier for the client/driver developers as well. 

2.) Is anyone work= ing 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]. R= ick Olson then made another quick comparison amongst twitter/cassandra, cas= sandra-cql, and pycassa (Python client)[4].  In both sets of tests the= cassandra-cql client came out doing quite well.

3.) Other than the f= auna/twitter client what are other people using for Ruby?
See a= bove...

Thanks!


--M
=
[1] - https://rub= ygems.org/gems/cassandra-cql
[= 2] - http://code.google.com/a/apache-extras.org/p/cassandra-ruby/
[3] - https://gist.github.com= /1185026
[4] - https://gi= st.github.com/1363336

Robert Jackson
--=_23af3434-0b83-4612-8223-68a278a7e7ba--