There was some concern about the approach I had taken with Jsondra, basically, that it wasn't really an HTTP interface as everything was done with GET/POST and verbage was included in the url.
I've rewritten it, it uses the proper HTTP GET/PUT/POST/DELETE methods. Urls map to keys, ie http://localhost/keyspace/columnfamily/key/
The server, and node.js client, are functional now. I'll be adding the ability for batch operations soon.
By the way, this really is pretty darn simple, with all the functionality being provided by Cassandra for the most part. Awesome job guys.
I'm trying to wrap my head around node.js right now. Basically, trying to figure out it's event model to create a nonblocking client to Jsondra.
The one thing I loved about Lazyboy was it was easy to make it so Jsondra could have the json interface, but everything is stored as individual columns which should make the data easier to interact with for other applications that may have to interact with the same dataset.
I wrote what currently exists for Jsondra in about and hour and a half, and am about 6 hours into trying to figure node.js. Go figure.On Sat, Dec 5, 2009 at 10:49 PM, Rich Atkinson <firstname.lastname@example.org> wrote:
That is cool!
Having played around with couchdb a bit, it does have some great
features that will help it's adoption; most notably the json/http API.
I think being REST-like provides a familiar, cosy environment;
although couch does seem to force you to map/reduce everything.
Conceptually, something along the lines of node.js could be an awesome
fit for cassandra.
On Sun, Dec 6, 2009 at 11:29 AM, Jonathan Ellis <email@example.com> wrote:
> Cool, I know several people have mentioned wanting cassandra-over-http.
> On Sat, Dec 5, 2009 at 1:37 PM, Joseph Bowman <firstname.lastname@example.org> wrote:
>> Hi everyone,
>> I wanted to take a look at node.js as an alternative to tornado for an
>> interface for thrift, I threw together this Jsondra app really quick. It
>> uses tornado and lazyboy basically because I was already using them, and was
>> the quickest to implement.
>> Currently it supports get/put/delete for individual keys only. It returns
>> json, and you must submit json encoded values for put requests.
>> Just threw it together this morning in order to play with node.js. I'll
>> probably only update it on a "need to" basis, but thought I'd throw it out
>> there in case anyone else might find it useful. It's Apache licensed, same
>> as tornado. I believe if I understand Digg's license for lazyboy, everything
>> is in compliance license wise.
>> Here's the URL - http://github.com/joerussbowman/jsondra