Database replication is widely used for fault-tolerance scalability and performance. The
failure of one database replica does not stop the system from working as available replicas can
take over the tasks of the failed replica. Scalability can be achieved by distributing the load
across all replicas and adding new replicas should the load increase. Finally database
replication can provide fast local access even if clients are geographically distributed
clients if data copies are located close to clients. Despite its advantages replication is
not a straightforward technique to apply and there are many hurdles to overcome. At the
forefront is replica control: assuring that data copies remain consistent when updates occur.
There exist many alternatives in regard to where updates can occur and when changes are
propagated to data copies how changes are applied where the replication tool is located etc.
A particular challenge is to combine replica control with transaction management as it requires
several operations to be treated as a single logical unit and it provides atomicity
consistency isolation and durability across the replicated system. The book provides a
categorization of replica control mechanisms presents several replica and concurrency control
mechanisms in detail and discusses many of the issues that arise when such solutions need to
be implemented within or on top of relational database systems. Furthermore the book presents
the tasks that are needed to build a fault-tolerant replication solution provides an overview
of load-balancing strategies that allow load to be equally distributed across all replicas and
introduces the concept of self-provisioning that allows the replicated system to dynamically
decide on the number of replicas that are needed to handle the current load. As performance
evaluation is a crucial aspect when developing a replication tool the book presents an
analytical model of the scalability potential of various replication solution. For readers that
are only interested in getting a good overview of the challenges of database replication and
the general mechanisms of how to implement replication solutions we recommend to read Chapters
1 to 4. For readers that want to get a more complete picture and a discussion of advanced
issues we further recommend the Chapters 5 8 9 and 10. Finally Chapters 6 and 7 are of
interest for those who want get familiar with thorough algorithm design and correctness
reasoning. Table of Contents: Overview 1-Copy-Equivalence and Consistency Basic Protocols
Replication Architecture The Scalability of Replication Eager Replication and
1-Copy-Serializability 1-Copy-Snapshot Isolation Lazy Replication Self-Configuration and
Elasticity Other Aspects of Replication