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 BA8F6DD7B for ; Sat, 18 Aug 2012 18:49:04 +0000 (UTC) Received: (qmail 17581 invoked by uid 500); 18 Aug 2012 18:49:02 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 17513 invoked by uid 500); 18 Aug 2012 18:49:01 -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 17504 invoked by uid 99); 18 Aug 2012 18:49:01 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Aug 2012 18:49:01 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FSL_FREEMAIL_1,FSL_FREEMAIL_2,FSL_RCVD_USER,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mac.miklas@gmail.com designates 209.85.220.172 as permitted sender) Received: from [209.85.220.172] (HELO mail-vc0-f172.google.com) (209.85.220.172) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Aug 2012 18:48:56 +0000 Received: by vcbfo14 with SMTP id fo14so4508446vcb.31 for ; Sat, 18 Aug 2012 11:48:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=RDTsh3AtsLUD5mTaqLtdrLTF3h9K6EmWeiLZNW75uxg=; b=na/GOdZpFyp+u4PA1i2RRVavbKWx/VtxKYy/Kl1guJyEeh959CUNaHzi79ElNfQz5a fpFZ4g/FBuqbvnRnkREKC7LAD6ltLlFJlF7XfSHTOruZWFwMvHOCcqqFG68q8YFejE2h leBbAW7TL5+TK40R3oAdpZtVszll+wCckKFHOSG/+iUHKpp6zEkOVCvmjQQOHJqoghxZ y61CymkySFYbetdIz3agJ2/dKvOUf598wvY0DGGH5veYlzPCPQj7VnidkOlw+t8kdwn4 RY/XQwPC2Ks7TYO5lk/Y8beyeUn8HzDNvem3KeUWzCvyYQL95g+b7Mu7dSgf61r8dS/l Zm1Q== MIME-Version: 1.0 Received: by 10.52.31.66 with SMTP id y2mr4968467vdh.122.1345315715506; Sat, 18 Aug 2012 11:48:35 -0700 (PDT) Received: by 10.59.7.72 with HTTP; Sat, 18 Aug 2012 11:48:35 -0700 (PDT) Reply-To: mac.miklas@gmail.com In-Reply-To: References: Date: Sat, 18 Aug 2012 20:48:35 +0200 Message-ID: Subject: Re: What is the ideal server-side technology stack to use with Cassandra? From: Maciej Miklas To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=bcaec51d2a425560bf04c78eb981 --bcaec51d2a425560bf04c78eb981 Content-Type: text/plain; charset=UTF-8 I'am using Java + Tomcat + Spring + Hector on Lunux - I works as always just great. It is also not bad idea to mix databases - Cassandra is not always solution for every problem, Cassandra + Mongo could be ;) On Fri, Aug 17, 2012 at 7:54 PM, Aaron Turner wrote: > My stack: > > Java + JRuby + Rails + Torquebox > > I'm using the Hector client (arguably the most mature out there) and > JRuby+RoR+Torquebox gives me a great development platform which really > scales (full native thread support for example) and is extremely > powerful. Honestly I expect, all my future RoR apps will be built on > JRuby/Torquebox because I've been so happy with it even if I don't > have a specific need to utilize Java libraries from inside the app. > > And the best part is that I've yet to have to write a single line of Java! > :) > > > > On Fri, Aug 17, 2012 at 6:53 AM, Edward Capriolo > wrote: > > The best stack is the THC stack. :) > > > > Tomcat Hadoop Cassandra :) > > > > On Fri, Aug 17, 2012 at 6:09 AM, Andy Ballingall TF > > wrote: > >> Hi, > >> > >> I've been running a number of tests with Cassandra using a couple of > >> PHP drivers (namely PHPCassa (https://github.com/thobbs/phpcassa/) and > >> PDO-cassandra ( > http://code.google.com/a/apache-extras.org/p/cassandra-pdo/), > >> and the experience hasn't been great, mainly because I can't try out > >> the CQL3. > >> > >> Aaron Morton (aaron@thelastpickle.com) advised: > >> > >> "If possible i would avoid using PHP. The PHP story with cassandra has > >> not been great in the past. There is little love for it, so it takes a > >> while for work changes to get in the client drivers. > >> > >> AFAIK it lacks server side states which makes connection pooling > >> impossible. You should not pool cassandra connections in something > >> like HAProxy." > >> > >> So my question is - if you were to build a new scalable project from > >> scratch tomorrow sitting on top of Cassandra, which technologies would > >> you select to serve HTTP requests to ensure you get: > >> > >> a) The best support from the cassandra community (e.g. timely updates > >> of drivers, better stability) > >> b) Optimal efficiency between webservers and cassandra cluster, in > >> terms of the performance of individual requests and in the volumes of > >> connections handled per second > >> c) Ease of development and and deployment. > >> > >> What worked for you, and why? What didn't work for you? > > -- > Aaron Turner > http://synfin.net/ Twitter: @synfinatic > http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & > Windows > Those who would give up essential Liberty, to purchase a little temporary > Safety, deserve neither Liberty nor Safety. > -- Benjamin Franklin > "carpe diem quam minimum credula postero" > --bcaec51d2a425560bf04c78eb981 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I'am using Java + Tomcat + Spring + Hector=C2=A0 on Lunux - I works as = always just great.

It is also not bad idea to mix databases - Cassan= dra is not always solution for every problem, Cassandra + Mongo could be ;)=

On Fri, Aug 17, 2012 at 7:54 PM, Aaron Turne= r <synfinatic@gmail.com> wrote:
My stack:

Java + JRuby + Rails + Torquebox

I'm using the Hector client (arguably the most mature out there) and JRuby+RoR+Torquebox gives me a great development platform which really
scales (full native thread support for example) and is extremely
powerful. =C2=A0Honestly I expect, all my future RoR apps will be built on<= br> JRuby/Torquebox because I've been so happy with it even if I don't<= br> have a specific need to utilize Java libraries from inside the app.

And the best part is that I've yet to have to write a single line of Ja= va! :)



On Fri, Aug 17, 2012 at 6:53 AM, Edward Capriolo <edlinuxguru@gmail.com> wrote:
> The best stack is the THC stack. :)
>
> Tomcat Hadoop Cassandra :)
>
> On Fri, Aug 17, 2012 at 6:09 AM, Andy Ballingall TF
> <ballingall@thefound= ry.co.uk> wrote:
>> Hi,
>>
>> I've been running a number of tests with Cassandra using a cou= ple of
>> PHP drivers (namely PHPCassa (https://github.com/thobbs/phpcassa/) and<= br> >> PDO-cassandra (http://code.google.com/a/apache-extr= as.org/p/cassandra-pdo/),
>> and the experience hasn't been great, mainly because I can'= ;t try out
>> the CQL3.
>>
>> Aaron Morton (aaron@the= lastpickle.com) advised:
>>
>> "If possible i would avoid using PHP. The PHP story with cass= andra has
>> not been great in the past. There is little love for it, so it tak= es a
>> while for work changes to get in the client drivers.
>>
>> AFAIK it lacks server side states which makes connection pooling >> impossible. You should not pool cassandra connections in something=
>> like HAProxy."
>>
>> So my question is - if you were to build a new scalable project fr= om
>> scratch tomorrow sitting on top of Cassandra, which technologies w= ould
>> you select to serve HTTP requests to ensure you get:
>>
>> a) The best support from the cassandra community (e.g. timely upda= tes
>> of drivers, better stability)
>> b) Optimal efficiency between webservers and cassandra cluster, in=
>> terms of the performance of individual requests and in the volumes= of
>> connections handled per second
>> c) Ease of development and and deployment.
>>
>> What worked for you, and why? What didn't work for you?

--
Aaron Turner
http://synfin.net/ =C2= =A0 =C2=A0 =C2=A0 =C2=A0 Twitter: @synfinatic
http://tcpreplay= .synfin.net/ - Pcap editing and replay tools for Unix & Windows
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.
=C2=A0 =C2=A0 -- Benjamin Franklin
"carpe diem quam minimum credula postero"

--bcaec51d2a425560bf04c78eb981--