Optimistic replication

Optimistic replication, also known as lazy replication,[1][2] is a strategy for replication, in which replicas are allowed to diverge.[3]

Traditional pessimistic replication systems try to guarantee from the beginning that all of the replicas are identical to each other, as if there was only a single copy of the data all along. Optimistic replication does away with this in favor of eventual consistency, meaning that replicas are guaranteed to converge only when the system has been quiesced for a period of time. As a result, there is no longer a need to wait for all of the copies to be synchronized when updating data, which helps concurrency and parallelism. The trade-off is that different replicas may require explicit reconciliation later on, which might then prove difficult or even insoluble.

  1. ^ Ladin, R.; Liskov, B.; Shrira, L.; Ghemawat, S. (1992). "Providing high availability using lazy replication". ACM Transactions on Computer Systems. 10 (4): 360–391. CiteSeerX 10.1.1.586.7749. doi:10.1145/138873.138877. S2CID 2219840.
  2. ^ Ladin, R.; Liskov, B.; Shrira, L. (1990). Lazy replication: exploiting the semantics of distributed services. Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing. pp. 43–57. doi:10.1145/93385.93399.
  3. ^ Saito, Yasushi; Shapiro, Marc (2005). "Optimistic replication". ACM Computing Surveys. 37 (1): 42–81. CiteSeerX 10.1.1.324.3599. doi:10.1145/1057977.1057980. S2CID 1503367.