Monday, October 07, 2013

Types of NoSQL data stores

There are essentially 4 types of NoSQL databases that are getting popular. As architects, when we consider polyglot persistence it's important to understand the pros and cons of each NoSQL type and then select the best fit for the given problem context.

  1. Key-Value stores: Redis, Riak
  2. Column Family stores (Aggregate-oriented): Cassandra, HBase
  3. Document oriented databases: MongoDB, CouchDB
  4. Graph databases: Neo4J
A good article comparing all these datastores is available here: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis.  Another good article that compares these stores against the CAP theory is here: http://blog.nahurst.com/visual-guide-to-nosql-systems
Martin Fowler's infodeck on NoSQL is also worth a perusal.