Issues of correctness in database concurrency control by locking

Our aim in this paper is to show that there is a mathematically inherent reason why existing systems enforce D-serializability (rather than just because of its simplicity): it is because they are based on locking. Our main result is a characterization of the power of locking which states that if a locking policy is safe then it must allow only D-serializable schedules. Furthermore any such schedule can be produced by some safe locking policy. The rest of the paper is organized as follows. In Section 2 we formalize our concepts and describe the model. In Section 3 we characterize D-serializability in semantic terms. In Section 4 we examine when a set of transactions can be let to run safely by themselves without locking or any intervention from the scheduler. Section 5 is concerned with locking policies and in Section 6 we discuss some implications of our results.

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

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

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

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

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

[6]  Christos H. Papadimitriou On the power of locking , 1981, SIGMOD '81.

[7]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

[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]  Peter J. Weinberger,et al.  Consistency, concurrency, and crash recovery , 1978, SIGMOD '78.

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

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

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

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

[15]  Daniel J. Rosenkrantz,et al.  Concurrency control for database systems , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).