
Cassandra vs. MongoDB vs. CouchDB vs. Redis vs. Riak Comparison - zengid
https://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
======
zengid
MongoDB and Cassandra are on top of the pile as far as NoSQL goes [1], but I
wonder how other DB's are comparing as of late? I'm particularly interested in
Couchbase for some reason, because it seems to be the most robust mix of 'the
good stuff' that the other DB's offer. Can anyone shed some light or shade?

[1] [http://db-engines.com/en/ranking](http://db-engines.com/en/ranking)

~~~
tracker1
Mongo DB got a lot of traction very early on, despite some less than optimal
defaults. As time went on, adoption grew, their marketing teams and support
contracts also took them to the next level. I liked them early on, because it
was such a natural pairing with Node on the server. The disconnect that you
get from ORMs was gone in my mind, and despite the likes of Mongoose, I often
don't see the point of the mappers, beyond basic data validation.

Cassandra is at the tops because it was a very early BigTable-like solution
that came out of Facebook. It has many options to tweak, and scales near
linearly. But at the cost of having to do for yourself what you might take for
granted in other databases.

Couchbase is interesting, I also think that Redis has become interesting as
well, but would suggest separate instances depending on the use case.

The one that I think doesn't get enough consideration is probably RethinkDB...
from a dev-ops perspective it's hands down one of the better NoSQL databases
to work against. From a dev perspective, the fluent API is sometimes better,
other times harder than say MongoDB's, but it works. It's about as close as it
gets to easy to deploy-scale in my mind, and would love to be able to use it
more.

From my own experience, most of my data fits well in either traditional SQL, a
bigtable-like solution where most queries are single-key (Cassandra) or an in-
memory kv store such as with Redis. Mongo has traction, and RethinkDB is my
preferred choice where I want tiered data in a single record (document store),
which serves several other areas in between traditional SQL and the likes of
Cassandra.

Another interesting one not covered is etcd...

~~~
zengid
Thanks for the feedback. I have to write a paper about any NoSQL DB of my
choice, and its hard to pick one. I've been looking at RethinkDB a lot this
morning, and the change feed is compelling!

