Return-Path: Delivered-To: apmail-incubator-cassandra-dev-archive@minotaur.apache.org Received: (qmail 55825 invoked from network); 25 Jun 2009 18:35:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 25 Jun 2009 18:35:42 -0000 Received: (qmail 68206 invoked by uid 500); 25 Jun 2009 18:35:53 -0000 Delivered-To: apmail-incubator-cassandra-dev-archive@incubator.apache.org Received: (qmail 68186 invoked by uid 500); 25 Jun 2009 18:35:53 -0000 Mailing-List: contact cassandra-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-dev@incubator.apache.org Received: (qmail 68176 invoked by uid 99); 25 Jun 2009 18:35:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Jun 2009 18:35:53 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of michael.greene@gmail.com designates 209.85.132.243 as permitted sender) Received: from [209.85.132.243] (HELO an-out-0708.google.com) (209.85.132.243) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Jun 2009 18:35:41 +0000 Received: by an-out-0708.google.com with SMTP id c38so382274ana.0 for ; Thu, 25 Jun 2009 11:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=WViuepnh+uBe0GTQTcsNkZzrT1PqUBke6QEDY4flW0I=; b=uy/lbNo8ocbItL7SK97mAw5nnWgfjVu4aodwyhHiMWI4pwsJv92gn7keglYbjeLYA3 jrhdO31Ci6AGAovewa5bRtwczxUvcCIvaEd+XkmDbPgGtPeJxf066L3t1SAO+f/63oaM ZL4FlCxAWVkuL481VOROSydVxcLAESFhwgXVc= 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 :content-type:content-transfer-encoding; b=CBQfktv853hnJ7nEMHhpmlUsf40Pcc3OMXvd15nQeoM9bgsdi/epUHmywnE2cVX0VG TILk0xRJrcu5+GEOJgYfd1d04zHkgi07Z85DDJCw8aUT9v89wHTRFGUUBv06hZcM05bQ RU7QRsfdas95DThmxW0aFmNn61Uq5MdOGwUFY= MIME-Version: 1.0 Received: by 10.100.255.17 with SMTP id c17mr3629516ani.188.1245954919981; Thu, 25 Jun 2009 11:35:19 -0700 (PDT) In-Reply-To: References: Date: Thu, 25 Jun 2009 13:35:19 -0500 Message-ID: Subject: Re: Alternative wire protocols From: Michael Greene To: cassandra-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org A quick time-to-production could be achieved through distributing re-packaged client libraries. I like that idea. I brought it up on IRC at one time, and Jonathan convinced me I was wrong, but now I can't remember why and I like the idea again. Also, as Jonathan notes, there *is* a Thrift HTTP transport and a JSON Protocol. It would be a nice configuration option to allow starting both the binary socket handlers and the HTTP+JSON handlers at runtime. Michael On Thu, Jun 25, 2009 at 1:15 PM, Evan Weaver wrote: > Also keep in mind that not all deployments of Cassandra are > performance-critical. > > My current project is an integration/legacy MySQL replacement, so the > database is used as a system of record but not of (significant) > runtime. The read paths are fronted by caches with 97% hit rates. A > JSON http API would be more than performant enough, and ease the > integration path by not requiring a new component (Thrift) in the > client stack. > > Having a quick time-to-production through easy integration is much > more important to us. Then, if production experience suggests that we > can remove some of the caches as a phase 2, we will worry about > transport performance. > > Evan > > On Wed, Jun 24, 2009 at 9:09 PM, Brett Eisenberg wrote: >> +1 for Avro as something to watch and consider. I concur that performanc= e >> and simplicity are the quintessential attributes to prioritize; for me t= hat >> excludes code generation. >> >> +1 for something simple like HTTP+JSON or line-based as an interface of = last >> resort/debug. >> >> b >> >> On Jun 24, 2009, at 14:03 , Jonathan Ellis wrote: >> >>> I'm interested in Avro as kind of a better Thrift, but that's still >>> pretty alpha. >>> >>> I'm not really interested in stuff that's going to be Much Slower like >>> anything over http (Jay from Voldemort said that's basically a waste >>> of time and I believe him) or anything that requires hand-writing >>> clients for each language (everything else?). >>> >>> -Jonathan >>> >>> On Wed, Jun 24, 2009 at 3:53 PM, Evan Weaver wrote: >>>> >>>> I wanted to start a small discussion to see if there is any interest >>>> in supporting alternative wire protocols or perhaps junking Thrift to >>>> some degree. >>>> >>>> Some options: >>>> =A0* Use JSON over HTTP >>>> =A0* Use BSON over...something (http://www.mongodb.org/display/DOCS/BS= ON) >>>> =A0* Use ASN.1 over...something >>>> =A0* Use Protocol Buffers over...something >>>> =A0* Use Thrift, but package Cassandra-specific clients for each langu= age >>>> >>>> I have not thought too coherently about this but generic Thrift seems >>>> to be a pain point for everybody. >>>> >>>> Evan >>>> >>>> -- >>>> Evan Weaver >>>> >>> >>> !DSPAM:1000,4a42938f192413113311398! >>> >> >> > > > > -- > Evan Weaver >