GORDA: An Open Architecture for Database Replication

Database replication has been a common feature in database management systems (DBMSs) for a long time. In particular, asynchronous or lazy propagation of updates provides a simple yet efficient way of increasing performance and data availability and is widely available across the DBMS product spectrum. High end systems additionally offer sophisticated conflict resolution and data propagation options as well as, synchronous replication based on distributed locking and two-phase commit protocols. This paper presents GORDA architecture and programming interface (GAPI), that enables different replication strategies to be implemented once and deployed in multiple DBMSs. This is achieved by proposing a reflective interface to transaction processing instead of relying on-client interfaces or ad-hoc server extensions. The proposed approach is thus cost-effective, in enabling reuse of replication protocols or components in multiple DBMSs, as well as potentially efficient, as it allows close coupling with DBMS internals.

[1]  Francisco Moura,et al.  Group-Based Replication of On-Line Transaction Processing Servers , 2005, LADC.

[2]  Ricardo Jiménez-Peris,et al.  Middleware based data replication providing snapshot isolation , 2005, SIGMOD '05.

[3]  Gustavo Alonso,et al.  Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication , 2000, VLDB.

[4]  Nimar S. Arora,et al.  Oracle ® Streams for Near Real Time Asynchronous Replication , 2007 .

[5]  Luís E. T. Rodrigues,et al.  The GlobData Fault-Tolerant Replicated Distributed Object Database , 2002, EurAsia-ICT.

[6]  Dennis Shasha,et al.  The dangers of replication and a solution , 1996, SIGMOD '96.

[7]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

[8]  Rachid Guerraoui,et al.  The Database State Machine Approach , 2003, Distributed and Parallel Databases.

[9]  Gustavo Alonso,et al.  Extending DBMSs with satellite databases , 2008, The VLDB Journal.

[10]  Bettina Kemme,et al.  Postgres-R(SI): combining replica control with concurrency control based on snapshot isolation , 2005, 21st International Conference on Data Engineering (ICDE'05).

[11]  Madhu Tumma Oracle Streams-High Speed Replication and Data Sharing , 2004 .

[12]  Patrick Martin,et al.  Using reflection to introduce self-tuning technology into DBMSs , 2004, Proceedings. International Database Engineering and Applications Symposium, 2004. IDEAS '04..

[13]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[14]  Gustavo Alonso,et al.  Scalable Replication in Database Clusters , 2000, DISC.

[15]  Liviu Iftode,et al.  Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007), 12 - 14 July 2007, Cambridge, MA, USA , 2007, IEEE International Symposium on Network Computing and Applications.

[16]  Ricardo Jiménez-Peris,et al.  Lightweight Reflection for Middleware-based Database Replication , 2006, 2006 25th IEEE Symposium on Reliable Distributed Systems (SRDS'06).

[17]  Fernando Pedone,et al.  Partial replication in the Database State Machine , 2001, Proceedings IEEE International Symposium on Network Computing and Applications. NCA 2001.

[18]  Gregor Kiczales,et al.  Beyond the Black Box: Open Implementation , 1996, IEEE Softw..

[19]  Jennifer Widom,et al.  Database Systems: The Complete Book , 2001 .

[20]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .