SQL Isolation Levels
Degrees of consistency; Degrees of isolation
A transaction is an execution of a well-defined set of read and write operations on shared data, which terminates with a commit operation that makes its updates permanent, or an abort operation that undoes its updates. Isolation levels define the situations in which a transaction can be affected by the execution of other transactions. In the ACID properties, isolation requires that transactions behave serializably, that is, as if they executed in a serial order with no interleaving. To obtain a serializable execution when many transactions are executing concurrently, a transaction’s operations may be delayed and occasionally even rejected. This reduces the rate at which transactions execute. Users often regard this throughput reduction as unsatisfactory and therefore seek isolation levels that are less stringent than serializability, some of which are defined as part of the SQL language. These are the SQL isolation...
- 1.Berenson H, Bernstein P, Gray J, Melton J, O’Neil E, O’Neil P. A critique of ANSI SQL isolation levels. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1995. p. 1–10.Google Scholar
- 2.Bober PM, Carey MJ. On mixing queries and transactions via multiversion locking. In: Proceedings of the 8th International Conference on Data Engineering; 1992. p. 548–56.Google Scholar
- 3.Gray J, Lorie RA, Potzulo GR, Traiger IL. Granularity of locks and degrees of consistency in a shared database. In Stonebraker M. Hellerstein J, editors. IFIP Working Conf. on Modelling in Data Base Management Systems. (3rd edn.), Reprinted in Readings in Database Systems Morgan Kaufmann, 1998; p. 175–93. 1976, p. 365–94.Google Scholar
- 4.Gray J, Reuter A. Transaction processing: concepts and techniques. Morgan Kaufmann; 1993. p. 397–403.Google Scholar