Tolerating bounded inconsistency for increasing concurrency in database systems

Recently, the scope of databases has been extended to many non-standard applications, and serializability is found to be too restrictive for such applications. In general, two approaches are adopted to address this problem. The first approach considers placing more structure on data objects to exploit type specific properties while keeping serializability as the correctness criterion. The other approach uses explicit semantics of transactions and databases to permit interleaved executions of transactions that are non-serializable. In this paper, we attempt to bridge the gap between the two approaches by using the notion of serializability with bounded inconsistency. Users are free to specifiy the maximum level of inconsistency that can be allowed in the executions of operations dynamically. In particular, if no inconsistency is allowed in the execution of any operation, the protocol will be reduced to a standard strict two phase locking protocol based on type-specific semantics of data objects. Bounded inconsistency can be applied to many areas which do not require exact values of the data such as for gathering information for statistical purpose, for making high level decisions and reasoning in expert systems which can tolerate uncertainty in input data.

[1]  M. Herlihy A quorum-consensus replication method for abstract data types , 1986, TOCS.

[2]  Calton Pu,et al.  Replica control in distributed systems: as asynchronous approach , 1991, SIGMOD '91.

[3]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

[4]  Panos K. Chrysanthis,et al.  Extracting concurrency from objects: a methodology , 1991, SIGMOD '91.

[5]  William E. Weihl,et al.  SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES , 1984 .

[6]  Maurice Herlihy,et al.  Hybrid Concurrency Control for Abstract Data Types , 1991, J. Comput. Syst. Sci..

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

[8]  Alfred Z. Spector,et al.  Synchronizing shared abstract types , 1984, TOCS.

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

[10]  Ambuj K. Singh,et al.  Consistency and orderability: semantics-based correctness criteria for databases , 1993, TODS.

[11]  Hector Garcia-Molina,et al.  Non-deterministic queue operations , 1991, PODS '91.

[12]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[13]  Thanasis Hadzilacos,et al.  Transaction Synchronisation in Object Bases , 1991, J. Comput. Syst. Sci..

[14]  M. Tamer Özsu,et al.  Using semantic knowledge of transactions to increase concurrency , 1989, TODS.

[15]  William E. Weihl,et al.  Local atomicity properties: modular concurrency control for abstract data types , 1989, TOPL.

[16]  William E. Weihl The Impact of Recovery on Concurrency Control , 1993, J. Comput. Syst. Sci..

[17]  Henry F. Korth,et al.  Locking Primitives in a Database System , 1983, JACM.

[18]  Nancy A. Lynch,et al.  Multilevel atomicity—a new correctness criterion for database concurrency control , 1983, TODS.

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

[20]  B. R. Badrinath,et al.  Semantics-based concurrency control: Beyond commutativity , 1987, 1987 IEEE Third International Conference on Data Engineering.