Abstract
This chapter illustrates how the concepts and algorithms described earlier in this book can be used to build practical database replication systems. This is achieved first by addressing architectural challenges on how required functionality is provided by generally available software componentes and then how different components can be efficiently integrated. A second set of practical challenges arises from experience on how performance assumptions map to actual environments and real workloads. The result is a generic architecture for replicated database management systems, focusing on the interfaces between key components, and then on how different algorithmic and practical optimization options map to real world gains. This shows how consistent database replication is achievable in the current state of the art.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Amir, Y., Danilov, C., Stanton, J.: A low latency, loss tolerant architecture and protocol for wide area group communication. In: IEEE/IFIP International Conference on Dependable Systems and Networks (2000)
Apache DB Project. Apache Derby version 10.2 (2006), http://db.apache.org/derby/
Babaoglu, O., Davoli, R., Montresor, A.: Group membership and view synchrony in partitionable asynchronous distributed systems: Specifications. Operating Systems Review 31(2) (1997)
Ban, B.: Design and implementation of a reliable group communication toolkit for Java (1998), http://www.cs.cornell.edu/home/bba/Coots.ps.gz
Bartoli, A., Babaoglu, O.: Selecting a “primary partition” in partitionable asynchronous distributed systems. In: IEEE International Symposium on Reliable Distributed Systems (1997)
Bernstein, P., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Distributed Database Systems. Addison-Wesley, Reading (1987)
Birman, K.P., van Renesse, R.: Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, Los Alamitos (1993)
Carvalho, N., Correia Jr., A., Pereira, J., Rodrigues, L., Oliveira, R., Guedes, S.: On the use of a reflective architecture to augment database management systems. Journal of Universal Computer Science 13(8) (2007)
Cecchet, E., Marguerite, J., Zwaenepoel, W.: C-JDBC: Flexible database clustering middleware. In: USENIX Annual Technical Conference (2004)
Continuent. Sequoia v2.10 (2007), http://sequoia.continuent.org
Continuent. Sequoia 4.x (2008), http://sequoia.continuent.org
Correia Jr., A., Pereira, J., Rodrigues, L., Carvalho, N., Vilaça, R., Oliveira, R., Guedes, S.: GORDA: An open architecture for database replication. In: IEEE International Symposium on Network Computing and Applications (2007)
Cowie, J., Liu, H., Liu, J., Nicol, D., Ogielski, A.: Towards realistic million-node Internet simulation. In: International Conference on Parallel and Distributed Processing Techniques and Applications (1999)
Défago, X., Schiper, A., Urbán, P.: Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys 36(4) (2004)
Dolev, D., Malki, D., Strong, R.: A framework for partitionable membership service. In: ACM Symposium on Principles of Distributed Computing (1996)
Garcia-Molina, H., Ullman, J., Widom, J.: Database Systems The Complete Book. Prentice-Hall, Englewood Cliffs (2002)
Guerraoui, R., Kostic, D., Levy, R., Quema, V.: A high throughput atomic storage algorithm. In: IEEE International Conference on Distributed Computing Systems (2007)
Hayden, M.: The Ensemble System. PhD thesis, Cornell University, Computer Science Department (1998)
Correia Jr, A., Pereira, J., Oliveira, R.: AKARA: A flexible clustering protocol for demanding transactional workloads. In: International Symposium on Distributed Objects and Applications (2008)
Correia Jr., A., Sousa, A., Soares, L., Pereira, J., Moura, F., Oliveira, R.: Group-based replication of on-line transaction processing servers. In: Maziero, C.A., Gabriel Silva, J., Andrade, A.M.S., de Assis Silva, F.M. (eds.) LADC 2005. LNCS, vol. 3747, pp. 245–260. Springer, Heidelberg (2005)
Kaashoek, M., Tanenbaum, A.: Group communication in the Amoeba distributed operating system. In: IEEE International Conference on Distributed Computing Systems (1991)
Keidar, I., Dolev, D.: Totally ordered broadcast in the face of network partitions. In: Dependable Network Computing, Kluwer Academic Publishers, Dordrecht (2000)
Kemme, B., Alonso, G.: Don’t be lazy, be consistent: Postgres-R, a new way to implement database replication. In: VLDB Conference (2000)
Kiczales, G.: Towards a new model of abstraction in software engineering. In: IMSA Workshop on Reflection and Meta-level Architectures (1992)
Lin, Y., Kemme, B., Jiménez Peris, R., Patiño Martínez, M.: Middleware based data replication providing snapshot isolation. In: ACM SIGMOD (2005)
Maes, P.: Concepts and experiments in computational reflection. In: ACM International Conference on Object-Oriented Programming, Systems, Languages, and Applications (1987)
Miranda, H., Pinto, A., Rodrigues, L.: Appia: a flexible protocol kernel supporting multiple coordinated channels. In: IEEE International Conference on Distributed Computing Systems (2001)
Mocito, J., Respicio, A., Rodrigues, L.: On statistically estimated optimistic delivery in large-scale total order protocols. In: IEEE International Symposium on Pacific Rim Dependable Computing (2006)
Oliveira, R., Pereira, J., Correia Jr, A., Archibald, E.: Revisiting 1-copy equivalence in clustered databases. In: ACM Symposium on Applied Computing (2006)
Pedone, F., Guerraoui, R., Schiper, A.: The database state machine approach. Journal of Distributed and Parallel Databases and Technology (2002)
Pedone, F., Schiper, A.: Optimistic atomic broadcast. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 318–332. Springer, Heidelberg (1998)
Pedone, F., Schiper, A.: Handling message semantics with generic broadcast protocols. Distributed Computing 15(2) (2002)
Pereira, J., Rodrigues, L., Monteiro, M.J., Oliveira, R., Kermarrec, A.-M.: NeEM: Network-friendly epidemic multicast. In: IEEE International Symposium on Reliable Distributed Systems (2003)
Pereira, J., Rodrigues, L., Oliveira, R.: Semantically reliable multicast: Definition, implementation and performance evaluation. IEEE Transactions on Computers, Special Issue on Reliable Distributed Systems 52(2) (2003)
Patiño-Martínez, M., Jiménez-Peris, R., Kemme, B., Alonso, G.: Scalable replication in database clusters. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, p. 315. Springer, Heidelberg (2000)
Jiménez Peris, R., Patiño Martínez, M., Kemme, B., Alonso, G.: Improving the scalability of fault-tolerant database clusters. In: IEEE International Conference on Distributed Computing Systems (2002)
Pettersson, M.: Linux performance counters, http://user.it.uu.se/~mikpe/linux/perfctr/
PostgreSQL Global Development Group. Postgresql version 8.1 (2006), http://www.postgresql.org/
Rodrigues, L., Fonseca, H., Veríssimo, P.: Totally ordered multicast in large-scale systems. In: IEEE International Conference on Distributed Computing Systems (1996)
Rodrigues, L., Mocito, J., Carvalho, N.: From spontaneous total order to uniform total order: different degrees of optimistic delivery. In: ACM Symposium on Applied Computing (2006)
Salas, J., Jimenez-Peris, R., Patino-Martinez, M., Kemme, B.: Lightweight reflection for middleware-based database replication. In: IEEE International Symposium on Reliable Distributed Systems (2006)
Sousa, A., Pereira, J., Moura, F., Oliveira, R.: Optimistic total order in wide area networks. In: IEEE International Symposium on Reliable Distributed Systems (2002)
Sousa, A., Pereira, J., Soares, L., Correia Jr., A., Rocha, L., Oliveira, R., Moura, F.: Testing the dependability and performance of GCS-based database replication protocols. In: IEEE/IFIP International Conference on Dependable Systems and Networks (2005)
Sussman, J., Keidar, I., Marzullo, K.: Optimistic virtual synchrony. In: Symposium on Reliability in Distributed Software (2000)
Transaction Processing Performance Council (TPC). TPC benchmark C Standard Specification Revision 5.0 (2001)
Vicente, P., Rodrigues, L.: An indulgent uniform total order algorithm with optimistic delivery. In: IEEE International Symposium on Reliable Distributed Systems (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Correia, A., Pereira, J., Rodrigues, L., Carvalho, N., Oliveira, R. (2010). Practical Database Replication. In: Charron-Bost, B., Pedone, F., Schiper, A. (eds) Replication. Lecture Notes in Computer Science, vol 5959. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11294-2_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-11294-2_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11293-5
Online ISBN: 978-3-642-11294-2
eBook Packages: Computer ScienceComputer Science (R0)