tag:blogger.com,1999:blog-9144505959002328789.post1834632335785091370..comments2024-03-29T08:14:29.447+01:00Comments on Karlsson on databases and stuff: Eventual consistency - Bah!Karlssonhttp://www.blogger.com/profile/04874338187076980133noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-9144505959002328789.post-7026192820055654542010-08-11T23:42:23.287+02:002010-08-11T23:42:23.287+02:00Shlomi, Robert - thanks for pointing this out - it...Shlomi, Robert - thanks for pointing this out - it seems I am indeed not understanding the eventual consistency concept, or at least my grasp of it is incomplete. <br /><br />I shall try and find some papers to read to gain better understanding.<br /><br />Thanks again, and kind regards,<br /><br />Roland Boumanrpboumanhttps://www.blogger.com/profile/13365137747952711328noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-47508490983419714242010-08-07T21:56:08.013+02:002010-08-07T21:56:08.013+02:00Following up on Shlomi's comment, eventual con...Following up on Shlomi's comment, eventual consistency is not arbitrary. Workable implementations use semantics like causal dependency which means that if I do updates 1 and 2 in that order on a node they will reach other nodes in the same order regardless of intervening failures or other transactions. Also, the only time you can't test the eventual consistency part is when you have failed nodes (which is the point, BTW). Otherwise, correct eventual consistency implementations converge within a bounded period of time--if they don't that's a bug.Robert Hodgeshttps://www.blogger.com/profile/05379726998057344092noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-11287346420409735892010-08-07T19:59:25.749+02:002010-08-07T19:59:25.749+02:00@Roland / Andres
Since my other half and her team ...@Roland / Andres<br />Since my other half and her team now work on eventually consistent algorithms, I asked their opinion on this, and I hope to post a guest-article by one of them.<br /><br />As I understand it, the description in this post is misleading. It's true that at any given moment the system may be inconsistent. But an eventual consistent algorithm will allow you to *demand consistency*. So, if you really want to know your bank account status, you can demand to have consistency for that data. You will then pose locks and blocks until this particular data becomes consistent throughout the system.<br /><br />So, you can have your consistency.<br /><br />Anyway, I know little of this; like I said, I hope to have someone write on this.Shlomi Noachhttps://www.blogger.com/profile/11874165719204714241noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-68135621431183883962010-08-07T08:13:43.824+02:002010-08-07T08:13:43.824+02:00I don't really understand the objection to eve...I don't really understand the objection to eventual consistency. Most people using it in distributed systems are perfectly aware that they are trading temporary inconsistency across copies for service availability. For example, would you rather have a debit card processor refuse transactions because there's a partition between sites somewhere or a master host is down? That's the price of requiring complete consistency.Robert Hodgeshttps://www.blogger.com/profile/05379726998057344092noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-3036637355431780362010-08-06T21:01:16.585+02:002010-08-06T21:01:16.585+02:00Roland / Jeremy!
"Eventual" is in m...Roland / Jeremy!<br /><br /> "Eventual" is in my bad as it means "I don't know". Banks, as I used as an example, ir probably a bad example, as although consistency isn't always imminent, there are "consistency points" defined, and one will know when, within limits, when consistency is achieved.<br /> And Roland makes a good point: Ot is difficult, or even impossible, to tell the difference between inconsistency as the cause of a big and inconsistency as a result of "enevtual consistency".<br /><br />/KarlssonKarlssonhttps://www.blogger.com/profile/04874338187076980133noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-61052734137618697512010-08-06T19:59:13.297+02:002010-08-06T19:59:13.297+02:00Jeremy's right. Delay of the transfer to the f...Jeremy's right. Delay of the transfer to the final account is not at all like eventual consistency.<br /><br />The problem I have with the eventual consistency concept is that it makes itself immune to bugs. If there is no way to say how long it'll take before the database will be in a consistent state, and at some point you find that the database is not in a consistent state, then you can always claim that some time later, it will be consistent. I don't see how this would allow one to distinguish between a bug that actually prevents the data from being consistent and the normal operation, where it will just take a while longer before things will be consistent. <br /><br />(Or perhaps I am not understanding something about this eventual consistency concept)rpboumanhttps://www.blogger.com/profile/13365137747952711328noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-70173745084701074872010-08-06T02:43:43.536+02:002010-08-06T02:43:43.536+02:00Henrik,
That does indeed happen in the USA, but t...Henrik,<br /><br />That does indeed happen in the USA, but that's not quite the same thing. In that case there are (at least) two *consistent* transactions, one from your account to a grouped reconciliation account, and another from that account to the destination account.<br /><br />Regards,<br /><br />JeremyJeremy Colehttps://www.blogger.com/profile/16788004780218819380noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-13940871456496814252010-08-05T23:47:37.082+02:002010-08-05T23:47:37.082+02:00There are countries where if you pay me 500$ today...There are countries where if you pay me 500$ today, it will disappear from your bank account now, but it will only appear in my bank account days later. It does eventually get there, but in the few days in between, the banks save a little interest, which accumulates to huge amounts annually. (But I forgot which country this is. I bet USA is like this, with checks and everything?)hingohttps://www.blogger.com/profile/09201666166374161923noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-33207950053890661642010-08-05T23:05:10.194+02:002010-08-05T23:05:10.194+02:00Lee!
That is hardly a likely scenario. I don&#...Lee!<br /><br /> That is hardly a likely scenario. I don't think that people have that much bandwidth to interact with more than a few facebooks on average. And it's the facebooks of this world that benefits.<br /> And that performance requirements are increasing faster I'm not so sure about. What we ARE seeing are site with a much wider audience, but also many specialized environments.<br /> And another question to ask yourself when considering a non-consistent environment is what you are sacrificing? Can you do with non-consistent data? Really? I'm not so sure that has been thought about by everyone who has made the non-consistency compromise.Karlssonhttps://www.blogger.com/profile/04874338187076980133noreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-91967791366742171892010-08-05T17:15:41.266+02:002010-08-05T17:15:41.266+02:00"And will performance in system stay the way ..."And will performance in system stay the way they are right now, and will the cost per performed consistent transaction stay the same? No, it will be lower."<br /><br />Agreed. The costs will decrease. However, the performance demands seem to be increasing at a much faster rate than the cost decreases. More users, more traffic, more data, more analysis. Is it possible that soon most jobs will require this tool and this compromise?<br /><br />-LeeAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-9144505959002328789.post-58429469437631784972010-08-05T01:25:10.945+02:002010-08-05T01:25:10.945+02:00My stepdad used to tell me "You can put it of...My stepdad used to tell me "You can put it off until tomorrow, but tomorrow never comes". I think about this every time someone talks about eventual consistency, because honestly, eventually never comes.Justin Swanharthttps://www.blogger.com/profile/08193089637089861226noreply@blogger.com