Serializability by Locking

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 serializability, only the effect of the schedule on the database is taken into account. In the second one, view serializability, the view of the data received by the transactions is also taken into account. The author shows 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 serializability. 20 references.

[1]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[2]  A BernsteinPhilip,et al.  The correctness of concurrency control mechanisms in a system for distributed databases (SDD-1) , 1980 .

[3]  Philip A. Bernstein,et al.  Formal Aspects of Serializability in Database Concurrency Control , 1979, IEEE Transactions on Software Engineering.

[4]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[5]  Abraham Silberschatz,et al.  Controlling concurrency using locking protocols , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[6]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[7]  H. T. Kung,et al.  An optimality theory of concurrency control for databases , 1979, SIGMOD '79.

[8]  Marco A. Casanova,et al.  Comments on “Process synchronizaiton in databases systems” , 1979, TODS.

[9]  Abraham Silberschatz,et al.  Consistency in Hierarchical Database Systems , 1980, JACM.

[10]  Mihalis Yannakakis,et al.  Locking policies: Safety and freedom from deadlock , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[11]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[12]  Christos H. Papadimitriou A theorem in database concurrency control , 1982, JACM.

[13]  J. D. Uiiman,et al.  Principles of Database Systems , 2004, PODS 2004.

[14]  Gunter Schlageter,et al.  Process synchronization in database systems , 1978, TODS.

[15]  Mihalis Yannakakis,et al.  A Theory of Safe Locking Policies in Database Systems , 1982, JACM.

[16]  C. Mohan,et al.  Compatibility and commutativity in non-two-phase locking protocols , 1982, PODS '82.

[17]  Peter J. Weinberger,et al.  Consistency, concurrency, and crash recovery , 1978, SIGMOD '78.