Thursday, November 19, 2009

In love with Riak (NoSQL) design

I have read the documentation on Riak a couple of times. It is hard to believe the system exists. It seems to solve 90% of the problems I have with developing web applications. After I spent some time writing map/reduce javascript functions with CouchDB I find myself in love with it. As much as it is a great database for doing specific types of document storage systems it had some side effects that I really didn't like.
Riak quick list of things that are amazing to me:
  • No single points of failure
  • Every node in the system is structurally equivalent (lots of cheep hardware)
  • Nodes can be added at any time
  • Scales to large cluster or small (developer box)
  • Map/Reduce 
Right now the map reduce is only in Erlang and I think that is the biggest issue. I don't really want to learn erlang to do map reduce however it is better than SQL over relations. Building a real application with CouchDB made me find out some real issues it had. So that is my next step.