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.
Similar content being viewed by others
References
Adya, A.: Weak consistency: a generalized theory and optimistic implementations for distributed transactions. Ph.D. thesis, Massachusetts Institute of Technology (1999)
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
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)
Bernstein P.A.: Middleware: a model for distributed system services. Commun. ACM 39(2), 86–98 (1996)
Bernstein P.A., Hadzilacos V., Goodman N.: Concurrency Control and Recovery in Database Systems. Addison Wesley, Reading (1987)
Carey M.J., Livny M.: Conflict detection tradeoffs for replicated data. ACM Trans. Database Syst. 16(4), 703–746 (1991)
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)
Chandra T.D., Toueg S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)
Chockler G., Keidar I., Vitenberg R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. 33(4), 427–469 (2001)
Daudjee, K., Salem, K.: Lazy database replication with snapshot isolation. In: VLDB. Seoul, Korea (2006)
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
Elnikety, S., Dropsho, S., Pedone, F.: Tashkent: Uniting durability with transaction ordering for high-performance scalable database replication. In: ACM Eurosys. Leuven (2006)
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)
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
Goldman K.J., Lynch N.A.: Quorum consensus in nested transaction systems. ACM Trans. Database Syst. 19(4), 537–585 (1994)
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
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)
Hoare C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
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)
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)
Kemme B., Alonso G.: A new approach to developing and implementing eager database replication protocols. ACM Trans. Database Syst. 25(3), 333–379 (2000)
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)
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison Wesley Professional (2002)
Liang, W., Kemme, B.: Online recovery in cluster databases. In: 11th international conference on Extending database technology, pp. 121–132. ACM, New York (2008)
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)
Lynch N.A.: Distributed Systems. Morgan Kaufmann Publishers, Los Altos (1996)
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)
Lynch N.A., Tuttle M.R.: An introduction to input/output automata. CWI-Q. 2(3), 219–246 (1989)
Microsoft SQL Server 2005: SQL Server 2005 row versioning-based transaction isolation. (2008). http://msdn2.microsoft.com/en-us/library/ms345124.aspx
Milner, R.: A Calculus of Communicating Systems. In: Lecture Notes in Computer Science, vol. 2. 171 pp. Springer-Verlag (1980)
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)
Oracle Corporation: Oracle 11g Release 1 (2008). Accessible in URL: http://download.oracle.com/docs/cd/B28359_01/server.111/b28318.pdf
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)
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)
Plattner C., Alonso G., Özsu M.T.: Extending DBMSs with satellite databases. VLDB J. 17(4), 657–682 (2008)
PostgreSQL: The world’s most advance open source database web site (2008). Accessible in URL: http://www.postgresql.org
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)
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)
Shankar A.U.: An introduction to assertional reasoning for concurrent systems. ACM Comput. Surv. 25(3), 225–262 (1993)
Wiesmann M., Schiper A.: Comparison of database replication techniques based on total order broadcast. IEEE TKDE 17(4), 551–566 (2005)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-009-0097-4