MVDR: Enabling Transaction Dependency Repair in Interactive Transaction Processing
摘要
Many studies on concurrency control based on one-shot transactions have demonstrated remarkable performance. However, less attention has been given to interactive transactions, which are more practical in real-world applications. Interactive transactions are characterized by frequent network blocking, long duration, high access conflict rate and high abort cost, making concurrency control protocols based on 2PL and OCC perform poorly. This paper introduces MVDR, a novel multi-version concurrency control protocol designed for interactive transaction processing, which comprises five components designed to reduce blocking, abort rate and cost, based on a CPU-efficient interactive transaction execution model, Request-To-Thread. MVDR avoids the performance bottleneck of centralized timestamp allocation and the first conflict of transactions by assigning commit id(CID), reduces blocking by early write visibility, and detects transaction conflicts promptly through validation during execution. Additionally, MVDR minimizes abort cost through partial re-execution of requests based on transaction dependency repair. And the use of transaction priority reduces tail latency and alleviates performance bottleneck issues. Our evaluation, conducted using various workloads from the TPC-C and YCSB benchmarks, demonstrates that under high contention, MVDR achieves throughput that is 2.76x to 8.07x greater than that of state-of-the-art systems. Even under low contention, MVDR maintains a performance improvement of at least 1.44x.