Exploiting Reflection to Enable Scalable and Performance Database Replication at the Middleware Level.

J. Salas, R. Jiménez-Peris, M.Patiño-Martínez, B. Kemme.

Database replication has gained a lot of attention in the last few years since databases are often the bottleneck of modern information systems. Database replication is often implemented at the middleware level. However, there is an important tradeoff in terms of scalability and performance if the database is dealt with as a black box. In this paper, we advocate for a gray box approach in which some minimal functionality of the database is exposed through a reflective interface enabling performant and scalable database replication at the middleware level. Reflection is the adequate paradigm to separate the regular functionality from the replication logic. However, traditional full-fledged reflection is too expensive. For this reason, the paper focuses on the exploration of some lightweight reflective interfaces that can combine the architectonic advantages of reflection with good performance and scalability. The paper also evaluates thoroughly the cost of the different proposed reflective mechanisms and its impact on the performance.
Chapter of the book Software Engineering and Fault Tolerance. P. Pelliccione, H. Muccini, N. Gueli, A. Romanovsky (eds). 2007. ISBN 978-981-270-503-7. World Scientific.