Generalized Isolation Level Definitions.
More recent, more complete, more difficult to follow.
Atul Adya - Microsoft Research
Barbara Liskov - Laboratory for Computer Science, MIT, Cambridge
Patrick O’Neil - Univ. of Massachusetts, Boston
Abstract
Commercial databases support different isolation levels to allow programmers to trade off consistency for a poten tial gain in performance. The isolation levels are defined in the current ANSI standard, but the definitions are ambigu ous and revised definitions proposed to correct the problem are too constrained since they allow only pessimistic (locking) implementations. This paper presents new specifications for the ANSI levels. Our specifications are portable; they apply not only to locking implementations, but also to optimistic and multi-version concurrency control schemes. Furthermore, unlike earlier definitions, our new specifications handle predicates in a correct and flexible manner at all levels.
Показаны сообщения с ярлыком Isolation Levels. Показать все сообщения
Показаны сообщения с ярлыком Isolation Levels. Показать все сообщения
пятница, 29 января 2010 г.
A Critique of ANSI SQL Isolation Levels
Классика цитирования:
A Critique of ANSI SQL Isolation Levels.
Good, fairly readable discussion of transaction isolation.
Hal Berenson Microsoft Corp.
Phil Bernstein Microsoft Corp.
Jim Gray U.C. Berkeley
Jim Melton Sybase Corp.
Elizabeth O’Neil UMass/Boston
Patrick O'Neil UMass/Boston
Abstract:
ANSI SQL-92 [MS, ANSI] defines Isolation Levels in terms of phenomena: Dirty Reads, Non-Repeatable Reads, and Phantoms. This paper shows that these phenomena and the ANSI SQL definitions fail to properly characterize several popular isolation levels, including the standard locking implementations of the levels covered. Ambiguity in the statement of the phenomena is investigated and a more formal statement is arrived at; in addition new phenomena that better characterize isolation types are introduced. Finally, an important multiversion isolation type, called Snapshot Isolation, is defined.
1 . Introduction
"...which defined Degrees of Consistency in three ways: locking, data-flow graphs, and anomalies."
"The three ANSI phenomena are ambiguous, and even in their loosest interpretations do not exclude some anomalous behavior that may arise in execution histories."
"...lock-based isolation levels have different characteristics than their ANSI equivalents."
"...degrees of consistency defined in 1977 in [GLPT]."
"...Chris Date’s definitions of Cursor Stability..."
A Critique of ANSI SQL Isolation Levels.
Good, fairly readable discussion of transaction isolation.
Hal Berenson Microsoft Corp.
Phil Bernstein Microsoft Corp.
Jim Gray U.C. Berkeley
Jim Melton Sybase Corp.
Elizabeth O’Neil UMass/Boston
Patrick O'Neil UMass/Boston
Abstract:
ANSI SQL-92 [MS, ANSI] defines Isolation Levels in terms of phenomena: Dirty Reads, Non-Repeatable Reads, and Phantoms. This paper shows that these phenomena and the ANSI SQL definitions fail to properly characterize several popular isolation levels, including the standard locking implementations of the levels covered. Ambiguity in the statement of the phenomena is investigated and a more formal statement is arrived at; in addition new phenomena that better characterize isolation types are introduced. Finally, an important multiversion isolation type, called Snapshot Isolation, is defined.
1 . Introduction
"...which defined Degrees of Consistency in three ways: locking, data-flow graphs, and anomalies."
"The three ANSI phenomena are ambiguous, and even in their loosest interpretations do not exclude some anomalous behavior that may arise in execution histories."
"...lock-based isolation levels have different characteristics than their ANSI equivalents."
"...degrees of consistency defined in 1977 in [GLPT]."
"...Chris Date’s definitions of Cursor Stability..."
Ярлыки:
consistency,
Isolation Levels,
SQL
пятница, 23 октября 2009 г.
Немного о транзакциях БД и уровнях их изолированности
Здесь я повторю кратко то, что было на лекции 20.10. касательно механизма транзакций и кое-что добавлю от себя.
Транзакция (Transaction) - некоторая последовательность действий, выполняемая над объектами БД (в первую очередь над таблицами), которая рассматривается как одно целое и поэтому либо должна быть корректно завершена (Commit), либо полностью игнорирована (Rollback).
Основные требования к транзакциям сформулировал Джим Грей. Это свойства Atomicity (Атомарность), Consistency (Согласованность) и Durability (Долговечность). Позднее к ним присоединилось свойство Isolation (Изолированность), образуя четверку свойств ACID.
Транзакция (Transaction) - некоторая последовательность действий, выполняемая над объектами БД (в первую очередь над таблицами), которая рассматривается как одно целое и поэтому либо должна быть корректно завершена (Commit), либо полностью игнорирована (Rollback).
Основные требования к транзакциям сформулировал Джим Грей. Это свойства Atomicity (Атомарность), Consistency (Согласованность) и Durability (Долговечность). Позднее к ним присоединилось свойство Isolation (Изолированность), образуя четверку свойств ACID.
Ярлыки:
ACID,
Isolation Levels,
Transaction
Подписаться на:
Сообщения (Atom)