The theory of database concurrency control
The theory of database concurrency control
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Semantic Conditions for Correctness at Different Isolation Levels
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
Making snapshot isolation serializable
ACM Transactions on Database Systems (TODS)
Application of snapshot isolation protocol to concurrent processing of long transactions
DBA'06 Proceedings of the 24th IASTED international conference on Database and applications
Automating the detection of snapshot isolation anomalies
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Serializable isolation for snapshot databases
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Optimizing i/o-intensive transactions in highly interactive applications
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Serializable isolation for snapshot databases
ACM Transactions on Database Systems (TODS)
DASFAA'08 Proceedings of the 13th international conference on Database systems for advanced applications
A theoretical study of 'Snapshot Isolation'
Proceedings of the 13th International Conference on Database Theory
Strict serializability is harmless: a new architecture for enterprise applications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Supporting multiple isolation levels in replicated environments
Data & Knowledge Engineering
Serializable snapshot isolation in PostgreSQL
Proceedings of the VLDB Endowment
Hi-index | 0.00 |
Snapshot Isolation (SI), is a multi-version concurrency control algorithm introduced in [BBGMOO95] and later implemented by Oracle. SI avoids many concurrency errors, and it never delays read-only transactions. However it does not guarantee serializability. It has been widely assumed that, under SI, read-only transactions always execute serializably provided the concurrent update transactions are serializable. The reason for this is that all SI reads return values from a single instant of time when all committed transactions have completed their writes and no writes of non-committed transactions are visible. This seems to imply that read-only transactions will not read anomalous results so long as the update transactions with which they execute do not write such results. In the current note, however, we exhibit an example contradicting these assumptions: it is possible for an SI history to be non-serializable while the sub-history containing all update transactions is serializable.