A study of the availability and serializability in a distributed database system

Replication of data objects enhances the reliability and availability of a distributed database system. However, due to the inherent conflict between serializability and availability, if serializability is to be guaranteed in a partitioned database system, degradation of availability is inevitable. We first characterize serializable transaction executions in a partitioned database system, by means of a graph theoretical method. We then derive an upper bound on the availability of a database system with two partitions. This upper bound holds for a general class of transaction distributions that satisfy the "weak uniformity assumption". Since it is impossible to simultaneously achieve serializability and high availability in a general database system, we investigate database systems in which constraints are imposed on the read/write activity of the transactions. In particular, we propose a fragmented database system, in which transactions are classified as either local or global. This model can be used to realize wide-area distributed database systems, in which messages encounter substantial communication delays. We argue that a transaction scheduling policy that favors local transactions over global transactions should be adopted in wide-area distributed database systems. Two schemes are proposed for concurrency control in this kind of system. The first scheme, Global Timestamp Order Certification, uses an "active" approach, and sends out requests for global transactions to be certified by remote sites. The second scheme, Global Timestamp Order Synchronization, adopts a "passive" approach in which a global transaction is made to wait until it is known that the transaction has read consistent data object values from other sites. In both approaches, no global transaction blocks a local transaction. Moreover, local transactions are executed as if they were in the single-site environment, in which communication delays are negligible.

[1]  Flaviu Cristian,et al.  An efficient, fault-tolerant protocol for replicated data management , 1985, PODS '85.

[2]  Toshihide Ibaraki,et al.  Serializability with constraints , 1987, TODS.

[3]  Hector Garcia-Molina,et al.  Update propagation in Bakunin data networks , 1987, PODC '87.

[4]  Sushil Jajodia Managing replicated files in partitioned distributed database systems , 1987, 1987 IEEE Third International Conference on Data Engineering.

[5]  N. Meyers,et al.  H = W. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[6]  Toshimi Minoura,et al.  Resilient Extended True-Copy Token Scheme for a Distributed Database System , 1982, IEEE Transactions on Software Engineering.

[7]  Marco A. Casanova,et al.  The Concurrency Control Problem for Database Systems , 1981, Lecture Notes in Computer Science.

[8]  Nancy A. Lynch,et al.  Correctness conditions for highly available replicated databases , 1986, PODC '86.

[9]  Philip A. Bernstein,et al.  The failure and recovery problem for replicated databases , 1983, PODC '83.

[10]  Derek L. Eager,et al.  Achieving robustness in distributed database systems , 1983, TODS.

[11]  Brian A. Coan,et al.  Limitations on database availability when networks partition , 1986, PODC '86.

[12]  Hector Garcia-Molina,et al.  Achieving High Availability in Distributed Databases , 1987, ICDE.

[13]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[14]  Barbara T. Blaustein,et al.  System architecture for partition-tolerant distributed databases , 1985, IEEE Transactions on Computers.

[15]  Hector Garcia-Molina,et al.  Consistency in a partitioned network: a survey , 1985, CSUR.

[16]  Baruch Awerbuch,et al.  Efficient and Reliable Broadcast is Achievable in an Eventually Connected Network. , 1984, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

[17]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[18]  J. D. Day,et al.  A principle for resilient sharing of distributed resources , 1976, ICSE '76.

[19]  Richard S. Varga,et al.  Proof of Theorem 6 , 1983 .

[20]  Susan B. Davidson,et al.  Optimism and consistency in partitioned distributed database systems , 1984, TODS.

[21]  Hector Garcia-Molina,et al.  Data-Pach: Integrating Inconsistent Copies of a Database After a Partition , 1983, Symposium on Reliability in Distributed Software and Database Systems.

[22]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

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

[24]  Hector Garcia-Molina,et al.  Protocols for dynamic vote reassignment , 1986, PODC '86.

[25]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

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

[27]  Amr El Abbadi,et al.  Availability in partitioned replicated databases , 1985, PODS.

[28]  Sunil K. Sarin,et al.  Robust Application Design in Highly Available Distributed Databases , 1986, Symposium on Reliability in Distributed Software and Database Systems.

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

[30]  Alan Norman,et al.  EMPACT#8482;: a distributed database application , 1983, AFIPS '83.

[31]  Barbara T. Blaustein,et al.  Updating Replicated Data During Communications Failures , 1985, VLDB.

[32]  Dale Skeen,et al.  Increasing availability in partitioned database systems , 1984, Adv. Comput. Res..

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

[34]  Mark Anderton,et al.  EMPACT: a distributed database application , 1986 .