A Yes for a NoSQL Taxonomy

NorthScale's Steven Yen in his highly entertaining NoSQL is a Horseless Carriage presentation has come up with a NoSQL taxonomy that thankfully focuses a little more on what NoSQL is, than what it isn't:

  • key‐value‐cache
    • memcached, repcached, coherence, infinispan, eXtreme scale, jboss cache, velocity, terracoqa
  •  key‐value‐store
    • keyspace, flare, schema‐free, RAMCloud
  • eventually‐consistent key‐value‐store
    • dynamo, voldemort, Dynomite, SubRecord, Mo8onDb, Dovetaildb
  • ordered‐key‐value‐store
    • tokyo tyrant, lightcloud, NMDB, luxio, memcachedb, actord
  • data‐structures server
    •  redis
  • tuple‐store
    • gigaspaces, coord, apache river
  • object database
    • ZopeDB, db4o, Shoal
  • document store
    •  CouchDB, Mongo, Jackrabbit, XML Databases, ThruDB, CloudKit, Perservere, Riak Basho, Scalaris
  • wide columnar store
    • BigTable, Hbase, Cassandra, Hypertable, KAI, OpenNeptune, Qbase, KDI

"Who will win?" Steven asks. He answers:  the most approachable API with enough power will win. Steven touts the contender with the most devastating knock out punch will be document stores because "everyone groks documents." Though the thought is there will be just a few winners and products will converge in functionality.

Steven is banking on the "worse is better" model of dominance, which is hard to argue with as it has been so successful an adoption pattern in our field. The convergence idea is something I also agree with. What we have now are a lot features masquerading as products. Over time they will merge together to become more full featured offerings.

The key question though is what is enough power to win? Just getting a value back for a key won't be enough. Who are you putting your money on?