System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据存储,具体涉及一种面向元数据稀疏分布的日志结构合并(log structured merge,以下简称:lsm)数据组织方法及装置。
技术介绍
1、基于lsm的数据库将海量键值对数据的随机读写实现为内存随机读写、顺序刷盘和定期归并,充分利用磁盘顺序写性能高于随机写的特性,内存中的mutable memtable(以下称为:可变内存表)达到阈值时会转化为immutable memtable(以下称为:不可变内存表)状态,后续刷写进磁盘中。
2、键值对数据刷写进磁盘时,先刷写形成排序字符串表并放入低层级,然后随着合并排序操作,键值对数据逐层向上迁移。其中,合并排序操作会先从低层级中选取某个排序字符串表作为低层级排序字符串表输入,然后在相邻高层级中选取键控范围和低层级排序字符串表键控范围存在交集的排序字符串表,并作为高层级排序字符串表输入,在内存中完成键值对数据的合并排序,并再次刷写进高层级中。若键值对数据写入速度大于合并排序操作的速度,就会使得低层级延迟完成排序字符串表迁移,延迟释放空间,进而阻塞写入,因而合并排序操作的速度直接影响系统的写入速度。然而,当面对元数据稀疏分布的低层级排序字符串表时,即低层级排序字符串表所含键值对数据较少,但键值对数据的键名分布范围较广,这种情况下,小体积的低层级排序字符串表会导致大量的高层级排序字符串表参与合并排序操作,随着层级的增加,反复参与合并排序过程的高层级排序字符串表的数量更多,体积更大,这将占用大量磁盘带宽、cpu等系统资源,极大地影响了系统的读写性能。
...【技术保护点】
1.一种面向元数据稀疏分布的LSM数据组织方法,其步骤包括:
2.根据权利要求1所述的方法,其特征在于,对每一所述键名群组进行修剪的方法为:将所述键名群组中的最小键作为对应键值对分区的键控范围左边界值,将所述键名群组中的最大键作为所述键值对分区的键控范围右边界值;若所述键值对分区的键控范围右边界值与左边界值的绝对差值超过所述键值对分区的键控范围大小阈值R,则依据所述键值对分区的键控范围大小阈值R对所述键值对分区的键控范围进行修剪,修剪方式为按键大小依次淘汰最小键,直至所述键值对分区的键控范围右边界值与左边界值的绝对差值保持在所述键值对分区的键控范围大小阈值R之内。
3.根据权利要求1或2所述的方法,其特征在于,所述新的键值对分区的键控范围右边界值与左边界值的绝对差值保持在所述键值对分区的键控范围大小阈值R之内,且所述新的键值对分区和已有键值对分区的键控范围之间不存在交集。
4.根据权利要求1所述的方法,其特征在于,所述键值对数据暂存区使用设定的检索数据结构实现,应用支持快速检索;所述键值对数据暂存区向外部模块提供获取暂存区内全量键值对数据和全量
5.根据权利要求1所述的方法,其特征在于,将键名位于区间[A-T,B+T]中的键值对数据筛选出来的过程中,若当前筛选的键值对的键名所在的键值对分区i存在前一键值对分区j,则所述区间的左边界值A-T需要大于所述键值对分区j的键控范围右边界值,若所述键值对分区i存在后一键值对分区k,则所述区间右边界值B+T需要小于所述键值对分区k的键控范围左边界值,且所述区间的大小B-A+2*T需要保持在所述键值对分区的键控范围大小阈值R之内。
6.根据权利要求1所述的方法,其特征在于,当存在多个所述不可变内存表时,使用刷写队列管理所述不可变内存表。
7.一种面向元数据稀疏分布的LSM数据组织装置,其特征在于,包括
8.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至6任一所述方法中各步骤的指令。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法的步骤。
...【技术特征摘要】
1.一种面向元数据稀疏分布的lsm数据组织方法,其步骤包括:
2.根据权利要求1所述的方法,其特征在于,对每一所述键名群组进行修剪的方法为:将所述键名群组中的最小键作为对应键值对分区的键控范围左边界值,将所述键名群组中的最大键作为所述键值对分区的键控范围右边界值;若所述键值对分区的键控范围右边界值与左边界值的绝对差值超过所述键值对分区的键控范围大小阈值r,则依据所述键值对分区的键控范围大小阈值r对所述键值对分区的键控范围进行修剪,修剪方式为按键大小依次淘汰最小键,直至所述键值对分区的键控范围右边界值与左边界值的绝对差值保持在所述键值对分区的键控范围大小阈值r之内。
3.根据权利要求1或2所述的方法,其特征在于,所述新的键值对分区的键控范围右边界值与左边界值的绝对差值保持在所述键值对分区的键控范围大小阈值r之内,且所述新的键值对分区和已有键值对分区的键控范围之间不存在交集。
4.根据权利要求1所述的方法,其特征在于,所述键值对数据暂存区使用设定的检索数据结构实现,应用支持快速检索;所述键值对数据暂存区向外部模块提供获取暂存区内全量键值对数据和全...
【专利技术属性】
技术研发人员:李斌斌,陈如阳,贾思宇,丁煜,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。