Re:Oracle Announces an In-Memory Technology, At an Ungodly S...
by haimez on Tuesday September 24, 2013 @02:37AM
(#6436370)
ACID compliance is not ever a strict requirement, it's an abstraction guarantee. If you have a fully ACID compliant database with a sufficiently expressive query interface, then the complexity of the datastore is a perfect abstraction.
The ATM machines people use every day to exchange money are not fully ACID compliant, and they do not use "transactions". It's a calculated choice on the design of the system to account for the guarantees in different ways and balance discrepancies that occur after the fact.
If you need full ACID compliance and need to operate at "Google scale", you reorganize the problem so that you don't need the compliance.
Re:Oracle Announces an In-Memory Technology, At an Ungodly S...
by justinsb on Tuesday September 24, 2013 @12:58PM
(#6439104)
I believe NewSQL will deliver 100% ACID and high-availability on distributed systems. Not 100% availability, because CAP tells us that's theoretically impossible. But availability as good as any _real-world_ non-consistent database _implementation_.
The CAP conjecture has certainly been a major barrier to progress in this area ;-)
'Google has shown that, with the right distributed software, a cluster of cheap machines can be more reliable because you avoid putting all your eggs in the mainframe basket.'
'Moreover, just as Google's clusters beat Altavista's mainframe approach, a clustered database should scale to much bigger workloads than the biggest mainframe.'
My one comment on those points is that distributed computing solved Google's problem, and of course applies to what many software companies are trying to do (amazon, yahoo, etc.) But do they have an answer for the set of problems where 100% ACID compliance and high-availability is a requirement?