Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You might want to read this article: http://hackingdistributed.com/2013/03/23/consistency-alphabe...

For instance, "C as in ACID" enables a CEO to say things like "the number of records in the personnel database should be N, the actual number of people I have hired." Or "number of cars produced should be less than or equal to the number of engines purchased." Or "at the end of the data analytics run, there should be a single summary object for each region, containing accurate statistics of sales figures." Or "every Bitcoin transfer that has been executed should be reflected in the corresponding users' wallets." In general, C as in ACID encompasses any kind of property that can be expressed over collections of records, where these properties are application-specific, user-defined, and checkable functions over total system state.



That is a very good article! I bookmarked it in 2013 for that reason. :)

The thing just is... A CEO doesn't really care whether there are 1500 or 1502 workers. Some idiot drops one engine on the assembly floor breaking it. Accurate statistics is an oxymoron. The bitcoin transfers are reliable (mathematically proven even), but does it matter if your wallet shows a wrong number in the UI for a while? I had a good friend go to ATM on a Friday night and see that his current balance was 2.4 billion euros. Next morning it was corrected, and nothing really bad happened.

For the business it is more important to find the (very rare) screw-ups and correct them. You don't really have to do it in real-time either. A 1960s style batch job is just fine.

The reason for previous is that the full ACID model system will fail with the same starting values. The difference is that it tells that end user something like "uh-oh, something went wrong and we can't process your transfer or whatever" (common with banking applications) when eventually consistent model allows the process to continue, and the screw-up must be handled at later stage. From the end user's point of view the ACID version is usually much worse.


The flip side of that is your friend could have gone on a buying spree that night.

Yes, they would have tracked it down and eventually recovered all or most of the money, but at significant cost.

Had the issue never occurred due to constraints of the system not allowing it to, time and money would have been saved.

Allowing a gap between the error condition and its remediation is an opportunity for exploit.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: