| 引用本文: | 洪殷昊,赵泓尧,王乙霖,史心悦,卢卫,杨尚,杜胜.基于确定性并发控制的云原生数据库多写事务处理.软件学报,2025,36(3):995-1021 |
| |
|
| |
|
|
| 本文已被:浏览 2231次 下载 3069次 |
 码上扫一扫! |
|
|
| 基于确定性并发控制的云原生数据库多写事务处理 |
|
洪殷昊1,2, 赵泓尧1,2, 王乙霖1,2, 史心悦1,2, 卢卫1,2, 杨尚3, 杜胜3
|
|
1.数据工程与知识工程教育部重点实验室(中国人民大学), 北京 100872;2.中国人民大学 信息学院, 北京 100872;3.北京人大金仓信息技术有限公司, 北京 100872
|
|
| 摘要: |
| 云原生数据库具有开箱即用、弹性伸缩、按需付费等优势, 是目前学术界和工业界的研究热点. 当前, 云原生数据库仅支持“一写多读”, 即读写事务集中在单一的读写节点, 只读事务分散到多个只读节点. 将读写事务集中在单一的读写节点, 制约了系统的读写事务处理能力, 难以满足读写密集型业务需求. 为此, 提出D3C (deterministic concurrency control cloud-native database)架构, 通过设计基于确定性并发控制的云原生数据库事务处理机制来突破一写多读的限制, 支持多个读写节点并发执行读写事务. D3C将事务分拆为子事务, 并根据预先确定的全局顺序在各节点独立执行这些子事务, 以满足多个读写节点上事务执行的可串行化. 此外, 提出基于多版本机制的异步批量数据持久化等机制以保证事务处理的性能, 并提出基于一致性点的故障恢复机制以实现高可用. 实验结果表明, D3C在满足云原生数据库关键需求的同时, 在写密集场景下能够达到一写多读性能的5.1倍. |
| 关键词: 云原生数据库 确定性并发控制 事务处理 |
| DOI:10.13328/j.cnki.jos.007281 |
| 分类号:TP311 |
| 基金项目:国家自然科学基金(61972403,61732014); |
|
| Deterministic Concurrency Control Based Multi-writer Transaction Processing over Cloud-native Databases |
|
HONG Yin-Hao1,2, ZHAO Hong-Yao1,2, WANG Yi-Lin1,2, SHI Xin-Yue1,2, LU Wei1,2, YANG Shang3, DU Sheng3
|
|
1.Key Laboratory of Data Engineering and Knowledge Engineering (Renmin University of China), Ministry of Education, Beijing 100872, China;2.School of Information, Renmin University of China, Beijing 100872, China;3.Beijing Kingbase Technology Inc., Beijing 100872, China
|
| Abstract: |
| Cloud-native databases, with advantages such as out-of-the-box functionality, elastic scalability, and pay-as-you-go, are currently a research hotspot in academia and industry. Currently, cloud-native databases only support “single writer and multiple readers”, that is, read-write transactions are concentrated on a single read-write node, and read-only transactions are distributed to multiple read-only nodes. This limitation restricts the system’s ability to process read-write transactions, making it difficult to meet the demands of write-intensive businesses. To this end, this study proposes the D3C (deterministic concurrency control cloud-native database) architecture. It breaks through the limitation of “single writer and multiple readers” and supports concurrency execution of read-write transactions on multiple read-write nodes by designing a cloud-native database transaction processing mechanism based on deterministic concurrency control. D3C splits transactions into sub-transactions and independently executes them on each node according to a predefined global order, ensuring serializability for transaction execution on multiple read-write nodes. Additionally, this study introduces mechanisms like asynchronous batch data persistence mechanisms based on multi-version to ensure transaction processing performance and proposes a consistency point-based fault recovery mechanism to achieve high availability. Experimental results show that D3C can achieve 5.1 times the performance of the “single writer and multiple readers” architecture in write-intensive scenarios while meeting the key requirements of cloud-native databases. |
| Key words: cloud-native database deterministic concurrency control transaction processing |
|
|
|
|