Skip to main content
Log in

A proof technique for concurrency control and recovery algorithms for replicated databases

  • Published:
Distributed Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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)

  2. Bernstein PA, Goodman N (1981) Concurrency control in distributed database systems. Computing Surveys 13(2):185–221

    Google Scholar 

  3. Bernstein PA, Goodman N (1984) An algorithm for concurrency control and recovery in replicated distributed databases. ACM Trans Database Syst 9(4):596–615

    Google Scholar 

  4. Bernstein PA, Goodman N (1986) Serializability theory of replicated databases. J Comput Syst Sci

  5. Bernstein PA, Hadzilacos V, Goodman N (1987) Concurrency control and recovery in database systems. Addison-Wesley Publishing

  6. Bernstein PA, Shipman DW, Wong WS (1979) Formal aspects of serializability in database concurrency control. IEEE Trans Software Eng 5(3):203–216

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Eager DL, Sevcik KC (1983) Achieving robustness in distributed database systems. ACM Trans Database Syst 8(3):354–381

    Google Scholar 

  9. 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

  10. 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

    Google Scholar 

  11. Gifford DK (1979) Weighted voting for replicated data. Proc 7th ACM SIGOPS Symposium on Operating Systems, Pacific Grove, CA (December 1979), pp. 150–159

  12. 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

  13. 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

    Google Scholar 

  14. Hadzilacos V (1984) Issues of fault tolerance in concurrent computations. PhD, Thesis, Harvard University

  15. Holt RC (1972) Some deadlock properties in computer systems. ACM Comput Surv 4(3):179–196

    Google Scholar 

  16. Lampson B, Sturgis H (1976) Crash recovery in a distributed data storage system. Comput Sci Lab, Xerox, Palo Alto Research Center, Palo Alto CA

    Google Scholar 

  17. Papadimitriou CH (1979) Serializability of concurrent database updates. J ACM 26(4):631–653

    Google Scholar 

  18. Rosenkrantz DJ, Stearns RE, Lewis M (1978) System level concurrency control for distributed database systems. ACM Trans Database Syst 3(2):178–198

    Google Scholar 

  19. Skeen D (1982) Nonblocking commit protocols. Proc 1982 ACM-SIGMOD Conf Management of Data, pp 133–147

  20. 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

  21. Joseph TA, Birman KP (1986) Low cost management of replicated data in fault-tolerant distributed systems. ACM Trans Comput Syst 4(1):54–70

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

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

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01786253

Keywords

Navigation