13 October 2014

CAP

  1. C: Consistence, all clients always have the same view of the data
  2. A: Availability, each client can always read and write
  3. P: Partition Tolerance, the system works well despite physical network partitions.

CP (Strong consistent and partition tolerance)

typically set up in master/slave structure between servers,

Instances:

  1. BigTable
  2. MongoDB (this can be eventual consistent, for better availability)
  3. HBase

AP (available and partition tolerance)

typically set up in peer to peer (P2P) structure, they are eventual consistent

Instances:

  1. CouchDB
  2. Cassandra (this can be set to strong consistent)

AC (high availability and strong consistence)

Instances:

  1. MySql
  2. PostgreSQL

database in memory

  1. Redis, CP, popular, used by sina, zhihu, it is paired with MySql
  2. memcached
  3. membase: CP, cached the SQLite into memory