π€ AI Summary
Traditional concurrency control (CC) algorithms exhibit poor robustness and adaptability to dynamic, heterogeneous workloads. Method: This paper proposes LearnCCβthe first adaptive framework that models the CC algorithm design space as a learnable state-action mapping function. It innovatively integrates Bayesian optimization with graph reduction techniques for efficient search, employs an embedded lookup table for online adaptation, and uses supervised learning to map runtime system states to optimal CC strategies. Contribution/Results: Experiments demonstrate that LearnCC achieves, on average, higher transaction throughput than five state-of-the-art CC algorithms across diverse representative workloads. Its optimization converges an order of magnitude faster, while significantly improving performance stability and generalization under dynamic workload conditions.
π Abstract
Concurrency control (CC) algorithms are important in modern transactional databases, as they enable high performance by executing transactions concurrently while ensuring correctness. However, state-of-the-art CC algorithms struggle to perform well across diverse workloads, and most do not consider workload drifts. In this paper, we propose CCaaLF (Concurrency Control as a Learnable Function), a novel learned concurrency control algorithm designed to achieve high performance across varying workloads. The algorithm is quick to optimize, making it robust against dynamic workloads. CCaaLF learns an agent function that captures a large number of design choices from existing CC algorithms. The function is implemented as an efficient in-database lookup table that maps database states to concurrency control actions. The learning process is based on a combination of Bayesian optimization and a novel graph reduction algorithm, which converges quickly to a function that achieves high transaction throughput. We compare CCaaLF against five state-of-the-art CC algorithms and show that our algorithm consistently outperforms them in terms of transaction throughput and optimization time.