Database replication holds the promise of improved performance and
fault-tolerance. However, implementation has been a problem.
When the updating of replicas is part of the transaction,
as in Traditional eager replication,
the transaction size increases and this causes more
contention for resources and data. All sites must actively participate
in the execution of the transaction so this style cannot be used
with networks that experience congestion or delays.
In the epidemic model an update is initiated on a
single site, and is propagated to other sites in a lazy manner. When
combined with version vectors and event logs, this propagation mechanism
delivers updates in causal order despite communication failures.
We integrate quorums into the epidemic model to processes transactions
on replicated data. Causal order helps establish the global serialization
order on transactions. Our approach enforces serializability by aborting
transactions that may cause inconsistency. In the absence of conflict
a transaction can commit as soon as it is known to a quorum of sites.
In the presence of conflict, sites vote and a transaction can commit as
soon as a quorum of sites vote for it. We present a detailed
simulation study of a distributed replicated database and demonstrate the
performance improvements.
Back