Comment Re:Are you fucking serious? Tell me you aren't! (Score 2) 198
You're misunderstanding what's been written in that article. This is exactly the scenario that banks *have* to prevent before and as it happens.
These excerpts from one of Brewer's talks seem to substantiate my "misunderstanding": Eric Brewer on Why Banks are BASE Not ACID - Availability Is Revenue
segedunum:
Chasing around for compensation later cannot be an option in many cases because it is going to be abused.
When the system is functioning normally, the difference between strong consistency and eventual consistency is on the order of a few milliseconds. I don't think that leaves much of a window for abuse. The fundamental question is what do you do when there is partitioning? Or as you call it, system degradation. If you take an ACID approach then you shut down everything until the partitioning has been repaired. If you take a BASE approach then you still provide at least some functionality by sacrificing strong consistency. The CAP theorem says you cannot have both strong consistency and availability when there is partitioning.
Whatever system you use locally will be checked live, usually with a mainframe based system that is ACID compliant. If that isn't possible then you have a gradual system degradation where only certain types of transactions are processed.
The fact that you have any functionality at all when there is non-trivial degradation is due to using an overall BASE strategy instead of an ACID strategy. I have no doubt that one or more ACID databases are used as parts of the system but an overall BASE strategy is used by banks when there is partitioning (system degradation).
Remember, this thread started with an AC claiming that you would have to be an idiot to use anything other than ACID for storing data. People responded by saying there is also a place for BASE systems and that the banking industry uses an overall BASE strategy. Perhaps I misunderstand what you are saying but it seems like you are saying that as long as an ACID database is part of the system (or a central part of the system) then the overall system must be ACID which makes little sense to me.
I don't think anyone here is suggesting:
the article is [...] a carte blanche to justify NoSQL systems or to do away with any core systems that compromise ACID at their heart.
The point I've been trying to make is that just like there is a place for ACID systems there is also a place for BASE systems. In addition, as the data sets become larger and more complex and more spread out, the ACID approach becomes more and more untenable due to the CAP theorem. For most (but not all) cases, high-availability and eventual consistency will trump strong consistency.