Using semantic knowledge for transaction processing in a distributed database

This paper investigates how the semantic knowledge of an application can be used in a distributed database to process transactions efficiently and to avoid some of the delays associated with failures. The main idea is to allow nonserializable schedules which preserve consistency and which are acceptable to the system users. To produce such schedules, the transaction processing mechanism receives semantic information from the users in the form of transaction semantic types, a division of transactions into steps, compatibility sets, and countersteps. Using these notions, we propose a mechanism which allows users to exploit their semantic knowledge in an organized fashion. The strengths and weaknesses of this approach are discussed.

[1]  Lawrence A. Bjork Recovery scenario for a DB/DC system , 1973, ACM Annual Conference.

[2]  Charles T. Davies,et al.  Recovery semantics for a DB/DC system , 1973, ACM Annual Conference.

[3]  Irving L. Traiger,et al.  Granularity of locks in a shared data base , 1975, VLDB '75.

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

[5]  Clarence A. Ellis,et al.  Consistency and correctness of duplicate database systems , 1977, SOSP '77.

[6]  Nathan Goodman,et al.  A Survey of Research and Development in Distributed Database Management , 1977, VLDB.

[7]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[8]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[9]  Daniel J. Rosenkrantz,et al.  System level concurrency control for distributed database systems , 1978, TODS.

[10]  Robert H. Thomas,et al.  A Majority consensus approach to concurrency control for multiple copy databases , 1979, ACM Trans. Database Syst..

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

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

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

[14]  Michael Stonebraker,et al.  Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres , 1979, IEEE Transactions on Software Engineering.

[15]  G. Popek,et al.  A locking protocol for resource coordination in distributed databases , 1980, TODS.

[16]  Jim Gray,et al.  A Transaction Model , 1980, ICALP.

[17]  Philip A. Bernstein,et al.  Concurrency control in a system for distributed databases (SDD-1) , 1980, TODS.

[18]  B. I. Strom,et al.  Consistency of Redundant Databases in a Weak Coupled Distributed Computer Conferencing System , 1981, Berkeley Workshop.

[19]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[20]  Henry F. Korth Locking protocols: general lock classes and deadlock freedom , 1981 .

[21]  Irving L. Traiger,et al.  Transactions and consistency in distributed database systems , 1982, TODS.

[22]  Richard J. Lipton,et al.  Programming Aspects of VLSI. , 1982 .

[23]  Ron Obermarck,et al.  Distributed deadlock detection algorithm , 1982, TODS.

[24]  Nancy A. Lynch,et al.  Global States of a Distributed System , 1982, IEEE Transactions on Software Engineering.

[25]  Richard J. Lipton,et al.  Programming aspects of VLSI: (preliminary version) , 1982, POPL '82.

[26]  Michael Stonebraker,et al.  A Formal Model of Crash Recovery in a Distributed System , 1983, IEEE Transactions on Software Engineering.