[发明专利]一种写入batch group串行化逻辑的优化方法在审

专利信息
申请号: 202110841902.8 申请日: 2021-07-26
公开(公告)号: CN113590036A 公开(公告)日: 2021-11-02
发明(设计)人: 刘梦真 申请(专利权)人: 浪潮云信息技术股份公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜鹏
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 写入 batch group 串行 逻辑 优化 方法
【说明书】:

发明涉及数据库领域,具体提供了一种写入batch group串行化逻辑的优化方法,每个batch使用独立的线程,基于滑动窗口机制来实现WAL的并发写入,多次并发访问小IO,维护一个WAL目录,每个batch对应生成一个单独的小log文件。与现有技术相比,本发明优化了RocksDB中WAL写入时batch group串行化逻辑导致的batch写入性能瓶颈问题,不再使用RocksDB内部组提交机制,而是基于滑动窗口机制支持实现batch并发写入WAL,可以通过设置窗口大小来控制并发程度,将一次大IO转换为并发访问小IO。充分利用了SSD的高读写速度和具有并发特性的性能优势,很大程度上提升了存储引擎的写性能。

技术领域

本发明涉及数据库领域,具体提供一种写入batch group串行化逻辑的优化方法。

背景技术

RocksDB是使用C++编写的持久化的、嵌入式的KV存储引擎,主要由MemTable、Immutable MemTable、SSTable和WAL组成。插入KV数据时,首先需要将数据写到WAL文件中,然后将其刷新到磁盘以保证数据的持久性和安全性。

如果每次提交事务都需要调用一次sync将日志刷入磁盘,那么事务提交将会很大程度上限制数据库的写入性能。可以考虑将好几个事务的提交合并成一次sync来做,从而提高数据库系统的TPS。所以在RocksDB内部,使用batch-commit机制来批量写入事务日志,这样就可以使用一个sync调用来同时提交多个事务。但由于WAL的写入需要保证不同batchgroup之间的顺序性,因此只能通过单线程进行写入。这种batch group串行化逻辑导致WAL写入成为RocksDB的batch写入性能的瓶颈点。

发明内容

本发明是针对上述现有技术的不足,提供一种实用性强的写入batch group串行化逻辑的优化方法。

本发明解决其技术问题所采用的技术方案是:

一种写入batch group串行化逻辑的优化方法,每个batch使用独立的线程,基于滑动窗口机制来实现WAL的并发写入,多次并发访问小IO,维护一个WAL目录,每个batch对应生成一个单独的小log文件。

进一步的,具体步骤如下:

S1、以WriteBatch对象为载体;

S2、每个写线程生成一个WriteThread::Write的实例;

S3、维护一个窗口,链表中的Writer对象可以被分为4类;

S4、链表中的每个Writer设置SequenceNumber的过程是串行的;

S5、窗口内的写线程开始并发写入WAL时,生成log之后需要判断前面的batch是否已经全部写入完成;

S6、完成WAL写入后开始写入MemTable;

S7、完成MemTable写入后,需要更新VersionSet中last_sequence_的值;

S8、Writer对象在完成MemTable写入之后退出。

进一步的,在步骤S1中,在数据库系统中,会涌入接连不断的写请求,每个写请求包含一条或者多条操作,将一条或者多条操作的记录封装到WriteBatch,RocksDB的每次写入都以一个WriteBatch对象为载体。

进一步的,在步骤S2中,每个写线程生成一个WriteThread::Write的实例,关联到对应的一个WriteBatch对象,将多个Writer对象用链表串起来,从而处理并发。

进一步的,在步骤S3中,维护一个窗口,链表中的Writer对象可以被分为4类:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110841902.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top