Presentation: NoSQL, Riak and CouchDB: A Very Interesting Association
Mårten Gustafson’s (@martengustafson) slides focus on Riak and CouchDB after a quick intro to the NoSQL ecosystem. I find this association very interesting, but you’ll have to read on to find out why.
Some notes:
Riak
- decentralized key-value store
- a flexible map/reduce engine
- HTTP/JSON API (note: the upcoming version will also support a Protocol Buffers client and API)
- a database ideally suited for Web applications
Riak “stuff”

Riak - Takeaways
- No single point of failure
- Choose your levels for:
- availability
- consistency
- partition tolerance
Before jumping to the CouchDB section, I should remind you of Kevin Smith’s introduction to Riak presentation.
CouchDB
- document oriented database
- Kick ass replication
- HTTP/JSON API
- Map/reduce view (index) definitions
CouchDB “stuff”

CouchDB - Takeaways
- Kick ass replication
- Views are fast
- Can host and serve complete webapps
If you don’t think this is enough, you can also check Will Leinweber’s Relaxing with CouchDB video
I don’t know if this association between CouchDB and Riak was intentional or not, but personally I find it extremely interesting. Getting started with CouchDB should be quite simple and it will probably take you far. Once your application will need more scalability changing to Riak should be also quite simple and that not only due to their friendly HTTP/JSON protocol, but to quite a few similarities of these two products. That’s not to say that Riak and CouchDB don’t have unique features that you’ll probably miss while moving from one to another — for example you’ll need to rework a bit your map/reduce functions.
And now I’ll leave you with the slidedeck: