9 comments

[ 2.4 ms ] story [ 32.5 ms ] thread
On how it's being used:

"We're not about to drop PostgreSQL as our primary data storage layer, but Riak seems to make a great complimentary datastore . . . "

We do most of our development in Django, so Postgres is a natural fit. Every tool has its sweet spots, so you should use the tool that best fits the task.

For instance, Postgres is great for highly structured data (say, photos on a website). Riak shines when your data flexs more & you have a lot of it (say an activity stream).

A key-value store written in Erlang, stores JSON and executes MapReduce queries, and is accessible as a web service.

Why no mention of CouchDB and how Riak differs?

Why does there need to be?
I was tempted to do some comparison, especially to Couch/Mongo/Cassandra, but ran out of time. I'll consider a follow up that compares them.

In short, Riak wins out to me against all three:

* Faster than Couch & easier clustering * Better data integrity than Mongo * Less conceptual overhead & simpler code than Cassandra

Riak is distributed (it automatically shards data on many servers). CouchDB runs on a single server, although it can easily have as many mirrors as needed.

Also, Riak features an integrated full-text search engine.

I'm glad the mentioned the pain in the ass that protobufs are under python right now.
Another key/value store? I'm sure it has its own specific advantages and disadvantages which make it different from all the others. Still, there's a lot of those popping up lately...
Riak has been open-source and freely available since August 2009.