Advertisement

Replication pp 253-285 | Cite as

Practical Database Replication

  • Alfrânio CorreiaJr.
  • José Pereira
  • Luís Rodrigues
  • Nuno Carvalho
  • Rui Oliveira
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5959)

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.

Keywords

Group Communication Total Order IEEE International Symposium Optimistic Delivery Optimistic Execution 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    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)Google Scholar
  3. 3.
    Apache DB Project. Apache Derby version 10.2 (2006), http://db.apache.org/derby/
  4. 4.
    Babaoglu, O., Davoli, R., Montresor, A.: Group membership and view synchrony in partitionable asynchronous distributed systems: Specifications. Operating Systems Review 31(2) (1997)Google Scholar
  5. 5.
    Ban, B.: Design and implementation of a reliable group communication toolkit for Java (1998), http://www.cs.cornell.edu/home/bba/Coots.ps.gz
  6. 6.
    Bartoli, A., Babaoglu, O.: Selecting a “primary partition” in partitionable asynchronous distributed systems. In: IEEE International Symposium on Reliable Distributed Systems (1997)Google Scholar
  7. 7.
    Bernstein, P., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Distributed Database Systems. Addison-Wesley, Reading (1987)Google Scholar
  8. 8.
    Birman, K.P., van Renesse, R.: Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    Cecchet, E., Marguerite, J., Zwaenepoel, W.: C-JDBC: Flexible database clustering middleware. In: USENIX Annual Technical Conference (2004)Google Scholar
  11. 11.
    Continuent. Sequoia v2.10 (2007), http://sequoia.continuent.org
  12. 12.
    Continuent. Sequoia 4.x (2008), http://sequoia.continuent.org
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Défago, X., Schiper, A., Urbán, P.: Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys 36(4) (2004)Google Scholar
  16. 16.
    Dolev, D., Malki, D., Strong, R.: A framework for partitionable membership service. In: ACM Symposium on Principles of Distributed Computing (1996)Google Scholar
  17. 17.
    Garcia-Molina, H., Ullman, J., Widom, J.: Database Systems The Complete Book. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  18. 18.
    Guerraoui, R., Kostic, D., Levy, R., Quema, V.: A high throughput atomic storage algorithm. In: IEEE International Conference on Distributed Computing Systems (2007)Google Scholar
  19. 19.
    Hayden, M.: The Ensemble System. PhD thesis, Cornell University, Computer Science Department (1998)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    Kaashoek, M., Tanenbaum, A.: Group communication in the Amoeba distributed operating system. In: IEEE International Conference on Distributed Computing Systems (1991)Google Scholar
  23. 23.
    Keidar, I., Dolev, D.: Totally ordered broadcast in the face of network partitions. In: Dependable Network Computing, Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  24. 24.
    Kemme, B., Alonso, G.: Don’t be lazy, be consistent: Postgres-R, a new way to implement database replication. In: VLDB Conference (2000)Google Scholar
  25. 25.
    Kiczales, G.: Towards a new model of abstraction in software engineering. In: IMSA Workshop on Reflection and Meta-level Architectures (1992)Google Scholar
  26. 26.
    Lin, Y., Kemme, B., Jiménez Peris, R., Patiño Martínez, M.: Middleware based data replication providing snapshot isolation. In: ACM SIGMOD (2005)Google Scholar
  27. 27.
    Maes, P.: Concepts and experiments in computational reflection. In: ACM International Conference on Object-Oriented Programming, Systems, Languages, and Applications (1987)Google Scholar
  28. 28.
    Miranda, H., Pinto, A., Rodrigues, L.: Appia: a flexible protocol kernel supporting multiple coordinated channels. In: IEEE International Conference on Distributed Computing Systems (2001)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    Oliveira, R., Pereira, J., Correia Jr, A., Archibald, E.: Revisiting 1-copy equivalence in clustered databases. In: ACM Symposium on Applied Computing (2006)Google Scholar
  31. 31.
    Pedone, F., Guerraoui, R., Schiper, A.: The database state machine approach. Journal of Distributed and Parallel Databases and Technology (2002)Google Scholar
  32. 32.
    Pedone, F., Schiper, A.: Optimistic atomic broadcast. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 318–332. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  33. 33.
    Pedone, F., Schiper, A.: Handling message semantics with generic broadcast protocols. Distributed Computing 15(2) (2002)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    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)CrossRefGoogle Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    Pettersson, M.: Linux performance counters, http://user.it.uu.se/~mikpe/linux/perfctr/
  39. 39.
    PostgreSQL Global Development Group. Postgresql version 8.1 (2006), http://www.postgresql.org/
  40. 40.
    Rodrigues, L., Fonseca, H., Veríssimo, P.: Totally ordered multicast in large-scale systems. In: IEEE International Conference on Distributed Computing Systems (1996)Google Scholar
  41. 41.
    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)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    Sousa, A., Pereira, J., Moura, F., Oliveira, R.: Optimistic total order in wide area networks. In: IEEE International Symposium on Reliable Distributed Systems (2002)Google Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    Sussman, J., Keidar, I., Marzullo, K.: Optimistic virtual synchrony. In: Symposium on Reliability in Distributed Software (2000)Google Scholar
  46. 46.
    Transaction Processing Performance Council (TPC). TPC benchmark C Standard Specification Revision 5.0 (2001)Google Scholar
  47. 47.
    Vicente, P., Rodrigues, L.: An indulgent uniform total order algorithm with optimistic delivery. In: IEEE International Symposium on Reliable Distributed Systems (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Alfrânio CorreiaJr.
    • 1
  • José Pereira
    • 1
  • Luís Rodrigues
    • 2
  • Nuno Carvalho
    • 2
  • Rui Oliveira
    • 1
  1. 1.Universidade do MinhoPortugal
  2. 2.Instituto Superior Técnico/INESC-IDPortugal

Personalised recommendations