November 1976 | K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger
The paper "The Notions of Consistency and Predicate Locks in a Database System" by K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger discusses the concepts of consistency, locking, and scheduling in database systems. The authors define a transaction as a sequence of actions that must be well-formed, meaning it must not relock an entity after releasing a lock and must not request new locks after releasing them. They argue that transactions should lock logical subsets of the database rather than individual records to avoid conflicts and ensure consistency.
The paper introduces the concept of predicate locks, which allow transactions to lock sets of tuples or fields based on specific predicates. This approach addresses the issue of "phantoms" (new records that appear due to concurrent updates). The authors propose a simple class of predicates, consisting of Boolean combinations of atomic predicates, which can be easily decided for satisfiability and conflict. They suggest an implementation of predicate locks that enforces consistency by ensuring transactions are well-formed and two-phase, and by using a table to manage predicate locks and their dependencies.
The paper concludes by summarizing the key findings: transactions must be well-formed and two-phase to ensure consistency, and predicate locks can be effectively scheduled using simple predicates to handle associative addressing and phantom records.The paper "The Notions of Consistency and Predicate Locks in a Database System" by K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger discusses the concepts of consistency, locking, and scheduling in database systems. The authors define a transaction as a sequence of actions that must be well-formed, meaning it must not relock an entity after releasing a lock and must not request new locks after releasing them. They argue that transactions should lock logical subsets of the database rather than individual records to avoid conflicts and ensure consistency.
The paper introduces the concept of predicate locks, which allow transactions to lock sets of tuples or fields based on specific predicates. This approach addresses the issue of "phantoms" (new records that appear due to concurrent updates). The authors propose a simple class of predicates, consisting of Boolean combinations of atomic predicates, which can be easily decided for satisfiability and conflict. They suggest an implementation of predicate locks that enforces consistency by ensuring transactions are well-formed and two-phase, and by using a table to manage predicate locks and their dependencies.
The paper concludes by summarizing the key findings: transactions must be well-formed and two-phase to ensure consistency, and predicate locks can be effectively scheduled using simple predicates to handle associative addressing and phantom records.