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

一种基于改进LSM树结构的数据存储方法及系统技术方案

技术编号:31020131 阅读:69 留言:0更新日期:2021-11-30 03:07
本发明专利技术公开了一种基于改进LSM树结构的数据存储方法及系统,该方法包括:获响应于用户创建数据库的操作,系统根据用户指定容量,创建更新表并设置阈值;响应于用户向数据库中插入键值对,系统将键值对记录到Memtable,将键记录到更新表判断到更新表未达到预设阈值,则插入过程结束;判断到更新表达到预设阈值,选择符合预设条件的SStable触发特殊压缩操作。该系统包括:预创建模块和存储模块。通过使用本发明专利技术,降低LSM

【技术实现步骤摘要】
一种基于改进LSM树结构的数据存储方法及系统


[0001]本专利技术涉及数据存储领域,尤其涉及一种基于改进LSM树结构的数据存储方法及系统。

技术介绍

[0002]LSM

Tree(Log

Structured

Merge Tree)是一种日志结构合并树,是一种分层、有序、面向磁盘的数据存储结构。在传统基于LSM

Tree的数据存储系统中,所有对键的更新通过插入一个新的键值对来完成,旧的键值对仍然保留在系统中,成为无效键值对,且没有识别频繁访问的键值对(即热数据)的功能。在实际应用中,某些键是经常被更新或是经常被读取的,这就导致系统中可能存在大量的无效键值对,且若经常被读取的键值对不在缓存中,要花费多次磁盘I/O才能读取,从而导致了较高的尾延迟。

技术实现思路

[0003]为了解决上述技术问题,本专利技术的目的是提供一种基于改进LSM树结构的数据存储方法及系统,本专利技术在传统的LSM

Tree数据存储系统中,加入了记录最新更新的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于改进LSM树结构的数据存储方法,其特征在于,包括以下步骤:响应于用户创建数据库的操作,系统根据用户指定容量,创建更新表并设置阈值,同时创建热数据记录表;响应于用户向数据库中插入键值对,系统将键值对记录到Memtable,将键记录到更新表;判断到更新表未达到预设阈值,则插入过程结束;判断到更新表达到预设阈值,选择符合预设条件的SStable触发特殊压缩操作。2.根据权利要求1所述一种基于改进LSM树结构的数据存储方法,其特征在于,还包括查询步骤:响应于用户向数据库发起查询,查找该键值对并将对应的键数据添加到热数据记录表。3.根据权利要求1所述一种基于改进LSM树结构的数据存储方法,其特征在于,改进LSM树结构包括Memtable、更新表、热数据记录表和SStable。4.根据权利要求3所述一种基于改进LSM树结构的数据存储方法,其特征在于,所述响应于用户向数据库中插入键值对,系统将键值对记录到Memtable,将键记录到更新表这一步骤还包括:当Memtable记录的键值对写满,将Memtable记录的键值转为SStable;判断到SStable的数量达到预设值,触发普通压缩操作。5.根据权利要求4所述一种基于改进LSM树结构的数据存储方法,其特征在于,所述判断到SStable的数量达到预设值,触发普通压缩操作这一步骤,其具体包括:根据所有SSTable生成一个总体的迭代器,依次访问每个键值对;判断到当前键是首次出现,保留并记录该键;判断到当前键不是首次出现,表示该键为旧数据,标记为drop;将没有被标记为drop的键值对写入新的SSTable文件并保存到下一层次中;迭代完成后将旧的SSTable文件删除。6.根据权利要求1所述一种基于改进LSM树结构的数据存储方法,其特征在于,所述预设条件的SStable具体包括:构建旧数据分割线;将分割线所在的层次记为L
d
,从L
d
的下一层L
d+1
开始,逐层读取每个SSTable文件的元数据;根据元数据中的键范围与更新表的最大键和最小键作比较,并判断有无范围交叉;判断到有范围交叉,计算该SSTabl...

【专利技术属性】
技术研发人员:林清音陈志广卢宇彤
申请(专利权)人:中山大学
类型:发明
国别省市:

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

1