Air off, Mind on ~ / Javascript+Golang, Sci, Health… /

Picking the Right NoSQL Database

NoSQL = Not Only SQL


Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison

Picking the right NoSQL database tool

Key-values Stores

Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB

Content caching (Focus on scaling to huge amounts of data, designed to handle massive load), logging, etc.

Strengths: Fast lookups Weaknesses: Stored data has no schema

Column Family Stores

Cassandra, HBase, Riak

Distributed file systems

Strengths: Fast lookups, good distributed storage of data Weaknesses: Very low-level API

Document Databases

CouchDB, MongoDB

Web applications (Similar to Key-Value stores, but the DB knows what the Value is)

Strengths: Tolerant of incomplete data Weaknesses: Query performance, no standard query syntax

Graph Databases

Neo4J, InfoGrid, Infinite Graph

Social networking, Recommendations (Focus on modeling the structure of data - interconnectivity)

Strengths: Graph algorithms e.g. shortest path, connectedness, n degree relationships, etc. Weaknesses: Has to traverse the entire graph to achieve a definitive answer. Not easy to cluster.