cassandra-user mailing list archives

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

On Tue, Jan 19, 2010 at 6:13 AM, Jonathan Ellis <jbellis@gmail.com> 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 <tzz@lifelogs.com>:
>> On Mon, 18 Jan 2010 10:48:41 -0800 Tatu Saloranta <tsaloranta@gmail.com> wrote:
>>
>> TS> 2010/1/15 Ted Zlatanov <tzz@lifelogs.com>:
>>>> 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
>>
>>
>

Mime
View raw message