incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Lundin <...@eintr.org>
Subject Re: Alternative wire protocols
Date Fri, 26 Jun 2009 08:17:13 GMT
Another promoting aspect of a REST / JSON interface, even a simplistic
one (like say, no query support, but simple retrieval), is the ease of
which you can get something running from first download. It makes a
big impact on people to see "hey, this actually works, it's simple,
looks clean and I can work with it. Right now".

No language bindings, no installation, no nothing. Just wget and a
couple seconds. Perhaps not useful immediately, but then the ideas
come, the realizations that Thrift might be a better fit for my app,
further understanding of the datamodel, etc etc... The single
important factor being lowering the threshold of entry.

Also, showing a text/html representation when hitting the store with a
web browser fits well in here as well. The power of immediacy and
direct cognitive connection with actual function is not to be
undermisestimated. :)

I think this is one where couchdb is worthy of envy. A simple
rendering of JSON objects with a slick appearance makes an impact.

Thrift speaks of performance, while REST+JSON addresses simplicity.
Together, they make pretty.

Just some thoughts ...

/d

PS. I do not, btw, think pluggable transport protocols to be
particularly useful. Thrift + JSON covers pretty much anything in my
book, and as mentioned serve different purposes.


On Thu, Jun 25, 2009 at 9:46 PM, Michael Greene<michael.greene@gmail.com> wrote:
> Jonathan Ellis<jbellis@gmail.com> wrote:
>> IIRC my objection there was that for things like thrift/py that assume
>> part of thrift is installed "normally" in python site-packages you
>> can't just give someone a self-contained client module w/o some pretty
>> gross hacks.
>
> I was assuming one would use the existing Thrift setup.py to
> distribute an sdist tarball or a setuptools egg, and then have a
> Cassandra setup.py that includes the generated source package, and any
> wrapper utilities the Cassandra community deems useful.
>
> Evan Weaver<eweaver@gmail.com> wrote:
>> Does the Thrift JSON stuff still require you to generate client bindings?
>
> It's standard JSON, so no you don't have to generate client bindings.
> To be honest, I've never used it myself (just BinaryProtocol) but
> reading through
> http://svn.apache.org/repos/asf/incubator/thrift/trunk/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java
> it looks like the objects it produces have a normal JSON structure,
> and identify field IDs and the Thrift type of the value.
>
> Michael
>

Mime
View raw message