【技术实现步骤摘要】
数据查询方法及装置
[0001]本公开涉及数据存储
,具体涉及一种数据查询方法及装置。
技术介绍
[0002]日志结构合并(Log Structured Merge,LSM)树经常被应用于非关系型数据库。在基于LSM树的存储系统中,数据通常是以key
‑
value的形式进行存储。如果需要查询目标key在某层中的文件位置,则需要对该层的文件进行二分查找,以确定存储目标key的文件。
[0003]在上述查询方式中,不仅需要进行比较耗时的key字符串的比较,而且二分查找的时间复杂度为logN,也就是说,查询复杂度与该层的文件数量有关。该层的文件数量越多,查询所需要的时间可能越长。因此,采用上述二分查找的方式不利于提高查询速度。
技术实现思路
[0004]本公开实施例提供一种数据查询方法及装置,能够提高数据查询速度。
[0005]第一方面,提供了一种数据查询方法,所述方法应用于基于LSM树的数据库,所述LSM树包括多层结构,所述多层结构中的第K层包括M个文件,所述M个文件的文件 ...
【技术保护点】
【技术特征摘要】
1.一种数据查询方法,所述方法应用于基于日志结构合并LSM树的数据库,所述LSM树包括多层结构,所述多层结构中的第K层包括M个文件,所述M个文件的文件索引与M个哈希范围存在一一映射关系,所述M个文件中的每个文件用于存储至少一个数据,且所述每个文件中存储的数据的key经过哈希运算后得到的哈希索引落入所述每个文件对应的哈希范围,所述方法包括:接收查询请求,所述查询请求用于查询目标key对应的数据;对所述目标key进行所述哈希运算,得到目标key对应的第一哈希索引;根据所述第一哈希索引,从所述M个文件中确定第一目标文件的文件索引,其中,所述第一目标文件对应的哈希范围包含所述第一哈希索引;根据所述第一目标文件的文件索引,在所述第一目标文件中查询所述目标key对应的数据。2.根据权利要求1所述的方法,所述M个哈希范围中的每个哈希范围包含的哈希索引连续,且所述M个哈希范围不重叠。3.根据权利要求2所述的方法,所述M个哈希范围包含相同数量的哈希索引。4.根据权利要求3所述的方法,所述M的取值为2
m
,所述根据所述第一哈希索引,从所述M个文件中确定第一目标文件的文件索引,包括:将所述第一哈希索引右移(n
‑
m)位,得到所述第一目标文件的文件索引,n为哈希索引的比特位数,m、n为整数,且n≥m。5.根据权利要求1所述的方法,所述多层结构的第S层包括N个文件,所述方法还包括:从所述M个文件中选择待合并文件;根据所述待合并文件对应的哈希范围,从所述N个文件中确定第二目标文件的文件索引,所述第二目标文件对应的哈希范围与所述待合并文件对应的哈希范围一致;根据所述第二目标文件的文件索引,将所述待合并文件与所述第二目标文件进行合并。6.根据权利要求5所述的方法,N为M的整数倍。7.根据权利要求6所述的方法,M的取值为2
m
,N的取值为2
p
,p>m,所述根据所述待合并文件对应的哈希范围,从所述N个文件中确定第二目标文件的文件索引,包括:将所述待合并文件的文件索引以及所述待合并文件的下一个文件的文件索引分别左移(p
‑
m)位,得到所述第二目标文件的文件索引。8.一种数据查询装置,所述装置应用于基于日志结构合并LSM树的数据库,所述LSM树包括多层结构,所述多层结...
【专利技术属性】
技术研发人员:黄华,宋杰,刘静怡,江进,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。