CodePark/ questions / CAP, consistency & distributed data
START PRACTICINGPRACTICE
Backend question · System design & architecture › CAP, consistency & distributed data

A vendor says their multi-node, multi-region database is "CA under CAP: fully consistent and always available". What is the best response?

Partitions cannot be ruled out across a network, so during one it must give up either consistency or availability

The best response is "Partitions cannot be ruled out across a network, so during one it must give up either consistency or availability". In a system spread over a network, you cannot opt out of partitions. So "CA" only describes the behaviour when nothing fails.

"That is possible if the vendor uses consensus such as Raft" is wrong. Consensus protocols such as Raft choose consistency. During a partition, the minority side stops accepting writes. That is a loss of availability, not a way around CAP.


"CA is possible as long as replicas are in the same region" is also wrong: networks inside one region can still partition. "CA is the normal choice for any SQL database" is wrong too: a multi-node SQL database faces the same choice.