Lightweight Reflection for Middleware-based Database Replication
J. Salas, R. Jiménez-Peris, M.
Patiño-Martínez, B. Kemme
Middleware-based database replication approaches have emerged in the
last few years as an alternative to traditional database replication
implemented within the database kernel. A middleware approach enables
third party vendors to provide high availability solutions, a growing
practice nowadays in the software industry. However, middleware
solutions often lack scalability and exhibit a number of consistency
and performance issues. The reason is that in most cases the middleware
has to handle the database as a black box, and hence, cannot take
advantage of the many optimizations implemented in the database kernel.
Thus, middleware solutions often reimplement key functionality but
cannot achieve the same efficiency as a kernel implementation.
Reflection has been proposed during the last decade as a fruitful
paradigm to separate non-functional aspects from functional ones,
simplifying software development and maintenance whilst fostering
reuse. However, fully reflective databases are not feasible due to the
high cost of reflection. Our claim is that by exposing some minimal
database functionality through a lightweight reflective interface,
efficient and scalable middleware database replication can be attained.
In this paper we explore a wide variety of such lightweight reflective
interfaces and discuss what kind of replication algorithms they enable.
We also discuss implementation alternatives for some of these
interfaces and evaluate their performance.
Int. Symp. on Reliable Distributed Systems (SRDS), Leeds, England, Oct.
Click to for the pdf version.