🤖 AI Summary
Traditional multiversion concurrency control incurs high overhead and frequent read-write conflicts during range scans, while multiversion B-trees (MVBTs) support efficient arbitrary-version scans but lack practical concurrency mechanisms. This work proposes concurrent MVBT (cMVBT), the first MVBT variant equipped with an efficient concurrency control protocol: write operations employ optimistic locking, range scans are entirely lock-free, and the design integrates smooth, peak-free continuous garbage collection with space management. Experimental results demonstrate that under standard mixed workloads, cMVBT significantly outperforms version-chain-based approaches, achieving low overhead, high write throughput, and superior range scan performance.
📝 Abstract
Multiversion concurrency control (MVCC) enables scans to read data from a committed snapshot (version), reducing conflicts with write operations compared to traditional concurrency approaches. Currently, versioned records are often managed in a B$^+$-tree using version chains. However, version chains introduce overhead during scans and can still lead to conflicts between scans and writers. The multiversion B-tree (MVBT) was designed for optimal range scan performance on arbitrary versions, but has been considered impractical due to its structural complexity and, until recently, the lack of effective concurrency control. In this paper, we present the concurrent MVBT (cMVBT), a redesign of the MVBT featuring a novel concurrency control protocol that uses optimistic latches for write operations and requires no latches for range scans, while preserving all the optimality guarantees of the original MVBT. Additionally, cMVBT supports continuous garbage collection without activity spikes, seamlessly integrating free-space management. Experiments with mixed workloads derived from a standard benchmark show that the cMVBT achieves low overhead, high write throughput, and excellent range scan performance, outperforming state-of-the-art methods based on version chains.