Abstract
Data grids, large scale web applications generating dynamic content and database service providing pose significant scalability challenges to database engines. Replication is the most common solution but it involves difficult trade-offs. The most difficult one is the choice between scalability and consistency. Commercial systems give up consistency. Research solutions typically either offer a compromise (limited scalability in exchange for consistency) or impose limitations on the data schema and the workload. In this paper we introduce Ganymed, a database replication middleware intended to provide scalability without sacrificing consistency and avoiding the limitations of existing approaches. The main idea is to use a novel transaction scheduling algorithm that separates update and read-only transactions. Transactions can be submitted to Ganymed through a special JDBC driver. Ganymed then routes updates to a main server and queries to a potentially unlimited number of read-only copies. The system guarantees that all transactions see a consistent data state (snapshot isolation). In the paper we describe the scheduling algorithm, the architecture of Ganymed, and present an extensive performance evaluation that proves the potential of the system.
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
Gray, J., Helland, P., O’Neil, P., Shasha, D.: The Dangers of Replication and a Solution. In: Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, June 1996, pp. 173–182 (1996)
Altinel, M., Bornhövd, C., Krishnamurthy, S., Mohan, C., Pirahesh, H., Reinwald, B.: Cache Tables: Paving the Way for an Adaptive Database Cache. In: Proceedings of the 29th International Conference on Very Large Data Bases, Berlin, Germany, September 9-12 (2003)
Amiri, K., Park, S., Tewari, R., Padmanabhan, S.: DBProxy: A Dynamic Data Cache for Web Applications. In: Proceedings of the 19th International Conference on Data Engineering, Bangalore, India, March 5-8 (2003)
Larson, P.-Å., Goldstein, J., Zhou, J.: Transparent Mid-tier Database Caching in SQL Server. In: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, pp. 661–661. ACM Press, New York (2003)
Amza, C., Cox, A.L., Zwaenepoel, W.: Distributed Versioning: Consistent Replication for Scaling Back-End Databases of Dynamic Content Web Sites. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, Springer, Heidelberg (2003)
Amza, C., Cox, A.L., Zwaenepoel, W.: Conflict-Aware Scheduling for Dynamic Content Applications. In: Proceedings of the 4th USENIX Symposium on Internet Technologies and Systems (USITS) (March 2003)
Jiménez-Peris, R., Patiño-Martínez, M., Kemme, B., Alonso, G.: Improving the Scalability of Fault-Tolerant Database Clusters. In: IEEE 22nd Int. Conf. on Distributed Computing Systems, ICDCS 2002, Vienna, Austria, July 2002, pp. 477–484 (2002)
Cecchet, E.: C-JDBC: a Middleware Framework for Database Clustering. IEEE Data Engineering Bulletin 27(2) (June 2004)
Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A Critique of ANSI SQL Isolation Levels. In: Proceedings of the SIGMOD International Conference on Management of Data, May 1995, pp. 1–10 (1995)
Schenkel, R., Weikum, G.: Integrating Snapshot Isolation into Transactional Federation. In: Etzion, O., Scheuermann, P. (eds.) CoopIS 2000. LNCS, vol. 1901, pp. 90–101. Springer, Heidelberg (2000)
Elnikety, S., Pedone, F., Zwaenepoel, W.: Generalized Snapshot Isolation and a Prefix-Consistent Implementation. EPFL Technical Report IC/2004/21 (March 2004), http://ic.epfl.ch/
Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)
Weikum, G., Vossen, G.: Transactional Information Systems. Morgan Kaufmann Publishers, San Francisco (2002)
Jiménez-Peris, R., Patiño-Martínez, M., Alonso, G., Kemme, B.: Are Quorums an Alternative for Data Replication? ACM Transactions on Database Systems (2003)
Kemme, B., Alonso, G.: Don’t be lazy, be consistent: Postgres-R, a new way to implement Database Replication. In: Proceedings of the 26th International Conference on Very Large Databases
Kemme, B.: Implementing Database Replication based on Group Communication. In: Proc. of the International Workshop on Future Directions in Distributed Computing (FuDiCo 2002), Bertinoro, Italy (June 2002)
Concurrency Control, Transaction Isolation and Serializability in SQL92 and Oracle7. Oracle White Paper (July 1995)
PostgreSQL Global Development Group. PostgreSQL: The most advanced Open Source Database System in the World., http://www.postgresql.org
Fekete, A., Liarokapis, D., O’Neil, E., O’Neil, P., Sasha, D.: Making Snapshot Isolation Serializable, http://www.cs.umb.edu/~isotest/snaptest/snaptest.pdf
Fekete, A.D.: Serialisability and Snapshot Isolation. In: Proceedings of the Australian Database Conference, January 1999, pp. 210–210 (1999)
Röhm, U., Böhm, K., Schek, H.-J., Schuldt, H.: FAS - A Freshness-Sensitive Coordination Middleware for a Cluster of OLAP Components. In: Proceedings of the 28th International Conference on Very Large Data Bases (VLDB 2002), Hong Kong, China, August 2002, pp. 754–765 (2002)
Oracle Streams Concepts and Administration, Oracle Database Advanced Replication, 10g Release 1 (10.1). Oracle Database Documentation Library (2003)
The Transaction Processing Performance Council. TPC-W, a Transactional Web E-Commerce Benchmark, http://www.tpc.org/tpcw/
Lipasti, M.H.: Java TPC-W Implementation Distribution of Prof. Lipasti’s Fall, ECE 902 Course (1999), http://www.ece.wisc.edu/~pharm/
Amir, Y., Tutu, C.: From Total Order to Database Replication. Technical report, CNDS (2002)
Amir, Y., Moser, L.E., Melliar-Smith, P.M., Agarwal, D.A., Ciarfella, P.: The Totem Single-Ring Ordering and Membership Protocol. ACM Transactions on Computer Systems 13(4), 311–342 (1995)
Milan-Franco, J.M., Jiménez-Peris, R., Patiño-Martínez, M., Kemme, B.: Adaptive Distributed Middleware for Data Replication. In: Jacobsen, H.-A. (ed.) Middleware 2004. LNCS, vol. 3231, pp. 175–194. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 IFIP International Federation for Information Processing
About this paper
Cite this paper
Plattner, C., Alonso, G. (2004). Ganymed: Scalable Replication for Transactional Web Applications. In: Jacobsen, HA. (eds) Middleware 2004. Middleware 2004. Lecture Notes in Computer Science, vol 3231. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30229-2_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-30229-2_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23428-9
Online ISBN: 978-3-540-30229-2
eBook Packages: Springer Book Archive