Skip to main content
Log in

A formal analysis of database replication protocols with SI replicas and crash failures

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

This paper provides a formal specification and proof of correctness of a basic Generalized Snapshot Isolation certification-based data replication protocol for database middleware architectures. It has been modeled using a state transition system, as well as the main system components, allowing a perfect match with the usual deployment in a middleware system. The proof encompasses both safety and liveness properties, as it is commonly done for a distributed algorithm. Furthermore, a crash failure model has been assumed for the correctness proof, although recovery analysis is not the aim of this paper. This allows an easy extension toward a crash-recovery model support in future works. The liveness proof focuses in the uniform commit: if a site has committed a transaction, the rest of sites will either commit it or it would have crashed.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Agrawal D, Alonso G, El Abbadi A, Stanoi I (1997) Exploiting atomic broadcast in replicated databases (extended abstract). In: Lengauer C, Griebl M, Gorlatch S (eds) Euro-Par. Lecture notes in computer science, vol 1300. Springer, Berlin, pp 496–503

    Google Scholar 

  2. Amza C, Cox AL, Zwaenepoel W (2003) Distributed versioning: Consistent replication for scaling back-end databases of dynamic content web sites. In: Endler M, Schmidt DC (eds) Middleware. Lecture notes in computer science, vol 2672. Springer, Berlin, pp 282–304

    Google Scholar 

  3. Armendáriz-Iñigo JE, González de Mendívil JR, Muñoz-Escoí FD (2005) A lock-based algorithm for concurrency control and recovery in a middleware replication software architecture. In: HICSS. IEEE Computer Science, Los Alamitos, p 291a

    Google Scholar 

  4. Berenson H, Bernstein PA, Gray J, Melton J, O’Neil EJ, O’Neil PE (1995) A critique of ANSI SQL isolation levels. In: Carey MJ, Schneider DA (eds) SIGMOD conference. ACM Press, New York, pp 1–10

    Google Scholar 

  5. Bernstein PA (1996) Middleware: A model for distributed system services. Commun ACM 39(2):86–98

    Article  Google Scholar 

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

    Google Scholar 

  7. Carey MJ, Livny M (1991) Conflict detection tradeoffs for replicated data. ACM Trans Database Syst 16(4):703–746

    Article  Google Scholar 

  8. Cecchet E, Marguerite J, Zwaenepoel W (2004) C-JDBC: Flexible database clustering middleware. In: USENIX annual technical conference, FREENIX Track, USENIX, pp 9–18

  9. Chockler G, Keidar I, Vitenberg R (2001) Group communication specifications: A comprehensive study. ACM Comput Surv 33(4):427–469

    Article  Google Scholar 

  10. Daudjee K, Salem K (2006) Lazy database replication with snapshot isolation. In: VLDB. Seoul, Korea

  11. Défago X, Schiper A, Urbán P (2004) Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Comput Surv 36(4):372–421. http://doi.acm.org/10.1145/1041680.1041682

    Article  Google Scholar 

  12. Elnikety S, Pedone F, Zwaenopoel W (2005) Database replication using generalized snapshot isolation. In: SRDS. IEEE Computer Society, Los Alamitos

    Google Scholar 

  13. Fekete A, Liarokapis D, O’Neil E, O’Neil P, Shasha D (2005) Making snapshot isolation serializable. ACM Trans Database Syst 30(2):492–528. http://doi.acm.org/10.1145/1071610.1071615

    Article  Google Scholar 

  14. González de Mendívil JR, Armendáriz-Iñigo JE, Muñoz-Escoí FD, Irún-Briz L, Garitagoitia JR, Juárez-Rodríguez JR (2007) Non-blocking ROWA protocols implement GSI using SI replicas. Tech Rep ITI-ITE-07/10, Instituto Tecnológico de Informática. http://www.iti.upv.es/~armendariz/research/pdf/ITI-ITE-07-10.pdf

  15. Gray J, Helland P, O’Neil PE, Shasha D (1996) The dangers of replication and a solution. In: Jagadish HV, Mumick IS (eds) SIGMOD conference. ACM Press, New York, pp 173–182

    Google Scholar 

  16. Hadzilacos V, Toueg S (1994) A modular approach to fault-tolerant broadcasts and related problems. Tech Rep TR94-1425, Dep of Computer Science, Cornell University, Ithaca, New York (USA). http://citeseer.ist.psu.edu/hadzilacos94modular.html

  17. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, New York

    MATH  Google Scholar 

  18. Irún-Briz L, Decker H, de Juan-Marín R, Castro-Company F, Armendáriz-Iñigo JE, Muñoz-Escoí FD (2005) MADIS: A slim middleware for database replication. In: Cunha JC, Medeiros PD (eds) Euro-Par. Lecture notes in computer science, vol 3648. Springer, Berlin, pp 349–359

    Google Scholar 

  19. Juárez-Rodríguez JR, Armendáriz-Iñigo JE, González de Mendívil JR, Muñoz-Escoí FD, Garitagoitia JR (2007) A weak voting database replication protocol providing different isolation levels. In: NOTERE’07

  20. Kemme B (2000) Database replication for clusters of workstations (eth nr 13864). PhD thesis, Swiss Federal Institute of Technology, Zurich, Switzerland

  21. Kemme B, Alonso G (2000) A new approach to developing and implementing eager database replication protocols. ACM Trans Database Syst 25(3):333–379

    Article  Google Scholar 

  22. Kemme B, Pedone F, Alonso G, Schiper A, Wiesmann M (2003) Using optimistic atomic broadcast in transaction processing systems. IEEE Trans Knowl Data Eng 15(4):1018–1032

    Article  Google Scholar 

  23. Lamport L (2002) Specifying Systems: The TLA+ language and tools for hardware and software engineers. Addison Wesley Professional, Reading

    Google Scholar 

  24. Lin Y, Kemme B, Patiño-Martínez M, Jiménez-Peris R (2005) Middleware based data replication providing snapshot isolation. In: SIGMOD conference

  25. Lynch NA, Tuttle MR (1987) Hierarchical correctness proofs for distributed algorithms. In: PODC, pp 137–151

  26. Lynch NA, Tuttle MR (1988) An introduction to input/output automata. Tech Rep MIT/LCS/TM-373, Massachusetts Institute of Technology

  27. Milner R (1980) A calculus of communicating systems. Lecture notes in computer science, vol 92. Springer, Berlin

    MATH  Google Scholar 

  28. Muñoz-Escoí FD, Pla-Civera J, Ruiz-Fuertes MI, Irún-Briz L, Decker H, Armendáriz-Iñigo JE, González de Mendívil JR (2006) Managing transaction conflicts in middleware-based database replication architectures. In: SRDS, pp 401–410

  29. Oracle Corporation (2007) Oracle 11g Release 1. Accessible in http://download.oracle.com/docs/cd/B28359_01/server.111/b28318.pdf

  30. Patiño-Martínez M, Jiménez-Peris R, Kemme B, Alonso G (2005) MIDDLE-R: Consistent database replication at the middleware level. ACM Trans Comput Syst 23(4):375–423

    Article  Google Scholar 

  31. Pedone F (1999) The database state machine and group communication issues (thèse n 2090). PhD thesis, École Polytecnique Fédérale de Lausanne, Lausanne, Switzerland

  32. Pedone F, Guerraoui R, Schiper A (1998) Exploiting atomic broadcast in replicated databases. In: Euro-Par

  33. Plattner C, Alonso G (2004) Ganymed: Scalable replication for transactional web applications. In: Jacobsen HA (ed) Middleware. Lecture notes in computer science, vol 3231. Springer, Berlin, pp 155–174

    Google Scholar 

  34. Plattner C, Alonso G, Tamer-Özsu M (2006) Extending DBMSs with satellite databases. VLDB J

  35. PostgreSQL (2007) The world’s most advance open source database web site. Accessible in http://www.postgresql.org

  36. Rodrigues L, Miranda H, Almeida R, Martins J, Vicente P (2002) The GlobData fault-tolerant replicated distributed object database. In: EurAsia-ICT, pp 426–433

  37. Schmidt R, Pedone F (2007) A formal analysis of the deferred update technique. Tech Rep LABOS-REPORT-2007-002, École Polytechnique Fédérale de Lausanne (EPFL)

  38. Shankar AU (1993) An introduction to assertional reasoning for concurrent systems. ACM Comput Surv 25(3):225–262

    Article  Google Scholar 

  39. Stonebraker M (1979) Concurrency control and consistency of multiple copies of data in distributed ingres. IEEE Trans Softw Eng 5(3):188–194

    Article  Google Scholar 

  40. Sybase, Inc (2003) Replication strategies: Data migration, distribution and synchronization. White paper, 30 p

  41. Wiesmann M, Pedone F, Schiper A, Kemme B, Alonso G (2000) Understanding replication in databases and distributed systems. In: ICDCS, pp 464–474

  42. Wiesmann M, Schiper A (2005) Comparison of database replication techniques based on total order broadcast. IEEE TKDE 17(4):551–566

    Google Scholar 

  43. Wu S, Kemme B (2005) Postgres-R(SI): Combining replica control with concurrency control based on snapshot isolation. In: ICDE. IEEE Computer Society, Los Alamitos, pp 422–433

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José Enrique Armendáriz-Iñigo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

González de Mendívil, J.R., Armendáriz-Iñigo, J.E., Garitagoitia, J.R. et al. A formal analysis of database replication protocols with SI replicas and crash failures. J Supercomput 50, 121–161 (2009). https://doi.org/10.1007/s11227-008-0255-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-008-0255-4

Keywords

Navigation