MuFASA -- Asynchronous Checkpoint for Weakly Consistent Fully Replicated Databases
Raaghav Ravishankar, Sandeep Kulkarni, Nitin H Vaidya
TL;DR
This work addresses checkpointing in fully replicated, weakly consistent databases by introducing DTCS, a checkpoint notion that combines transactional and distributed snapshot consistency. It proposes MuFASA, an asynchronous, size-minimal snapshot algorithm that uses a vPoGC construct and a color-based protocol to collect exactly one copy of each object across $n$ replicas with only $O(n)$ control messages, without blocking ongoing transactions. The authors prove that MuFASA yields a DTCS snapshot and supports crash recovery by rolling back to the stored checkpoint and reapplying subsequent committed transactions. The approach enables strong, invariant-preserving views in otherwise eventual systems, with practical implications for main-memory, highly available databases and avenues for extension to partitioned or quorum-based replication.
Abstract
We focus on the problem of checkpointing in fully replicated weakly consistent distributed databases, which we refer to as Distributed Transaction Consistent Snapshot (DTCS). A typical example of such a system is a main-memory database that provides strong eventual consistency. This problem is important and challenging for several reasons: (1) eventual consistency often creates anomalies that the users do not anticipate. Hence, frequent checkpoints to ascertain desired invariants is highly beneficial in their use, and (2) traditional checkpoints lead to significant overhead and/or inconsistencies. By showing that the traditional checkpoint leads to inconsistencies or excessive overhead, we define the notion of size-minimal checkpointing for fully replicated databases. We present an algorithm for checkpointing with minimal checkpointing overhead (only O(n) new messages and addition of a single counter for existing messages). It also provides a significant benefit over existing checkpointing algorithms for distributed systems and main-memory databases. A key benefit of DTCS is that it summarizes the computation by a sequence of snapshots that are strongly consistent even though the underlying computation is weakly consistent. In essence, when anomalies arise in an eventually consistent system, DTCS enables one to concentrate solely on the snapshots surrounding the time point of the anomaly.
