[发明专利]一种基于多队列的数据库预写日志方法和装置在审
申请号: | 202310436258.5 | 申请日: | 2023-04-21 |
公开(公告)号: | CN116561143A | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 王建民;黄向东;乔嘉林;曹高飞;田原;朱海铭 | 申请(专利权)人: | 清华大学;天谋科技(北京)有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/22;G06F11/14;G06F12/02 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李柱雄 |
地址: | 100084 北京市海淀区双清路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 队列 数据库 日志 方法 装置 | ||
本发明提供一种基于多队列的数据库预写日志方法和装置,获取写入请求中的数据项及其对应的内存表;确定为内存表分配的预写日志队列;采用二元组表示数据项和内存表编号;令预写日志队列将二元组写入自身的预写日志文件中。本发明使用预写日志队列作为基本的预写任务执行单元,每一个预写日志队列只有一个正在写入的预写日志文件,不同内存表会被动态分配给不同的预写日志队列,因此一个预写日志文件可以对不同内存表预写日志,实现了预写日志文件和内存表的解耦,进而使预写日志写入吞吐能力的调优容易实现。
技术领域
本发明涉及计算机数据管理技术领域,尤其涉及一种基于多队列的数据库预写日志方法和装置。
背景技术
预写日志是一项高效的日志算法,它在数据项写入数据库之前,先行将数据项写入到预写日志文件中,使得数据项不会因终端设备故障而丢失,保障了数据库系统的持久性和原子性。
预写日志是写入请求与磁盘交互的第一关,所以预写日志的写入吞吐能力基本决定了数据库整体的写入性能上限。因此对预写日志写入吞吐能力的调优是至关重要的。
一般来讲,优化预写日志的写入吞吐能力可以从以下几个方向入手:(1)增大每次系统调用写入的数据量;(2)将磁盘的随机I/O转换为顺序I/O。然而,在很多NoSQL数据库的实现中,预写日志文件和数据库或数据分区间的对应关系是强耦合的,如LevelDB中预写日志文件和数据库实例形成一对一关系,InfluxDB中预写日志文件和数据分片形成一对一关系,这种强耦合关系限制了数据库在预写日志写入吞吐能力上的调优。
发明内容
为解决现有技术中预写日志写入吞吐能力调优难的问题,本发明提供一种基于多队列的数据库预写日志方法和装置,使用预写日志队列作为基本的预写任务执行单元,每一个预写日志队列只有一个正在写入的预写日志文件,不同内存表会被动态分配给不同的预写日志队列,因此一个预写日志文件可以对不同内存表预写日志,实现了预写日志文件和内存表的解耦,进而使预写日志写入吞吐能力的调优容易实现。
第一方面,本发明提供一种基于多队列的数据库预写日志方法,用于基于LSM树存储引擎的数据库的预写日志端,所述预写日志端包含多个预写日志队列,每一个预写日志队列只有一个正在写入的预写日志文件,所述方法包括:
获取写入请求中的数据项及其对应的内存表;
确定为所述内存表分配的预写日志队列;
采用二元组表示所述数据项和所述内存表的编号;
控制所述预写日志队列将所述二元组写入自身的预写日志文件中。
根据本发明提供的基于多队列的数据库预写日志方法,在内存中不存在所述内存表的情况下,所述确定为所述内存表分配的预写日志队列,包括:
告知所述数据库的写入端创建所述内存表;
在所述内存表创建完成后,利用预设动态分配算法为所述内存表分配预写日志队列。
根据本发明提供的基于多队列的数据库预写日志方法,所述预写日志队列包括:阻塞队列、序列化缓冲区、落盘缓冲区和多个日志数据文件,所述多个日志数据文件中正在写入的日志数据文件为所述预写日志文件;所述控制所述预写日志队列将所述二元组写入自身的预写日志文件中,包括:
将所述二元组送入所述阻塞队列中排队;
通过序列化线程,将所述二元组缓冲到所述序列化缓冲区中;
在满足第一条件的情况下,互换所述序列化缓冲区和所述落盘缓冲区的名称;
对所述落盘缓冲区进行落盘,以使所述二元组写入所述预写日志文件中。
根据本发明提供的基于多队列的数据库预写日志方法,所述第一条件为:所述落盘缓冲区已落盘完成且所述序列化缓冲区达到落盘条件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学;天谋科技(北京)有限公司,未经清华大学;天谋科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310436258.5/2.html,转载请声明来源钻瓜专利网。