Xaprb

Stay curious!

Observations on key-value databases

with 5 comments

Key-value databases are catching fire these days. Memcached, Redis, Cassandra, Keyspace, Tokyo Tyrant, and a handful of others are surging in popularity, judging by the contents of my feed reader.

I find a number of things interesting about these tools.

  • There are many more of them than open-source traditional relational databases. (edit: I mean that there are many options that all seem similar to each other, instead of 3 or 4 standing out as the giants.)
  • It seems that a lot of people are simultaneously inventing solutions to their problems in private without being aware of each other, then open-sourcing the results. That points to a sudden sea change in architectures. Tipping points tend to be abrupt, which would explain isolated redundant development.
  • Many of the products are feature-rich with things programmers need: diverse language bindings, APIs, embeddability, and the ability to speak familiar protocols such as memcached protocol.
  • I think there are more solutions here than the ecosystem will support, and in five years a few will stand out as the most popular.
  • This process of paring down the gene pool is win-win because they’re open-source, and nothing will be lost.
  • Choosing which one to use is no easy task even for a highly skilled, technical, up-to-date person. Perhaps the decision-makers will choose on the availability of commercial support and consulting.
  • Many of them offer built-in, dead-simple, distributed, synchronous replication. This is very difficult to achieve with traditional relational databases. What makes key-value databases different? They don’t have MVCC, for one thing; but I’m not sure of the complete answer to that question, to tell the truth.

We live in interesting times.

Further Reading:

Written by Xaprb

September 20th, 2009 at 2:57 pm

5 Responses to 'Observations on key-value databases'

Subscribe to comments with RSS

  1. I’m kind of surprised you didn’t mention MongoDB – it’s probably the NoSQL database I’m most interested in. It answers your ‘is it going to be supported?’ question quite well – there’s a company (10gen) behind it.

    Morgan Tocker

    20 Sep 09 at 8:18 pm

  2. I wasn’t trying to give a complete list, just drop some names to hand-wave so people would know what category I’m talking about.

    Xaprb

    20 Sep 09 at 8:37 pm

  3. Mongo is a great product but it’s a tad different in the DB graph (i.e., feature versus raw throughput). Mongo would probably perform really well in a simple key/value (versus the more sophisticated Mongo document design) scenario but I haven’t seen any numbers published.

    Ryan

    20 Sep 09 at 8:39 pm

  4. afaik CouchDB has mvcc

    Jo

    21 Sep 09 at 2:57 am

  5. It does.

    Xaprb

    21 Sep 09 at 8:42 am

Leave a Reply