Classify a store that refuses writes on the minority side of a partition and serves normal reads from the nearest replica in PACELC terms, give a configuration that produces that classification, and say what a research query reading it should assume.

Classify a store that refuses writes on the minority side of a partition and serves normal reads from the nearest replica in PACELC terms, give a configuration that produces that classification, and say what a research query reading it should assume.

Approach: Read the acronym as two separate questions, one about the partitioned case and one about the healthy case, and place the described behaviour into each.

It is PC/EL: consistent when partitioned and latency favouring otherwise. PACELC asks two questions rather than one. If there is a partition, does the system choose availability or consistency, which is the CAP question; else, when the network is healthy, does it choose latency or consistency, which CAP never addresses and which describes the system almost all of the time. The configuration producing PC/EL is a quorum replicated store where a write needs a majority, so the minority side of a partition refuses service, combined with reads served from the nearest replica under asynchronous replication, so a normal read skips the cross region round trip and can be tens of milliseconds stale. A research query should therefore assume its result corresponds to some recent state rather than the current one, and any calculation depending on a write it just issued must read at a version token or read from the leader. The practical consequence is that a reconciliation against a synchronous source shows small differences that are not errors, so the tolerance for that comparison belongs in the specification as a staleness bound in time rather than as a row count.

Follow-up: What would you change to make the same store PC/EC, and what does that cost on every read?

Key concepts: pacelc, partition case, latency versus consistency, asynchronous replication.