The Journal of Supercomputing

, 50:121 | Cite as

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

  • José Ramón González de Mendívil
  • José Enrique Armendáriz-IñigoEmail author
  • José Ramón Garitagoitia
  • Francesc D. Muñoz-Escoí


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.


Database replication Crash failure Formal proofs I/O automaton model Snapshot isolation Replication protocols 


  1. 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. 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. 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. 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. 5.
    Bernstein PA (1996) Middleware: A model for distributed system services. Commun ACM 39(2):86–98 CrossRefGoogle Scholar
  6. 6.
    Bernstein PA, Hadzilacos V, Goodman N (1987) Concurrency control and recovery in database systems. Addison Wesley, Reading Google Scholar
  7. 7.
    Carey MJ, Livny M (1991) Conflict detection tradeoffs for replicated data. ACM Trans Database Syst 16(4):703–746 CrossRefGoogle Scholar
  8. 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 Google Scholar
  9. 9.
    Chockler G, Keidar I, Vitenberg R (2001) Group communication specifications: A comprehensive study. ACM Comput Surv 33(4):427–469 CrossRefGoogle Scholar
  10. 10.
    Daudjee K, Salem K (2006) Lazy database replication with snapshot isolation. In: VLDB. Seoul, Korea Google Scholar
  11. 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. CrossRefGoogle Scholar
  12. 12.
    Elnikety S, Pedone F, Zwaenopoel W (2005) Database replication using generalized snapshot isolation. In: SRDS. IEEE Computer Society, Los Alamitos Google Scholar
  13. 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. CrossRefGoogle Scholar
  14. 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.
  15. 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. 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).
  17. 17.
    Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, New York zbMATHGoogle Scholar
  18. 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. 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 Google Scholar
  20. 20.
    Kemme B (2000) Database replication for clusters of workstations (eth nr 13864). PhD thesis, Swiss Federal Institute of Technology, Zurich, Switzerland Google Scholar
  21. 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 CrossRefGoogle Scholar
  22. 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 CrossRefGoogle Scholar
  23. 23.
    Lamport L (2002) Specifying Systems: The TLA+ language and tools for hardware and software engineers. Addison Wesley Professional, Reading Google Scholar
  24. 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 Google Scholar
  25. 25.
    Lynch NA, Tuttle MR (1987) Hierarchical correctness proofs for distributed algorithms. In: PODC, pp 137–151 Google Scholar
  26. 26.
    Lynch NA, Tuttle MR (1988) An introduction to input/output automata. Tech Rep MIT/LCS/TM-373, Massachusetts Institute of Technology Google Scholar
  27. 27.
    Milner R (1980) A calculus of communicating systems. Lecture notes in computer science, vol 92. Springer, Berlin zbMATHGoogle Scholar
  28. 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 Google Scholar
  29. 29.
    Oracle Corporation (2007) Oracle 11g Release 1. Accessible in
  30. 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 CrossRefGoogle Scholar
  31. 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 Google Scholar
  32. 32.
    Pedone F, Guerraoui R, Schiper A (1998) Exploiting atomic broadcast in replicated databases. In: Euro-Par Google Scholar
  33. 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. 34.
    Plattner C, Alonso G, Tamer-Özsu M (2006) Extending DBMSs with satellite databases. VLDB J Google Scholar
  35. 35.
    PostgreSQL (2007) The world’s most advance open source database web site. Accessible in
  36. 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 Google Scholar
  37. 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) Google Scholar
  38. 38.
    Shankar AU (1993) An introduction to assertional reasoning for concurrent systems. ACM Comput Surv 25(3):225–262 CrossRefGoogle Scholar
  39. 39.
    Stonebraker M (1979) Concurrency control and consistency of multiple copies of data in distributed ingres. IEEE Trans Softw Eng 5(3):188–194 CrossRefGoogle Scholar
  40. 40.
    Sybase, Inc (2003) Replication strategies: Data migration, distribution and synchronization. White paper, 30 p Google Scholar
  41. 41.
    Wiesmann M, Pedone F, Schiper A, Kemme B, Alonso G (2000) Understanding replication in databases and distributed systems. In: ICDCS, pp 464–474 Google Scholar
  42. 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. 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

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  • José Ramón González de Mendívil
    • 1
  • José Enrique Armendáriz-Iñigo
    • 1
    Email author
  • José Ramón Garitagoitia
    • 1
  • Francesc D. Muñoz-Escoí
    • 2
  1. 1.Departamento de Ingeniería Matemática e InformáticaUniversidad Pública de NavarraPamplonaSpain
  2. 2.Instituto Tecnológico de InformáticaUniversidad Politécnica de ValenciaValenciaSpain

Personalised recommendations