When you’ll start working with NoSQL databases, sooner or later you come across CAP theorem, The theorem published by Eric Brewer in 2000, that describe any distributed system.
In a distributed database system C stands for Consistency, A stands for Availability and P stands for Partition Tolerance.
- Consistency – Every node in the system will have the same view of data.
- Availability – User can read & write from any node.
- Partition Tolerance – Your system will still Operate even if any node or server fails.
So from the above illustration while selecting your NoSQL database you can choose only two characteristics i.e. A-P, A-C, C-P.
A-P Databases: Voldemort, Cassandra, Riak, CouchDB, Dynamo
A-C Databases: PostgreSQL, MySQL
C-P Databases: HBase, MongoDB, Redis, Big Table