Required key points:

  • In-memory engine with synchronising to permanent storage
  • Document-oriented database (No-SQL, ie. Not-only SQL)
  • Fast mechanisms for operations

Optional points:

  • Multiple access modes (SQL-like, map-reduce views, graph queries, etc.)
  • Popular and with good support (both from maker and community)
  • Free or community edition available


  • MongoDB: Rather slow compared to Couchbase
  • Cassandra: Column-oriented, not document-oriented
  • Redis: Key-value store, mostly for caching/buffering only
  • HBase: Column-oriented, not document-oriented
  • Neo4j: Nice graph query method, but no in-memory engine
  • Oracle NoSQL: Key-value store, not much support from community
  • BigTable: Just like HBase, column-oriented, not document-oriented
  • DynamoDB: Amazon data service, not an installable software
  • Aerospike: Key-value store, not key-document store
  • MarkLogic: No C++ API, commercial software, no community edition
  • Riak: Key-value store, not key-document store
  • Hypertable: Column-oriented database, not document-oriented
  • CouchDB: This is a part of Couchbase
  • Memcached: This is a part of Couchbase
  • Couchbase: CouchDB+Memcached, good and fast NoSQL with in-memory engine (Couchbase was originally Membase, memory-oriented from start)