当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于制造技术

技术编号:39493827 阅读:9 留言:0更新日期:2023-11-24 11:19
本发明专利技术公开了一种基于

【技术实现步骤摘要】
一种基于RadixSpline加速键值对检索的LSMT读优化方法


[0001]本专利技术属于数据库系统存储
,特别涉及一种基于
RadixSpline
加速键值对检索的
LSMT
读优化方法


技术介绍

[0002]日志结构合并树
(Log

Structured

Merge Tree

LSMT)
是一种存储引擎的底层结构,其适配磁盘硬件特性,将大量的随机写转换成顺序写以获得高效的写入能力,被广泛用在数据密集型系统中

传统的日志结构合并树将键和值存储在一起,在层间合并时由于值重复写磁盘引入了严重的写放大问题

针对此问题,
Wisckey
采取键值分离的设计,将值存储在分离的值日志文件上,在
SSTable
中只存储值的指针,大大减小层间合并时磁盘的写入量

[0003]学习索引将人工智能的思想应用于数据库系统,用机器学习模型替代传统的数据库索引,维护键和其位置之间的映射关系,预测输入键的偏移量,将键值对的查找最终限定在了一个误差范围内,如果键在这个最终限定的范围中存在,可以通过线性查找找到实际位置
。Wisckey

SSTable
存的值是所占空间等大的指针,
SSTable
中的数据已排序且不改变,符合学习索引的应用条件
。RadixSpline<br/>是一种不支持更新的学习索引模型,但有着在数据遍历的过程中模型一次构建的优势

[0004]在
SSTable
中查找一个存在的键值对包含加载文件

检索

读取值几个部分
。Wisckey
由于键值分离,存储同样数量键值对的
SSTable
所占空间要比非键值分离的小很多,可被大量缓存在内存中,在高速存储设备上检索的时间占比大大提高,本专利技术基于此进行读优化的设计


技术实现思路

[0005]本专利技术的目的是克服现有技术中的不足,提供一种基于
RadixSpline
加速键值对检索的
LSMT
读优化方法

[0006]本专利技术实施例的第一方面提供了一种基于
RadixSpline
加速键值对检索的
LSMT
读优化方法,所述方法包括以下步骤:
[0007]构建并训练
RadixSpline
模型;所述
RadixSpline
模型包含前缀表和模型数组;所述前缀表用于在构造模型数组的同时判断新加入模型数组元素的前缀,当新加入模型数组元素的前缀与现有的模型数组元素的前缀不一致时,将该新前缀与以及其指向的模型数组元素下标记录到前缀表中;所述模型数组中的元素和数据集元素一致;所述数据集用于存储键

偏移量对;
[0008]将训练好的
RadixSpline
模型融合进
LSM

Tree
架构,使
RadixSpline
模型替换原有
SSTable
内键值对检索方式;
[0009]通过
RadixSpline
模型进行预测获取键值对偏移量的误差区间,然后在偏移量的误差区间内线性查找在
SSTable
内检索键值对

[0010]进一步地,将训练好的
RadixSpline
模型融合进
LSM

Tree
架构包括:
[0011]在所有生成日志结构合并树
SSTable
的时刻将生成日志结构合并树
SSTable
的键值对列表传送给
RadixSpline
模型保存;
[0012]取消
SSTable
结构原有的读放大优化结构,包括取消二分查找块

过滤器块和
LSM

Tree
迭代器

[0013]进一步地,将训练好的
RadixSpline
模型融合进
LSM

Tree
架构还包括:
[0014]对日志结构合并树
SSTable
的键值对列表进行处理,将生成日志结构合并树
SSTable
中的最大值和最小值相减,记录差值中前缀0的个数
commonBits
,前缀表记录的键的前缀位从高位开始的第
commonBits
位开始计算

[0015]进一步地,通过
RadixSpline
模型进行预测获取键值对偏移量的误差区间包括:
[0016]对一个输入的键,通过
RadixSpline
模型预测偏移量后,获得一个误差范围
[lower,upper];其中,
lower
为第一误差下限,
upper
为第一误差上限;
[0017]将第一误差下限
lower
和第一误差上限
upper
各除以块中键值对的个数求得第二误差下限
idxLower
和第二误差上限
idxUpper
,在
[idxLower,idxUpper]的范围中检查遍历到的块,对每个遍历到的块进行二分查找,直到获取查询结果;
[0018]其中,若干个键值对被存储于一个块中

[0019]进一步地,通过
RadixSpline
模型进行预测获取键值对偏移量的误差区间还包括:
[0020]判断第一误差下限
lower
和日志结构合并树
SSTable
最大值的大小关系,如果第一误差下限
lower
大于日志结构合并树
SSTable
,则表明输入键不在日志结构合并树
SSTable


[0021]本专利技术实施例的第二方面提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于
RadixSpline
加速键值对检索的
LSMT
读优化方法

[0022]本专利技术实施例的第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于
RadixSpline
加速键值对检索的
LSMT
读优化方法

[0023]与现有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
RadixSpline
加速键值对检索的
LSMT
读优化方法,其特征在于,所述方法包括以下步骤:构建并训练
RadixSpline
模型;所述
RadixSpline
模型包含前缀表和模型数组;所述前缀表用于在构造模型数组的同时判断新加入模型数组元素的前缀,当新加入模型数组元素的前缀与现有的模型数组元素的前缀不一致时,将该新前缀与以及其指向的模型数组元素下标记录到前缀表中;所述模型数组中的元素和数据集元素一致;所述数据集用于存储键

偏移量对;将训练好的
RadixSpline
模型融合进
LSM

Tree
架构,使
RadixSpline
模型替换原有
SSTable
内键值对检索方式;通过
RadixSpline
模型进行预测获取键值对偏移量的误差区间,然后在偏移量的误差区间内线性查找在
SSTable
内检索键值对
。2.
根据权利要求1所述的一种基于
RadixSpline
加速键值对检索的
LSMT
读优化方法,其特征在于,将训练好的
RadixSpline
模型融合进
LSM

Tree
架构包括:在所有生成日志结构合并树
SSTable
的时刻将生成日志结构合并树
SSTable
的键值对列表传送给
RadixSpline
模型保存;取消
SSTable
结构原有的读放大优化结构,包括取消二分查找块

过滤器块和
LSM

Tree
迭代器
。3.
根据权利要求2所述的一种基于
RadixSpline
加速键值对检索的
LSMT
读优化方法,其特征在于,将训练好的
RadixSpline
模型融合进
LSM

Tree
架构还包括:对日志结构合并树
SSTable
的键值对列表进行处理,将生成日志结构合并树
SSTable
中的最大值和最小值相减,记录差值中前缀0的个数

【专利技术属性】
技术研发人员:徐莹
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1