4 ms·
Categorizing the stores by their data model is misleading. Tokyo Tyrant and Voldemort are very different: later is a multi-master, partitioned, distributed syst
by strlen 15y ago
Categorizing the stores by their data model is misleading. Tokyo Tyrant and Voldemort are very different: later is a multi-master, partitioned, distributed system; former is a network attached database. In fact, one could easily use Tokyo Cabinet as the persistence engine in Voldemort in place of BerkeleyDB.
A far better classification should be done along the lines of the distribution models and handling of failures. Do they use consistent hashing or range based partitioned? Under failure, is consistency or availability given up? Are there barriers to nodes rejoining after recovering from a failure? Is there an ordered, distributed commit log, etc...
It's much harder to change the distribution model than it is change the query model. Riak, HBase and Voldemort also have support for running custom code against which queries may be made. On the other hand, adding a totally ordered commit log (via serializing through a floating master or using consensus) to Voldemort or Riak, or adding multi-master (in the sense of multiple region servers taking reads and writes for the same partition) support to HBase is going to be far more difficult.
Creating a "grand classification scheme" that ignores the most important aspect suggests a dilettante approach (not saying the author is a dilettante, but it's a much more complex topic which requires more than dabbling).