Ring around the Ring file
If Riak hangs on you, and you have been mucking about with the name of your node in the vm.args file, make sure you delete all the files in the ring directory, which in the standard Debian/Ubuntu distribution is at /var/lib/riak/ring.
Simulating directories in Riak
In the course of trying to store a directory structure of files in Riak using the Ripple gem, we ran into some problems with the way Ripple handled the escaping of slashes. Basically, Ripple calls URI.escape on the URL it submits to the Riak server, and the URI lib escapes everything except the "/" character, since it is a valid character in URLs. So we end up sending a request to Riak that looks like this:
GET http://host.com/riak/bucket/key/with/slashes%20and%20spaces
The Riak server doesn't like slashes in keys, they need to be escaped to %2f. So the above request will fail. To work around this, and make sure that the slashes (and "+" characters) get escaped, we came up with this monkey patch:
It is definitely a quick hack, as it requires the HTTPBackend class to know about the structure of the riak URLs, but I am sure the author of Ripple Sean Cribbs will come up with a much better long term solution to the problem. Until then, monkey patch away!
Update: The latest release on Github has this baked in already. Those guys move fast.
SDRuby Talk
If anyone is in San Diego on March 4th, head down to the SDRuby meetup at UCSD and catch a talk we are giving on Riak, the newest kid on the NoSQL block.
Introducing Briak
In the course of evaluating Basho's cool new distributed database Riak, we whipped up a web-based tool called Briak to allow browsing of data stored in the Riak cluster. We used Sinatra, a lightweight Ruby framework to build it. We love Sinatra for tools like these, it has just enough structure to get small jobs done, but not enough to get in the way of a quick hack session.
Anyway, head on over to Github to check it out. Also check out riak-admin, another cool tool that is pure javascript, and runs directly out of the Riak cluster.
Rolling with Riak
Basho has released the latest entry in the NoSQL category -- Riak. We love to see so much innovation happening in the NoSQL space, and look forward to evaluating Riak for some upcoming projects.