Nori: Node.js Riak wrapper

Map Reduce?

I took the Riak Fast Track and really liked messing around with map reduce functions. So, I wrote nori, a node.js client.

Riak is a key/value store inspired by the Dynamo whitepaper. It has buckets, which contain resources identified by keys, with a REST API. Therefore, it feels a lot like S3, with added map reduce and link walking powers.

Riak is written in Erlang, but Basho decided to also support javascript for map reduce. This makes node.js a natural fit for Riak. Node.js is of course great at handling non-blocking HTTP requests, and function.toString() lets us pass javascript functions through Nori. This means it would be trivial to write local tests of your map reduce functions with local data (without having to go through Riak). Look at how closely my implementation matches the sample functions in the fast track.

Overall, the Fast Track was pretty good. I would have liked some coverage of link walking, but at some point you have to cut the "fast track" short. It was short enough to digest in a sitting (though, it did turn a chillaxin' Sunday afternoon into an epic node.js hackfest).