As the author of Cequel, I can assure you it is excellent ; ) We use it in production at Brewster and it is quite stable. If you try it out and find any bugs, we'll fix 'em quickly.
I'm planning a big overhaul of the model layer over the holidays to expose all the new data modeling goodness in CQL3 (while still retaining compatibility with CQL2 structures). On Thu, Nov 15, 2012 at 3:42 PM, Harry Wilkinson <hwilkin...@mdsol.com> wrote: > 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 <t...@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 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 for Riak with a domain model that >> is close to Riak's, but then there's also a gem called '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, which has been inactive for >> a couple of years, but there's a fork 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 >> >> >