Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 48275 invoked from network); 30 Mar 2011 01:14:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Mar 2011 01:14:01 -0000 Received: (qmail 57873 invoked by uid 500); 30 Mar 2011 01:13:59 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 57845 invoked by uid 500); 30 Mar 2011 01:13:59 -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 57837 invoked by uid 99); 30 Mar 2011 01:13:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2011 01:13:59 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jakers@gmail.com designates 209.85.212.171 as permitted sender) Received: from [209.85.212.171] (HELO mail-px0-f171.google.com) (209.85.212.171) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2011 01:13:55 +0000 Received: by pxi7 with SMTP id 7so183300pxi.30 for ; Tue, 29 Mar 2011 18:13:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=qlS+uK69vHXkhD11KPraxmBC+itBDvyhRpNPJ+m2tSY=; b=O3GO1iHRZpiSQ2osKxfxM9H9NhTt30wjAzvoL9tW5WEkWM0i/+jfopLSE6blTm0nIh pe9taX8f8dNfa80SSXgNke4cF8zAIP9VQQO590xUdsTuEa4J2paMARUCyRk6eLJT36WW idAvRmu90i82b5uMRakhSKUOhJbEmW+RPhyLU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=nMFD4KnJ2zEgvVth9Tp8FzQe0vYup8mcaz2vybDjMmYIfQwwP9doltn5CGYeewA1uj nhgLDbLBwr2ypnf92AlvBd5DBg0JY3xKYnqCjP8WqQLZgUaNowwO2YdtkboTGlil4ZF/ W37SJ5vE1+5XgdXbIgu60/TQhozLulbosMmos= MIME-Version: 1.0 Received: by 10.142.44.13 with SMTP id r13mr390987wfr.328.1301447614741; Tue, 29 Mar 2011 18:13:34 -0700 (PDT) Received: by 10.142.76.21 with HTTP; Tue, 29 Mar 2011 18:13:34 -0700 (PDT) In-Reply-To: References: Date: Tue, 29 Mar 2011 21:13:34 -0400 Message-ID: Subject: Re: Ditching Cassandra From: Jake Luciani To: user@cassandra.apache.org Cc: Gregori Schmidt Content-Type: multipart/alternative; boundary=000e0cd1569ec54072049fa8e216 --000e0cd1569ec54072049fa8e216 Content-Type: text/plain; charset=ISO-8859-1 Hi Gregori, What language *were* you using to interact with cassandra? were you unable to find a wrapper API that you found We have discussed adopting the "best of" client api's in cassandra but we decided it's better for the community to naturally develop them. I think this has also motivated Eric to develop CQL in response to the folks who find the thrift api hard to use. -Jake On Tue, Mar 29, 2011 at 8:11 PM, Gregori Schmidt wrote: > hi, > > After using Cassandra during development for the past 8 months my team and > I made the decision to switch from Cassandra to MongoDB this morning. I > thought I'd share some thoughts on why we did this and where Cassandra might > benefit from improvement. > > - The API is horrible and it produces pointlessly verbose code in > addition to being utterly confusing. EVERYTHING takes a lot of time to > implement with Cassandra, and to be frank, it is incredibly tiring. For > this reason alone I no longer recommend Cassandra. If you want an example, > pick up the O'Reilly book on Cassandra and look through the examples. Such > MASSIVE amounts of code for doing nearly NOTHING. This is ridiculous. > Didn't this strike anyone else as ridiculous? It should have! > - You need to have official client libraries and they need to be > programmer friendly. Yes, I know there are nice people maintaining a > plethora of different libraries, but you need to man up and face reality: > the chaos that is the Cassandra client space is a horrible mess. > - It is buggy and the solution seems to be to just go to the next > release. And the next. And the next. Which would be okay if you could > upgrade all the time, but what to do once you hit production? > > I would recommend that everyone interested in improving Cassandra take the > day off, download MongoDB and read > https://github.com/karlseguin/the-little-mongodb-book . Then, while you > are downloading, unpacking, looking at what was in the JAR, reading the book > and pawing through the examples: _pay attention_ to the neatness and the > effortlessness the ease with which you can use MongoDB. Then spend the rest > of the day implementing something on top of it to gain some hacking > experience. > > No, really. Do it. This is important. You need to connect with the user > and you need to understand what you ought to be aspiring to. > > In any case, thanks for all the effort that went into Cassandra. I will > check back from time to time and perhaps in a year or so it'll be time to > re-evaluate Cassandra. > > PS: one last thing. It took us less time to rewrite the DB-interface for > our system to MongoDB AND port over our data than it took to write the > Cassandra implementation. > > ~G > -- http://twitter.com/tjake --000e0cd1569ec54072049fa8e216 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi Gregori,

What language *were* you using to interact w= ith cassandra? were you unable to find a wrapper API that you found

We have discussed adopting the "best of" client= api's in cassandra but we decided it's better for the community to= naturally develop them. =A0I think this has also motivated Eric to develop= CQL in response to the folks who find the thrift api hard to use.

-Jake

On Tue, = Mar 29, 2011 at 8:11 PM, Gregori Schmidt <grokdata@gmail.com> wrote:
hi,

After using Cassandra during development for the pas= t 8 months my team and I made the decision=A0to switch from Cassandra to Mo= ngoDB this morning. =A0I thought I'd share some thoughts on why we=A0di= d this and where Cassandra might benefit from improvement.
  • The API is horrible and it produces pointlessly verbose code i= n addition to being utterly confusing. =A0EVERYTHING takes a lot of time to= implement with Cassandra, and to be frank, it is incredibly tiring. =A0For= this reason alone I no longer recommend Cassandra. =A0If you want an examp= le, pick up the O'Reilly book on Cassandra and look through the example= s. =A0Such MASSIVE amounts of code for doing nearly NOTHING. =A0This is rid= iculous. =A0Didn't this strike anyone else as ridiculous? =A0It should = have!
  • You need to have official client libraries and they need to be programm= er friendly. =A0Yes, I know there are nice people maintaining a plethora of= different libraries, but you need to man up and face reality: =A0the chaos= that is the Cassandra client space is a horrible mess.
  • It is buggy and the solution seems to be to just go to the next release= . =A0And the next. =A0And the next. =A0Which would be okay if you could upg= rade all the time, but what to do once you hit production?
I = would recommend that everyone interested in improving Cassandra take the da= y off, =A0download MongoDB and read=A0https://github.com/karlsegui= n/the-little-mongodb-book=A0. Then, while you are downloading, unpackin= g, looking at what was in the JAR, reading the book and pawing through the = examples: _pay attention_ to the neatness and the effortlessness the ease w= ith which you can use MongoDB. =A0Then spend the rest of the day implementi= ng something on top of it to gain some hacking experience.

No, really. =A0Do it. =A0This is important. =A0Yo= u need to connect with the user and you need to understand what you ought t= o be aspiring to.

In any case, thanks for all the = effort that went into Cassandra. =A0I will check back from time to time and= perhaps in a year or so it'll be time to re-evaluate Cassandra.

PS: one last thing. =A0It took us less time to rewrite = the DB-interface for our system to MongoDB AND port over our data than it t= ook to write the Cassandra implementation.

~G



--
http://twitter.com/tjake
--000e0cd1569ec54072049fa8e216--