3 ms·
A History of Transaction Histories
- yarapavan 9y ago> This is also finally the year when people start to wake up and realize they care about serializability, because Jeff Dean said its important. Michael Stonebraker, meanwhile, has been shouting for about 20 years and is very frustrated that people apparently only care when The Very Important Googlers say its important.
- mjw1007 9y agoHe writes "Like the way ANSI thinks about it, if you eliminate dirty reads, non-repeatable reads, and phantom reads, you’re serializable.", but that isn't true. The sql-92 standard was already clear: « SERIALIZABLE is guaranteed to be serializable. A serializable execution is defined to be an execution of the operations of concurrently executing SQL-transactions that produces the same effect as some serial execution of those same SQL-transactions. A serial execution is one in which each SQL-transaction executes to completion before the next SQL-transaction begins. » A little later it has a table showing which anomalies can happen in which isolation modes, but under the table it says « Note: The exclusion of these phenomena or SQL-transactions executing at isolation level SERIALIZABLE is a consequence of the requirement that such transactions be serializable » At some point someone seems to have looked at the table of anomalies and decided that it was the standard's definition of SERIALIZABLE, and the idea that the SQL standard got it wrong seems to have taken root. (The "Critique of ANSI SQL Isolation Levels" paper doesn't make this mistake.) So it isn't surprising that, as he writes, "the ANSI definitions have not been fixed": they were never wrong.