The CAP theorem forces real choices:
CP systems (Consistency over Availability):
- Banking: Better to reject a transaction than process it incorrectly
- Inventory: Better to show "out of stock" than oversell
- Examples: HBase, MongoDB (with majority write concern), Zookeeper
AP systems (Availability over Consistency):
- Social media: Stale feed is better than no feed
- DNS: Old record is better than no record
- Examples: Cassandra, DynamoDB, Riak
Most systems are not purely CP or AP. They make different choices for different operations. Twitter is AP for timelines but CP for follows.