PACELC Theorem Explained: Distributed Systems Series
Hi! In this article I’m going to further explore the trade-offs that many systems designers face in their distributed systems and databases by going over the PACELC Theorem(“pass-elk”) which extends the popular CAP Theorem. If you aren’t familiar with CAP Theorem checkout my previous article which provides an in-depth summary of what is and why it is useful!
Taking a look back at CAP Theorem, we saw the scenario where in the absence of partition tolerance, meaning we are operating in a stable network and no connection between nodes go down, we are able to offer both full consistency and availability(CA) to the system. However we mention this was not reasonable in practice, and assume that partitions and network failures are guaranteed therefore we focus more on available and partition tolerant(AP) systems or consistent and partition-tolerant(CP) systems.
But let’s look again at a CA system. If there are no network failures or instability and we do not have to worry about partitions, are there really no other tradeoffs to think about? These are some of the doubts many have with CAP Theorem, and which is why PACELC was introduced. Since we have already talked about the tradeoffs between ‘availability’ and ‘consistency’ we can now focus our attention on the characteristics of the latter half of PACELC when network partitions do not exist, ‘latency’ and ‘consistency’.
0 Comments