cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Hodges <>
Subject Re: "easy" interface to Cassandra
Date Tue, 19 Jan 2010 14:30:39 GMT

On Tue, Jan 19, 2010 at 6:13 AM, Jonathan Ellis <> wrote:
> I'm a huge non-fan of the "let's specify everything in as minute
> detail as possible before writing anything" style that resulted in
> CASSANDRA-547 taking about ten times as long as necessary.  Code
> something up, if the approach has merit, it can be refined.
> -Jonathan
> 2010/1/19 Ted Zlatanov <>:
>> On Mon, 18 Jan 2010 10:48:41 -0800 Tatu Saloranta <> wrote:
>> TS> 2010/1/15 Ted Zlatanov <>:
>>>> I could provide a way to plug in your own API to Cassandra so anyone
>>>> could write a full API using PB, HTTP, or whatever protocol they like.
>>>> Underneath it could invoke the Thrift interface methods locally and
>>>> relay their results out.  This would be really nice but again I doubt it
>>>> would be included in the core.
>> TS> I would find it useful to have such an alternative interface. I have
>> TS> nothing against Thrift, but there are cases where simpler interface
>> TS> would be useful. And in those cases it would be fine to have this as
>> TS> sort of adapter.
>> TS> For what it's worth, I think it would be nice to keep the two
>> TS> (transport over http, contents as json) separate, if possible. I like
>> TS> JSON, but there are use cases where other formats are better.
>> TS> For numeric data, for example, binary formats are more compact.
>> I've got three (me, Tatu, Philip) in favor of such an interface.
>> Jonathan, Eric, anyone else, WDYT?
>> My proposal is as follows:
>> - provide an IPluggableAPI interface; classes that implement it are
>>  essentially standalone Cassandra servers.  Maybe this can just
>>  parallel Thread and implement Runnable.
>> - enable the users to specify which IPluggableAPI they want and provide
>>  instantiation options (port, connection limit, etc.)
>> - write a simple HTTPPluggableAPI, which provides a web server and
>>  accepts POST requests.  The exact path and option spec can be worked
>>  out later.  The input and output formats can be specified with a query
>>  parameter; at least JSON and XML should be supported.
>> Ted

View raw message