December 2023
Intermediate to advanced
464 pages
12h 36m
English
Replicating data is essential for ensuring service continuity to the users. As summarized by the CAP [Brewer1999] theorem, there are design choices that need to be made depending on whether consistency of data in the case of failures is crucial or availability is favored. At one end, there is a technique known as State Machine Replication [Schneider1990] to achieve fault tolerance but also guarantee strong consistency. In state machine replication, the storage services, such as a key-value store, are replicated on multiple servers, and the user inputs are executed in the same order on each server. The key implementation technique here is to replicate Write-Ahead Log on multiple servers to have a Replicated ...