System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种针对LSM树的文件合并方法及相关设备技术_技高网

一种针对LSM树的文件合并方法及相关设备技术

技术编号:40703490 阅读:5 留言:0更新日期:2024-03-22 11:02
本说明书提供了一种针对LSM树的文件合并方法及相关设备。该方法包括:获取与数据库的访问请求对应的数据读取速率和数据写入速率;其中,所述数据库中的存储引擎为基于LSM树存储结构的存储引擎,所述LSM树包括多个存储层,所述多个存储层中的至少部分存储层中存储了若干个文件;将所述数据读取速率和所述数据写入速率分别与预设的速率区间进行对比;根据对比结果,调整所述存储引擎的文件合并限速值,以使所述存储引擎在所述LSM树的多个存储层中存在满足合并条件的目标存储层时,基于不大于调整后的所述文件合并限速值的文件合并速率,对所述目标存储层中存储的文件执行文件合并操作。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及数据库,尤其涉及一种针对lsm树的文件合并方法及相关设备。


技术介绍

1、日志结构合并树(the log-structured merge tree,lsm-tree)是一种多层存储结构,基于lsm-tree存储结构的存储引擎可以将写入内存中的数据批量、有序地以文件的形式写入磁盘。磁盘中定义了用于以文件形式存储数据的多个存储层,进一步地,存储引擎可以对多个存储层中存储的文件执行文件合并操作以减少磁盘中的重复数据。

2、通常情况下,文件合并操作的触发往往依据预先配置的合并条件,只要多个层存储中的任一存储层满足合并条件,存储引擎就会对该层存储的文件执行文件合并操作。如此一来,若大量存储层均满足合并条件,频繁的文件合并操作势必会占用大量的cpu资源和io资源,从而影响数据库对前台访问请求的执行效率,影响用户体验。


技术实现思路

1、有鉴于此,本说明书一个或多个实施例提供一种针对lsm树的文件合并方法及相关设备。

2、第一方面,本说明书提供了一种针对lsm树的文件合并方法,所述方法包括:

3、获取与数据库的访问请求对应的数据读取速率和数据写入速率;其中,所述数据库中的存储引擎为基于lsm树存储结构的存储引擎,所述lsm树包括多个存储层,所述多个存储层中的至少部分存储层中存储了若干个文件;

4、将所述数据读取速率和所述数据写入速率分别与预设的速率区间进行对比;

5、根据对比结果,调整所述存储引擎的文件合并限速值,以使所述存储引擎在所述lsm树的多个存储层中存在满足合并条件的目标存储层时,基于不大于调整后的所述文件合并限速值的文件合并速率,对所述目标存储层中存储的文件执行文件合并操作。

6、第二方面,本说明书提供了一种针对lsm树的文件合并装置,所述装置包括:

7、获取单元,用于与数据库的访问请求对应的数据读取速率和数据写入速率;其中,所述数据库中的存储引擎为基于lsm树存储结构的存储引擎,所述lsm树包括多个存储层,所述多个存储层中的至少部分存储层中存储了若干个文件;

8、对比单元,用于将所述数据读取速率和所述数据写入速率分别与预设的速率区间进行对比;

9、限速单元,用于根据对比结果,调整所述存储引擎的文件合并限速值,以使所述存储引擎在所述lsm树的多个存储层中存在满足合并条件的目标存储层时,基于不大于调整后的所述文件合并限速值的文件合并速率,对所述目标存储层中存储的文件执行文件合并操作。

10、相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述第一方面所述的针对lsm树的文件合并方法。

11、相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如上述第一方面所述的针对lsm树的文件合并方法。

12、综上所述,本申请可以先获取与数据库的访问请求对应的数据读取速率和数据写入速率。其中,该数据库的存储引擎可以为基于lsm树存储结构的存储引擎,该 lsm树包括多个存储层,多个存储层中的至少部分存储层中存储了若干个文件。进一步地,存储引擎可以将上述数据读取速率和数据写入速率分别与预设的速率区间进行对比。然后,可以根据对比结果,调整存储引擎的文件合并限速值,使得存储引擎在上述lsm树的多个存储层中存在满足合并条件的目标存储层时,基于不大于调整后的文件合并限速值的文件合并速率,对该目标存储层中存储的文件执行文件合并操作。如此,本申请通过检测数据库的前台读写压力,并基于当前的读写压力动态调整存储引擎后台的文件合并操作的限速值,以使存储引擎基于不大于该限速值的文件合并速率来执行文件合并操作,可以有效避免后台的文件合并操作占用过多的系统资源,进而保证前台的读写性能。

本文档来自技高网...

【技术保护点】

1.一种针对LSM树的文件合并方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述与数据库的访问请求对应的数据读取速率和数据写入速率,包括:

3.根据权利要求1所述的方法,其特征在于,所述将所述数据读取速率和所述数据写入速率分别与预设的速率区间进行对比,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据对比结果,调整所述存储引擎的文件合并限速值,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述合并条件包括:

7.根据权利要求1所述的方法,其特征在于,所述存储引擎启用至少一个合并任务线程来执行文件合并操作;所述调整所述存储引擎的文件合并限速值,包括:

8.根据权利要求1所述的方法,其特征在于,所述获取与数据库的访问请求对应的数据读取速率和数据写入速率,包括:

9.根据权利要求8所述的方法,其特征在于,任一周期时长内获取到的数据读取速率为该周期时长内检测到的多个数据读取速率的平均值;以及,任一周期时长内获取到的数据写入速率为该周期时长内检测到的多个数据写入速率的平均值。

10.根据权利要求1所述的方法,其特征在于,所述数据读取速率包括查询速率QPS;所述数据写入速率包括事务处理速率TPS或者WriteRate。

11.根据权利要求1-10任意一项所述的方法,其特征在于,为所述存储引擎预配置了与文件合并速率对应的限速范围;调整后的所述文件合并限速值为在所述限速范围之内的限速值。

12.一种针对LSM树的文件合并装置,其特征在于,所述装置包括:

13.一种计算机设备,其特征在于,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至11任意一项所述的方法。

14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任意一项所述的方法。

...

【技术特征摘要】

1.一种针对lsm树的文件合并方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述与数据库的访问请求对应的数据读取速率和数据写入速率,包括:

3.根据权利要求1所述的方法,其特征在于,所述将所述数据读取速率和所述数据写入速率分别与预设的速率区间进行对比,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据对比结果,调整所述存储引擎的文件合并限速值,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述合并条件包括:

7.根据权利要求1所述的方法,其特征在于,所述存储引擎启用至少一个合并任务线程来执行文件合并操作;所述调整所述存储引擎的文件合并限速值,包括:

8.根据权利要求1所述的方法,其特征在于,所述获取与数据库的访问请求对应的数据读取速率和数据写入速率,包括:

9.根据权利要求8所述的方法,其特征在于,任一周期时...

【专利技术属性】
技术研发人员:黄华朱炳鹏
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1