On Mon, 18 Jan 2010 10:48:41 -0800 Tatu Saloranta <tsalora...@gmail.com> wrote: 

TS> 2010/1/15 Ted Zlatanov <t...@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

Reply via email to