Serializability by Locking
- 30 March 1984
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 31 (2) , 227-244
- https://doi.org/10.1145/62.322425
Abstract
The power of locking as a primitive for controlling concurrency in database systems is examined. It is accepted that the concurrent execution (or schedule) of different transactions must be serializable; that is, it must behave like a serial schedule, one in which the transactions run one at a time. It is shown that locking cannot achieve the full power of serializability. An exact characterization of the schedules that can be produced if locking is used to control concurrency is given for two versions of serializability. In the first one, state serializabdity, only the effect of the schedule on the database is taken into account. In the second one, vww serializability, the view of the data received by the transactions is also taken into account. We show that it is possible to determine efficiently whether the transactions in a given set can be permitted to run safely by themselves without the need of any control while ensuring view serializability, although the problem is NP-complete in the case of state serializa- bility.Keywords
This publication has 10 references indexed in Scilit:
- A theorem in database concurrency controlJournal of the ACM, 1982
- A Theory of Safe Locking Policies in Database SystemsJournal of the ACM, 1982
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- The correctness of concurrency control mechanisms in a system for distributed databases (SDD-1)ACM Transactions on Database Systems, 1980
- Consistency in Hierarchical Database SystemsJournal of the ACM, 1980
- Comments on “Process synchronizaiton in databases systems”ACM Transactions on Database Systems, 1979
- The serializability of concurrent database updatesJournal of the ACM, 1979
- Formal Aspects of Serializability in Database Concurrency ControlIEEE Transactions on Software Engineering, 1979
- Process synchronization in database systemsACM Transactions on Database Systems, 1978
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976