PACELC Theorem FAQs
How Does the PACELC Theorem Apply to NoSQL Databases?
Under the CAP Theorem, NoSQL databases are generally considered to be AP systems, providing Availability and Partition tolerance at the expense of Consistency. Compared to the CAP Theorem, PACELC provides a better and more nuanced framework for comparing NoSQL databases.
For example, NewSQL databases such as Google Spanner and its offspring, CockroachDB, provide Consistency, Availability and Partition tolerance. According to Eric Brewer’s painstaking analysis, Google Spanner is technically a CP system that can claim to be an “effectively CA” system.
Compared to ScyllaDB, Google Spanner, under normal circumstances with no partition failures, favors consistency over latency. ScyllaDB, in contrast, favors latency over consistency under normal operating conditions.
How Does ScyllaDB Behave According to the PACELC Theorem?
The PACELC theorem provides a better framework for understanding ScyllaDB than the CAP Theorem. Under the CAP Theorem, ScyllaDB is considered to be an AP system; however, this designation does not provide the added nuance provided by PACELC. Under the PACELC Theorem, ScyllaDB is considered to be a PA/EL system.
In terms of the PACELC Theorem, ScyllaDB can be defined as PA/EL: partition tolerant, highly available, and oriented towards low latency as opposed to consistency. ScyllaDB has been designed to be highly available, but also to provide consistent low-latencies. ScyllaDB does provide tunable consistency. But, under the PACELC formulation, it favors low latency over consistency while also providing extreme high availability. Short of a complete systemic outage, ScyllaDB should remain up and available for mission critical applications.
Understanding ScyllaDB as PA/ELhelps developers and architects understand how ScyllaDB maps into use cases. ScyllaDB is designed to provide high availability and predictable low latencies for extremely high volumes of data for globally distributed database clusters. When comparing ScyllaDB with other databases for such use cases, PACELC helps teams to identify similar databases (that is, other AP/EL databases), and then to compare them side-by-side using industry standard performance benchmarks, such as the Yahoo Cloud Serving Benchmark (YCSB).