Posts

Showing posts from October, 2020

3. Data Consistency and the "Theory of relativity"

"If a tree falls in a forest and no one is around to hear it, does it make a sound?" If a system has an inconsistency but no one is able to observe it, is it still an inconsistency? Introduction We need to scale data processing systems geographically to achieve lower Latency and (at least partial) Availability in case of network Partitioning. But CAP / PACELC tells us that we cannot achieve strong Consistency in this case. When we increase the Consistency requirements, we have to accept lower Availability and higher Latency. What is the minimum consistency level that we need? If eventual consistency is enough for your system, things are pretty clear and relatively simple. Most probably you want to achieve Strong Eventual Consistency that is relatively cheap and provides nice guaranties. For this you will have to you something like CRDT . Some theoretical results assure us that you cannot find something way cleverer than CRDT that achieves Strong Eventual Consistency. Often...