暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
基于确定性并发控制的云原生多写技术_人大金仓.pdf
257
29页
2次
2024-09-24
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software, [doi: 10.13328/j.cnki.jos.007281] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
基于确定性并发控制的云原生多写技术
洪殷昊
1,2
,
赵泓尧
1,2
,
王乙霖
1,2
,
史心悦
1,2
,
卢卫
1,2
,
杨尚
3
,
杜胜
3
1
(数据工程与知识工程教育部重点实验室(中国人民大学),北京 100872)
2
(中国人民大学 信息学院, 北京 100872)
3
(北京人大金仓信息技术有限公司, 北京 100872)
通讯作者: 卢卫, E-mail: lu-wei@ruc.edu.cn
: 云原生数据库具有开箱即用、弹性伸缩按需付费等优势, 是目前学术界和工业界的研究热点. 当前,
云原生数据库仅支持"一写多读", 即读写事务集中在单一的读写节点, 只读事务分散到多个只读节点. 读写
务集中在单一的读写节点, 制约了系统的写事务处理能力, 难以满足读写密集型业务需求. 为此, 本文提出了
D3C(deterministic concurrency control cloud database)架构, 通过设计基于确定性并发控制的云原生数据库事务处
理机制来突破一写多读的限制, 支持多个读写节点并发执行读写事务. 其中 D3C 将事务分拆为子事务, 并根据预
先确定的全局顺序在各节点独立执行这些子事务, 满足多个读写节点上事务执行的可串行化. 此外本文提出了
基于多版本机制的异步批量数据持久化等机制保证事务处理的性能, 并提出基于一致性点的故障恢复机制实现高
可用. 实验表明, D3C 在满足云原生数据库关键需求的同时, 在写密集场景下能达到一写多读性能的 5.1 .
关键词: 云原生数据库;确定性并发控制;事务处理
中图法分类号: TP311
中文引用格式: 洪殷昊,赵泓尧,王乙霖,史心悦,卢卫,杨尚,杜胜.基于确定性并发控制的云原生多写技术.软件学报.
http://www.jos.org.cn/1000-9825/7281.htm
英文引用格式: Hong YH, Zhao HY, Wang YL, Shi XY, Lu W, Yang S, Du S. Deterministic Concurrency Control based Multi-Write
Transaction Processing over Cloud-native Databases. Ruan Jian Xue Bao/Journal of Software (in Chinese). http://www.jos.
org.cn/1000-9825/7281.htm
Deterministic Concurrency Control based Multi-Write Transaction Processing over
Cloud-native Databases
HONG Yin-Hao
1,2
, ZHAO Hong-Ya o
1,2
, WANG Yin-Lin
1,2
, SHI Xin-Yu e
1,2
, LU Wei
1,2
, YANG Shang
3
,
DU Sheng
3
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 have emerged as a hot topic in the field of database development in the era of cloud computing, thanks
to their advantages such as out-of-the-box functionality, elastic scalability, and pay-as-you-go pricing. However, mainstream cloud-native
databases only support a single master node to execute write transactions. This limitation hampers the system's ability to handle
write-intensive workloads, making it difficult to meet the demands of businesses with high write requirements. To address this issue, this
paper proposes the D3C (deterministic concurrency control cloud database) architecture, which achieves cloud-native multi-writer
capabilities by designing a transaction processing mechanism based on deterministic concurrency control. D3C splits transactions into
sub-transactions and independently executes them on various nodes according to a pre-defined global order, ensuring serializable isolation
for transaction execution on multiple read-write nodes. Additionally, this paper introduces mechanisms such as asynchronous batch data
基金项目:国家自然科学基金(61972403, 61732014);
收稿时间:
2024-05-27; 修改时间: 2024-07-16, 2024-08-19; 采用时间: 2024-08-29; jos 在线出版时间: 2024-09-13
洪殷昊
:
基于确定性并发控制的多写云原生事务处理技术
2205
persistence mechanisms based on multi-version to ensure the performance of multi-writer transaction processing, and proposes a
consistency point-based fault recovery mechanism to achieve high availability. Experiments have shown that D3C can achieve 5.1 times
the throughput of a traditional single-master architecture in write-intensive scenarios, while meeting the key requirements of cloud-native
databases.
Key words: cloud-native databases; deterministic concurrency control; transaction processing
云原生数据库具有开箱即用、弹性伸缩、按需付费的特点, 是学术界和工业界最为关心的研究热点之一.
报告显示
[1]
, 2022 年数据库系统全球整体的市场规模约为 653 亿美元, 其中云数据库服务规模达到了 135 亿美
, 约占 20.7%
[2]
. 在国内,2022 年云数据库规模约占国内数据库系统市场规模的 54.3%, 2023 年占比进一步扩
大达到 59.8%
[3]
. 在工业界,互联网巨头如亚马逊、微软、谷歌以及国内的华为、阿里等公司都已推出多款诸
如如 Aurora
[4]
PolarDB serverless
[5]
的云原生数据库(cloud-native database)产品, 市场占有率正在逐步赶超传
统数据库巨头.
当前主流的云原生数据库
[4-8]
采用一写多读的架构. 在该架构中,读写事务集中在读写节点, 只读事务分
散到多个只读节点, 实现读写分离. 一方面, 可以通过增加只读节点的数量来提升只读事务的吞吐; 另一
, 当读写节点故障时, 只读节点可以快速替换读写节点, 保障服务的可用性. 虽然一写多读具有诸多优点,
但单一的读写节点限制了系统的读写事务处理能力, 使得系统难以应对电商、金融等行业中以读写事务为主
的业务负. 突破云原生数据库一写多读的限制, 支持多个节点同时执行读写事务从而实现"多写", 是当前
云原生数据库系统的一项关键技术.
多写, 即在云原生数据库系统中配置多个可以执行读写事务的读写节点, 通过增加读写节点的数量,
以达到比单个读写节点更高的读写事务吞吐量. 理想, 系统中的每一个节点都可以支持读写事务, 而不仅
仅像一写多读中只有一个读写节点可以支持读写事务. 实现多写的关键技术难点在于: 同节点如何检测和
处理事务冲突以满足隔离级别要求(本文以冲突可串行化作为隔离级别), 如何确保故障下的事务正确性,
及如何获得良好的事务性能.
目前, 主要有两种方案来实现多.
方案一: 基于两阶段提交协议(two-phase commit protocol, 2PC)
[9]
的多写技术. 技术通过将数据拆
分为多个数据分片, 并由不同的节点处理不同数据分片上的事务冲突来做到每个节点独立处理
. 为此, 当一个读写事务需要访问多个数据分片上的数据时, 这个事务会被划分为多个子事务,
并交由不同节点来处理对应数据分片上的冲突. 因此同一个事务的不同子事务在不同节点上的
行结果可能不, 需要 2PC 来协调这些子事务的执行结果, 从而保证事务的原子性. 当节点发生故
障时, 该机制通过事务日志确保已经提交的事务的持久化, 从而能够通过日志回放保证节点故
前后的一致性.
方案二: 基于远程内存直接访问技术(remote direct memory access, RDMA)的多写技术
[10-16]
. 该技术
要求在低延迟高带宽的数据中心内网络中, 将并发控制的元数据维护在专门的节点内存当中,
引入 RDMA 技术来跨节点访问该内存. 因此每个节点可以以类似于单机事务处理的方式, 直接通
RDMA 用同一个并发控制的元数据来检测和处理冲突. 低延迟高带宽的网络环境使得系统更容
易获得较高的事务性能. 该技术通过持久化内存(persistent memory, PM)以及多机备份的方式,
证节点故障时数据和事务状态不会丢失.
上述两个方案在性能或适用性上具有明显的限制. 方案一需要利用两阶段提交协议来协调同一个事务在
不同节点上的子事务来保证整个事务的原子性, 由于需要至少两轮的网络开销, 与单机事务相比, 事务性能
下降显著; 方案二则需要利用 RDMA 特殊设备. 但是 RDMA 设备只能在单个数据中心内使用, 无法部署在跨
数据中心网络, 因此无法做到数据中心、城市级别的故障恢, 无法保证复杂故障场景下的事务正确性.
, 现如今并不存在一个能够同时解决以上三个技术难点的多写方案.
确定性并发控制具有和基于 2PC 类似事务处理方法,将数据拆分为多个数据分片,并由不同的节点负责
of 29
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜