Postgres-R(SI): Combining Replica Control with Concurrency
Control based on Snapshot Isolation
S. Wu B. Kemme
Abstract:
Replicating data over a cluster of workstations is a powerful tool to
increase performance, and provide fault-tolerance for demanding
database applications. The big challenge in such systems is to combine
replica control (keeping the copies consistent) with concurrency
control. Most of the research so far has focused on providing the
traditional correctness criteria serializability. However, more and
more database systems, e.g., Oracle and PostgreSQL, use multi-version
concurrency control providing the isolation level snapshot
isolation. In this paper, we present Postgres-R(SI), an extension of
PostgreSQL offering transparent replication. Our replication tool is
designed to work smoothly with PostgreSQL's concurrency control
providing snapshot isolation for the entire replicated system. We
present a detailed description of the replica control algorithm, and
how it is combined with PostgreSQL's concurrency control
component. Furthermore, we discuss some challenges we encountered when
implementing the protocol. Our performance analysis based on the TPC-W
benchmark shows that this approach exhibits excellent performance for
real-life applications even if they are update intensive.
Proc. of the IEEE Int.
Conference on Data Engineering, Tokyo, Japan, 2005
icde05.pdf