Skip to main content
Log in

Correctness proof of a database replication protocol under the perspective of the I/O automaton model

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

Correctness of recent database replication protocols has been justified in a rather informal way focusing only in safety properties and without using any rigorous formalism. Since a database replication protocol must ensure some degree of replica consistency and that transactions follow a given isolation level, previous proofs only focused in these two issues. This paper proposes a formalization using the I/O automaton model, identifying several components in the distributed system that are involved in the replication support (replication protocol, group communication system, database replicas) and specifying clearly their actions in the global replicated system architecture. Then, a general certification-based replication protocol guaranteeing the snapshot isolation level is proven correct. To this end, different safety and liveness properties are identified, checked and proved. Our work shows that some details of the replication protocols that were ignored in previous correctness justifications are indeed needed in order to guarantee our proposed correctness criteria.

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. Adya, A.: Weak consistency: a generalized theory and optimistic implementations for distributed transactions. Ph.D. thesis, Massachusetts Institute of Technology (1999)

  2. Armendáriz-Iñigo, J.E., Juárez-Rodríguez, J.R., González de Mendívil, J.R.: Correctness criteria for replicated database systems with snapshot isolation replicas. Tech. Rep. ITI-ITE-08/03, Instituto Tecnológico de Informática (2008). http://www.iti.upv.es/~armendariz/research/pdf/ITI-ITE-08-03.pdf

  3. Berenson, H., Bernstein, P.A., Gray, J., Melton, J., O’Neil, E.J., O’Neil, P.E.: A critique of ANSI SQL isolation levels. In: Carey, M.J., Schneider, D.A. (eds.) SIGMOD Conference, pp. 1–10. ACM Press, New York (1995)

  4. Bernstein P.A.: Middleware: a model for distributed system services. Commun. ACM 39(2), 86–98 (1996)

    Article  Google Scholar 

  5. Bernstein P.A., Hadzilacos V., Goodman N.: Concurrency Control and Recovery in Database Systems. Addison Wesley, Reading (1987)

    Google Scholar 

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

    Article  Google Scholar 

  7. Carvalho N., Correia A. Jr, Pereira J., Rodrigues L., Oliveira R.C., Guedes S.: On the use of a reflective architecture to augment database management systems. J. Univers. Comput. Sci. 13(8), 1110–1135 (2007)

    Google Scholar 

  8. Chandra T.D., Toueg S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

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

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

    Google Scholar 

  12. Elnikety, S., Dropsho, S., Pedone, F.: Tashkent: Uniting durability with transaction ordering for high-performance scalable database replication. In: ACM Eurosys. Leuven (2006)

  13. Elnikety, S., Pedone, F., Zwaenopoel, W.: Database replication using generalized snapshot isolation. In: The 24th IEEE Symposium on Reliable Distributed Systems (SRDS’05). IEEE Computer Society, Los Alamitos (2005)

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

    Google Scholar 

  15. Goldman K.J., Lynch N.A.: Quorum consensus in nested transaction systems. ACM Trans. Database Syst. 19(4), 537–585 (1994)

    Article  Google Scholar 

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

  17. Gray, J., Helland, P., O’Neil, P.E., Shasha, D.: The dangers of replication and a solution. In: Jagadish, H.V., Mumick, I.S. (eds.) SIGMOD Conference, pp. 173–182. ACM Press (1996)

  18. Hoare C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  19. Holliday J., Steinke R.C., Agrawal D., Abbadi A.E.: Epidemic algorithms for replicated databases. IEEE Trans. Knowl. Data Eng. 15(5), 1218–1238 (2003)

    Article  Google Scholar 

  20. Kemme, B., Alonso, G.: Don’t be lazy, be consistent: postgres-R, a new way to implement database replication. In: Abbadi, A.E., Brodie, M.L., Chakravarthy, S., Dayal, U., Kamel, N., Schlageter, G., Whang, K.Y. (eds.) VLDB, pp. 134–143. Morgan Kaufmann, Los Altos (2000)

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

    Article  Google Scholar 

  22. Kemme, B., Bartoli, A., Babaoglu, Ö.: Online reconfiguration in replicated databases based on group communication. In: DSN, pp. 117–130. IEEE-CS Press, Los Alamitos (2001)

  23. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison Wesley Professional (2002)

  24. Liang, W., Kemme, B.: Online recovery in cluster databases. In: 11th international conference on Extending database technology, pp. 121–132. ACM, New York (2008)

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

  26. Lynch N.A.: Distributed Systems. Morgan Kaufmann Publishers, Los Altos (1996)

    Google Scholar 

  27. Lynch, N.A., Merritt, M., Weihl, W.E., Fekete, A.: A theory of atomic transactions. In: 2nd Intnl. Conf. on Database Theory (ICDT), LNCS 326, pp. 41–71. Springer, Bruges (1988)

  28. Lynch N.A., Tuttle M.R.: An introduction to input/output automata. CWI-Q. 2(3), 219–246 (1989)

    MATH  MathSciNet  Google Scholar 

  29. Microsoft SQL Server 2005: SQL Server 2005 row versioning-based transaction isolation. (2008). http://msdn2.microsoft.com/en-us/library/ms345124.aspx

  30. Milner, R.: A Calculus of Communicating Systems. In: Lecture Notes in Computer Science, vol. 2. 171 pp. Springer-Verlag (1980)

  31. Muñoz-Escoí, F.D., Pla-Civera, J., Ruiz-Fuertes, M.I., Irún-Briz, L., Decker, H., Armendáriz-Iñigo, J.E., de Mendívil, J.R.G.: Managing transaction conflicts in middleware-based database replication architectures. In: SRDS, pp. 401–410. IEEE Computer Society (2006)

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

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

    Article  Google Scholar 

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

  35. Plattner C., Alonso G., Özsu M.T.: Extending DBMSs with satellite databases. VLDB J. 17(4), 657–682 (2008)

    Article  Google Scholar 

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

  37. Ruiz-Fuertes, M.I., Pla-Civera, J., Armendáriz-Iñigo, J.E., de Mendívil, J.R.G., Muñoz-Escoí, F.D.: Revisiting certification-based replicated database recovery. In: Meersman, R., Tari, Z. (eds.) OTM Conferences (1). Lecture Notes in Computer Science, vol. 4803, pp. 489–504. Springer (2007)

  38. Salas, J., Jiménez-Peris, R., Patiño-Martínez, M., Kemme, B.: Lightweight reflection for middleware-based database replication. In: SRDS, pp. 377–390. IEEE Computer Society (2006)

  39. Shankar A.U.: An introduction to assertional reasoning for concurrent systems. ACM Comput. Surv. 25(3), 225–262 (1993)

    Article  Google Scholar 

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

    Google Scholar 

  41. Wiesmann, M., Schiper, A., Pedone, F., Kemme, B., Alonso, G.: Database replication techniques: a three parameter classification. In: Proc. of the 19th IEEE Symposium on Reliable Distributed Systems (SRDS’00), pp. 206–217 (2000)

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

  43. Zuikeviciute, V., Pedone, F.: Conflict aware load balancing techniques for database replication. In: 23rd ACM Symposium on Applied Computing (SAC 2008), pp. 2169–2173. ACM Press, New York (2008)

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

Armendáriz-Iñigo, J.E., González de Mendívil, J.R., Garitagoitia, J.R. et al. Correctness proof of a database replication protocol under the perspective of the I/O automaton model. Acta Informatica 46, 297–330 (2009). https://doi.org/10.1007/s00236-009-0097-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-009-0097-4

Keywords

Navigation