Middleware based Data Replication providing Snapshot Isolation
Y. Lin, B. Kemme, M. Patiño-Martínez, R.
Many cluster based replication solutions have been proposed providing
scalability and fault-tolerance. Many of these solutions perform
replica control in a middleware on top of the database replicas. In
such a setting concurrency control is a challenge and is often
performed on a table basis. Additionally, some systems put severe
requirements on transaction programs (e.g., to declare all objects to
be accessed in advance). This paper addresses these issues and presents
a middleware-based replication scheme which provides the popular
snapshot isolation level at the same tuplelevel granularity as database
systems like PostgreSQL and Oracle, without any need to declare
transaction properties in advance. Both read-only and update
transactions can be executed at any replica while providing data
consistency at all times. Our approach provides what we call
"1-copysnapshot- isolation" as long as the underlying database replicas
provide snapshot isolation. We have implemented our approach as a
replicated middleware on top of PostgreSQL replicas. By providing a
standard JDBC interface, the middleware is completely transparent to
the client program. Fault-tolerance is provided by automatically
reconnecting clients in case of crashes. Our middleware shows good
performance in terms of response times and scalability.
ACM Int. Conf. on Management of Data
Baltimore, Maryland, June 2005.
Click to get pdf version.