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.