Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 43906 invoked from network); 30 Mar 2011 00:12:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Mar 2011 00:12:04 -0000 Received: (qmail 94661 invoked by uid 500); 30 Mar 2011 00:12:02 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 94636 invoked by uid 500); 30 Mar 2011 00:12:02 -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 94628 invoked by uid 99); 30 Mar 2011 00:12:02 -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 00:12:02 +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 grokdata@gmail.com designates 74.125.82.66 as permitted sender) Received: from [74.125.82.66] (HELO mail-ww0-f66.google.com) (74.125.82.66) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2011 00:11:57 +0000 Received: by wwb22 with SMTP id 22so93159wwb.1 for ; Tue, 29 Mar 2011 17:11:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=WHLAqwlcPnohG+EuhIjfdjfk50ueCLOmZZwwyQMDWz8=; b=GRxu4O2ZevrTv0TF50PgB1KNZvNwwkQTy4XvJObqRlAMvYU7cWnt7Mq1KyOOCax+Bd H4mgGv9KZoVnREMBT5SDnjfOMKD69Gv7rURG1yO3xOONMH4QVg874nfX16lY8Bzh4rKC rZf9jUBEVaWWly1x9lRKkQ9cCWJ4/XUdEmMpM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=hzwXTlJ5+e7aiVkwN80tqchhudcZJ/ogL1eYh6NWtIpNVB5WZMRzIbMHBRYl/JmI8q UTQK0MkVh+uqiHUqHOcPiz9jXwjb1KxoEeoezNqXfceZ+3WFqX/oZKTl8ysHRN37wZHB 5NztJQZHRGR3H0Lx/y9nXNWqAt37oCNGmRyiU= MIME-Version: 1.0 Received: by 10.216.122.149 with SMTP id t21mr4836463weh.10.1301443896442; Tue, 29 Mar 2011 17:11:36 -0700 (PDT) Received: by 10.216.18.197 with HTTP; Tue, 29 Mar 2011 17:11:36 -0700 (PDT) Date: Wed, 30 Mar 2011 02:11:36 +0200 Message-ID: Subject: Ditching Cassandra From: Gregori Schmidt To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=00261887731624826b049fa805e0 --00261887731624826b049fa805e0 Content-Type: text/plain; charset=ISO-8859-1 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 --00261887731624826b049fa805e0 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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/karlseguin/the-little-mongo= db-book=A0. Then, while you are downloading, unpacking, looking at what= was in the JAR, reading the book and pawing through the examples: _pay att= ention_ to the neatness and the effortlessness the ease with which you can = use MongoDB. =A0Then spend the rest of the day implementing something on to= p 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 --00261887731624826b049fa805e0--