4 ms·
Could someone explain casual consistency to me? Is it just about not showing earlier messages to someone who got blocked, or is there something more to it?
by d33 8y ago
Could someone explain casual consistency to me? Is it just about not showing earlier messages to someone who got blocked, or is there something more to it?
- ishitatsuyuki 8y agoA good article on this: https://jepsen.io/consistency/models/causal https://jepsen.io/consistency/models/causal
- anonymousDan 8y agoAnd another: https://www.usenix.org/system/files/login/articles/08_lloyd_41-43_online.pdf https://www.usenix.org/system/files/login/articles/08_lloyd_...
- mav3rick 8y agoIf B happened as a result of A, then every node should observe A BEFORE B. For instance, "Deleting an ex (A) and posting a relationship with a new SO (B)". If this social network wasn't causally consistent then - Your ex may see your life update (and then be deleted). I may be wrong, so other experts feel free to correct me.
- bonoboTP 8y agoWhy call it causal though? It seems like temporal consistency to me. What's the causation aspect?
- beaconstudios 8y agobecause the thing that needs to be maintained is the causal ordering of events. For the example from TFA, block -> tweet and tweet -> block have the causal effect of the blocked user seeing or not seeing the tweet respectively. Phrasing it as causal ordering removes time from the equation, which you aren't always able to take into account with distributed systems. Causal ordering also allows for causally unrelated events to appear in any order, for example updating your bio and posting a tweet. Check out the wiki article on logical clocks for a rough starting point in delving into this topic: https://en.wikipedia.org/wiki/Logical_clock https://en.wikipedia.org/wiki/Logical_clock.
- kd5bjo 8y agoA more common example of causally unrelated events is two people tweeting from different parts of the world that don’t follow each other. The order these appear somewhere really doesn’t matter to anyone.
- deleted 8y ago[deleted]
- Liquid_Fire 8y agoBut there is no causal relationship between the two events. You didn't tweet because you blocked the person, or block them because you tweeted. This blog post is really about sequential consistency.
- beaconstudios 8y agono it isn't. The two events are linked by a effect, ie switching the order of events has a different effect. They are causally linked, but not in the a => b sense. It's not about sequential consistency because for many other sets of events, the order does not matter and thus doesn't have to be enforced.
- thebootstrapper 8y agoRead this paper[1], it explains various consistency in distributed system by using baseball scores updated over different medium. [1] https://www.microsoft.com/en-us/research/publication/replicated-data-consistency-explained-through-baseball/ https://www.microsoft.com/en-us/research/publication/replica...
- svdr 8y agoCausal, not casual :)