Keeping CALM: when distributed consistency is easy
&gt; CALM falls short of being aconstructiveresult—it does not actu-ally tell us how to write consistent, coordination-free distributedsystems. Even armed with the CALM theorem, a system buildermust answer two key questions. First, and most difficult, is whetherthe problem they are trying to solve has a monotonic specification.<p>&gt; The second question is equally important:given a monotonic specification for a problem, how can I imple-ment it in practice?<p>Can anyone explain a good way to use these results?<p>The OP (acolyer.org) seems to suggest that this boils down to using CRDTs but that doesn&#x27;t seem to be isn&#x27;t really the answer but I can&#x27;t figure out how to use&#x2F;properly think about the results in this paper (as opposed to others that are a bit more practical). I&#x27;ve crawled through a bunch of paxos papers[0], and at this point it seems to that the distribution part of the problem is somewhat solved but the coordination required is what we&#x27;re trying to attack now.<p>Whenever I see systems that use CRDTs it&#x27;s usually either a K&#x2F;V store or a concurrent editing application. Also, most articles will gloss over the fact that both types of CRDTs (cmRDTs and cvRDTS IIRC) are actually roughly equivalent (pure operation-based CRDTs[1]). IMO pure operation-based CRDTs are just distributed WAL by another name -- and if that&#x27;s the case then we already <i>have</i> the solution for this (paxos-like quorum on the WAL segements).<p>All this boils down to the thought I&#x27;ve been holding lately that distributed consistency isn&#x27;t <i>hard</i> in this day and age -- WAL (which you generally want for hard-disk-level consistency to start with, if you&#x27;re not just waiting for big fsyncs) + synchronous commit (whether quorum or all nodes) is all you need to achieve a perfectly consistent distributed system, but what <i>is</i> hard is doing that with low latency and high throughput.<p>[0]: <a href="https:&#x2F;&#x2F;vadosware.io&#x2F;post&#x2F;paxosmon-gotta-concensus-them-all" rel="nofollow">https:&#x2F;&#x2F;vadosware.io&#x2F;post&#x2F;paxosmon-gotta-concensus-them-all</a><p>[1]: <a href="https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;320371248_Pure_Operation-Based_Replicated_Data_Types" rel="nofollow">https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;320371248_Pure_Oper...</a>