Page 231 - 《软件学报》2021年第10期
P. 231
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2021,32(10):32033218 [doi: 10.13328/j.cnki.jos.006023] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
构建新型高性能与高可用的键值数据库系统
2
1
1,2
2
2
2
2
朱阅岸 , 简怀兵 , 龙永超 , 李 彬 , 王 树 , 吴喜亮 , 钟治初 , 张延松 3
1
(嘉应学院 计算机学院,广东 梅州 514015)
2
(广州欢聚时代信息科技有限公司,广东 广州 511442)
3 (中国人民大学 中国调查与数据中心,北京 100872)
通讯作者: 朱阅岸, E-mail: iwillgoon@126.com
摘 要: 近年来,写密集型应用程序越来越普遍.如何有效地处理这种工作负载,是数据库系统领域深入研究的方
向之一.写操作开销主要由以下两个方面的因素构成:(1) 硬件级别,即写操作引起的 I/O,目前无法在短时间内消除
这种开销;(2) 软件开销,即修改内存数据拷贝以及构造日志记录造成的多次写操作.日志即数据(log-as-database,称
其为单拷贝系统)的架构能够减少写操作引起的 I/O,同时降低软件方面的开销.目前,业界对单拷贝系统展现出浓厚
的兴趣.现有的单拷贝系统大部分建立在特殊的基础设施之上,例如 infiniband 或 NVRam(非易失性随机存取存储
器),这种基础设施尚未达到广泛可用或者是依托他系统(例如 Dynamo)构建,这种方法缺乏灵活性与普适性.在商用
机器环境中,自底向上构建了一个称为 LogStore 的键值数据库系统,采用 log-as-database 设计理念,以充分利用单拷
贝系统的优点,在提升写操作性能的同时,有效缩短主备数据之间的差距.在系统中内嵌复制协议达到高可用性而不
是依赖其他系统,使得系统灵活可控.系统新颖的查询执行模型将执行线程与特定分片绑定,结合多版本并发控制技
术,以无锁的方式消除读写冲突、写写冲突以及上下文切换开销.用 YCSB 对系统性能进行了详细的评估,对比主流
的键值系统 HBase 以及单拷贝系统实现 LogBase,LogStore 在写密集型工作负载上性能要优 4 倍左右.在崩溃恢复
方面,LogStore 可在 1 分钟之内完成 TB 级别数据规模的恢复,比 LogBase 要快 1 个数量级以上.
关键词: 单拷贝系统;复制协议;写优化;恢复;细粒度缓冲区管理
中图法分类号: TP311
中文引用格式: 朱阅岸,简怀兵,龙永超,李彬,王树,吴喜亮,钟治初,张延松.构建新型高性能与高可用的键值数据库系统.软件
学报,2021,32(10):32033218. http://www.jos.org.cn/1000-9825/6023.htm
英文引用格式: Zhu YA, Jian HB, Long YC, Li B, Wang S, Wu XL, Zhong ZC, Zhang YS. Building new key-value store with
high performance and high availability. Ruan Jian Xue Bao/Journal of Software, 2021,32(10):32033218 (in Chinese). http://
www.jos.org.cn/1000-9825/6023.htm
Building New Key-value Store with High Performance and High Availability
2
2
2
2
2
ZHU Yue-An 1,2 , JIAN Huai-Bing , LONG Yong-Chao , LI Bin , WANG Shu , WU Xi-Liang ,
2
ZHONG Zhi-Chu , ZHANG Yan-Song 3
1 (School of Computer Science, Jiaying University, Meizhou 514051, China)
2 (Guangzhou YY Inc., Guangzhou 511442, China)
3 (National Survey Research Center at Renmin University of China, Beijing 100872, China)
Abstract: In recent year, the write-heavy applications are more and more prevalent. How to efficiently handle this sort of workload is
one of intensive research direction in the field of database system. The overhead caused by write operation is mainly issued by two factors.
One is the hardware level, i.e., the IO cost caused by write operation. This cost cannot be removed in short period. The other is dual-copy
基金项目: 国家自然科学基金(61772533)
Foundation item: National Natural Science Foundation of China (61772533)
收稿时间: 2019-08-06; 修改时间: 2019-11-23; 采用时间: 2020-02-14