Serializability Theory for Replicated Databases

Abstract In a one-copy distributed database, each data item is stored at exactly one site of a distributed system. In a replicated database, some data items are stored at multiple sites. The main motivation for replicated data is improved reliability: by storing important data at multiple sites, the system can tolerate failures more gracefully. This paper presents a theory for proving the correctness of algorithms that manage replicated data. The theory is an extension of serializability theory. We use the theory to give simple correctness proofs for two replicated data algorithms: Gifford's “quorum consensus” algorithm, and Eager and Sevcik's “missing writes” algorithm.

[1]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

[2]  Danny Dolev,et al.  The Byzantine Generals Strike Again , 1981, J. Algorithms.

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

[4]  Alfred Z. Spector,et al.  An algorithm, for replicated directories , 1983, PODC '83.

[5]  Stephen Fox,et al.  A recovery algorithm for a distributed database system , 1983, PODS.

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

[7]  J. Michael Steele,et al.  Lower Bounds for Algebraic Decision Trees , 1982, J. Algorithms.

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

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

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

[11]  Philip A. Bernstein,et al.  An algorithm for concurrency control and recovery in replicated distributed databases , 1984, TODS.

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

[13]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

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

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

[16]  Philip A. Bernstein,et al.  Site Initialization, Recovery, and Backup in a Distributed Database System , 1984, IEEE Transactions on Software Engineering.

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

[18]  Michael Hammer,et al.  Reliability mechanisms for SDD-1: a system for distributed databases , 1980, TODS.

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

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

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

[22]  Alfred Z. Spector,et al.  An algorithm for replicated directories , 1986, OPSR.

[23]  H. Breitwieser,et al.  A distributed transaction processing protocol based on majority consensus , 1982, PODC '82.

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