Abstract
A replicated database is a distributed database in which copies of some data items are stored redundantly at multiple sites. In such a system, an execution of transactions iscorrect if it is equivalent to a serial execution of those transactions on a one copy database. We show that in any serializable execution, if all transactions see the failures and recoveries of data item copies in a consistent order, then the execution is correct. We model this condition using a modified type of serialization graph, and show that if this graph is acyclic then the corresponding execution is correct. We demonstrate the value of this model by using it to prove the correctness of an algorithm for synchronizing access to a replicated database.
Similar content being viewed by others
References
Alsberg PQ, Belford GC, Day JD, Grapa E (1976) Multicopy resiliency techniques. AC Document No. 202, Center for Advanced Computation, University Illinois at Urbana-Champaign (May 1976)
Bernstein PA, Goodman N (1981) Concurrency control in distributed database systems. Computing Surveys 13(2):185–221
Bernstein PA, Goodman N (1984) An algorithm for concurrency control and recovery in replicated distributed databases. ACM Trans Database Syst 9(4):596–615
Bernstein PA, Goodman N (1986) Serializability theory of replicated databases. J Comput Syst Sci
Bernstein PA, Hadzilacos V, Goodman N (1987) Concurrency control and recovery in database systems. Addison-Wesley Publishing
Bernstein PA, Shipman DW, Wong WS (1979) Formal aspects of serializability in database concurrency control. IEEE Trans Software Eng 5(3):203–216
Davidson SB, Garcia-Molina H, Skeen D (1984) Consistency in a partitioned network: a survey. TR 84-617. Department of Computer Science, Cornell University, Ithaca, New York (June 1984)
Eager DL, Sevcik KC (1983) Achieving robustness in distributed database systems. ACM Trans Database Syst 8(3):354–381
El Abbadi A, Skeen D, Christian F (1985) An efficient, faulttolerant protocol for replicated data management. Proc 4th ACM SIGACT-SIGMOD Symposium on Principles of Database, Portland Oregon (March 1985), pp. 215–228
Eswaran KP, Gray JN, Lorie RA, Traiger IL (1976) The notions of consistency and predicate locks in a database system. Commun ACM 19(11):624–683
Gifford DK (1979) Weighted voting for replicated data. Proc 7th ACM SIGOPS Symposium on Operating Systems, Pacific Grove, CA (December 1979), pp. 150–159
Goodman N, Skeen D, Chan A, Dayal U, Fox S, Ries D (1983) A recovery algorithm for a distributed database system. Proc 2nd ACM SIGACT-SIGMOD Symp Principles of Database Systems, Atlanta, GA (March 1983), pp. 8–15
Gray JN (1978) Notes on database operating systems. In: Operating Systems: An advanced course. Lect Notes Comput Sci, Springer, Berlin Heidelberg New York, pp. 393–481
Hadzilacos V (1984) Issues of fault tolerance in concurrent computations. PhD, Thesis, Harvard University
Holt RC (1972) Some deadlock properties in computer systems. ACM Comput Surv 4(3):179–196
Lampson B, Sturgis H (1976) Crash recovery in a distributed data storage system. Comput Sci Lab, Xerox, Palo Alto Research Center, Palo Alto CA
Papadimitriou CH (1979) Serializability of concurrent database updates. J ACM 26(4):631–653
Rosenkrantz DJ, Stearns RE, Lewis M (1978) System level concurrency control for distributed database systems. ACM Trans Database Syst 3(2):178–198
Skeen D (1982) Nonblocking commit protocols. Proc 1982 ACM-SIGMOD Conf Management of Data, pp 133–147
Stearns RE, Lewis PM, II, Rosenkrantz DJ (1976) Concurrency controls for database systems. Proc 17th Annual Symposium on Foundations of Computer Science 1976, pp 19–32
Joseph TA, Birman KP (1986) Low cost management of replicated data in fault-tolerant distributed systems. ACM Trans Comput Syst 4(1):54–70
Author information
Authors and Affiliations
Additional information
Philip A. Bernstein is Professor of Information Technology at the Wang Institute of Graduate Studies. Previously, he was Vice President Software at Sequoia Systems, Associate at Harvard University, and a researcher at Computer Corporation of America, where he was codesigner of four distributed database systems. Professor Bernstein's research focuses on the theory and implementation of database systems and transaction processing systems. He is an Associate Editor of ACM Transactions on Database Systems, and on the editorial board of this journal.
Nathan Goodman is a senior consulting engineer at Encore Computer Corporation. Previously he was with Sequoia Systems, where he developed a transaction processing system for a fault-tolerant multiprocessor computer. Prior to that he was with Computer Corporation of America, where he participated in the design of three distributed systems: SDD-1, the first relational distributed DBMS; Multibase, a system for querying relational and nonrelational distributed databases; and DDM, a distributed DBMS based on ADA. Dr. Goodman was a professor Computer Science at Harvard University and Boston University. He has done research on query optimization, concurrency control, and failure recovery.
Research supported by the National Science Foundation, grant number MCS79-07762, and by the Office of Naval Research, contract number N00014-80-C-674.
Rights and permissions
About this article
Cite this article
Bernstein, P.A., Goodman, N. A proof technique for concurrency control and recovery algorithms for replicated databases. Distrib Comput 2, 32–44 (1987). https://doi.org/10.1007/BF01786253
Issue Date:
DOI: https://doi.org/10.1007/BF01786253