incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harry Wilkinson <hwilkin...@mdsol.com>
Subject Re: Looking for a good Ruby client
Date Thu, 15 Nov 2012 20:42:00 GMT
Update on this: someone just pointed me towards the Cequel gem:
https://github.com/brewster/cequel

The way it's described in the readme it looks like exactly what I was
looking for - a modern, CQL-based gem that is in active development and
also follows the ActiveModel pattern.  I'd be very interested to hear if
anybody has used this, whether it's stable/reliable, etc.

Thanks.

Harry

On 2 August 2012 00:31, Thorsten von Eicken <tve@rightscale.com> wrote:

>  Harry, we're in a similar situation and are starting to work out our own
> ruby client. The biggest issue is that it doesn't make much sense to build
> a higher level abstraction on anything other than CQL3, given where things
> are headed. At least this is our opinion.
> At the same time, CQL3 is just barely becoming usable and still seems
> rather deficient in wide-row usage. The tricky part is that with the
> current CQL3 you have to construct quite complex iterators to retrieve a
> large result set. Which means that you end up having to either parse CQL3
> coming in to insert the iteration stuff, or you have to pass CQL3 fragments
> in and compose them together with iterator clauses. Not fun stuff either
> way.
> The only good solution I see is to switch to a streaming protocol (or
> build some form of "continue" on top of thrift) such that the client can
> ask for a huge result set and the cassandra coordinator can break it into
> sub-queries as it sees fit and return results chunk-by-chunk. If this is
> really the path forward then all abstractions built above CQL3 before that
> will either have a good piece of complex code that can be deleted or worse,
> will have an interface that is no longer best practice.
> Good luck!
> Thorsten
>
>
>
> On 8/1/2012 1:47 PM, Harry Wilkinson wrote:
>
> Hi,
>
>  I'm looking for a Ruby client for Cassandra that is pretty high-level.
>  I am really hoping to find a Ruby gem of high quality that allows a
> developer to create models like you would with ActiveModel.
>
>  So far I have figured out that the canonical Ruby client for Cassandra
> is Twitter's Cassandra gem <https://github.com/twitter/cassandra/> of the
> same name.  It looks great - mature, still in active development, etc.  No
> stated support for Ruby 1.9.3 that I can see, but I can probably live with
> that for now.
>
>  What I'm looking for is a higher-level gem built on that gem that works
> like ActiveModel in that you just include a module in your model class and
> that gives you methods to declare your model's serialized attributes and
> also the usual ActiveModel methods like 'save!', 'valid?', 'find', etc.
>
>  I've been trying out some different NoSQL databases recently, and for
> example there is an official Ruby client<https://github.com/basho/riak-ruby-client>for
Riak with a domain model that is close to Riak's, but then there's also
> a gem called 'Ripple' <https://github.com/seancribbs/ripple> that uses a
> domain model that is closer to what most Ruby developers are used to.  So
> it looks like Twitter's Cassandra gem is the one that stays close to the
> domain model of Cassandra, and what I'm looking for is a gem that's a
> Cassandra equivalent of RIpple.
>
>  From some searching I found cassandra_object<https://github.com/NZKoz/cassandra_object>,
> which has been inactive for a couple of years, but there's a fork<https://github.com/data-axle/cassandra_object>that
looks like it's being maintained, but I have not found any kind of
> information to suggest the maintained fork is in general use yet.  I have
> found quite a lot of gems of a similar style that people have started and
> then not really got very far with.
>
>  So, does anybody know of a suitable gem?  Would you recommend it?  Or
> perhaps you would recommend not using such a gem and sticking with the
> lower-level client gem?
>
>  Thanks in advance for your advice.
>
>  Harry
>
>
>

Mime
View raw message