【技术实现步骤摘要】
一种b+树存储空间优化方法及设备
[0001]本申请涉及存储
,尤其涉及一种b+树存储空间优化方法及设备。
技术介绍
[0002]传统存储技术中,b+树常常用于磁盘数据的组织形式,能有效降低读写盘的次数,且具有稳定的读写性能,如mysql,oracle均是基于b树的存储引擎。b+树的非叶子节点和叶子节点均存储key而不存储实际数据从而提高索引的数量,降低树的层级。
[0003]而在高性能的存储介质中(如SCM),由于单位容量的成本较高,需要考虑尽可能降低空间的占用。对于key较长的场景,如对于需要按字典序排序的b+树结构,由于key的长度是变长字符串,导致key值占用较多的空间。
技术实现思路
[0004]本申请实施例提供一种b+树存储空间优化方法及设备,用以优化b+树的数据结构,降低key值带来的元数据空间消耗。
[0005]本申请实施例提供一种b+树存储空间优化方法,包括:
[0006]将b+树的非叶子节点key值通过hash算法转换成等长的hashkey,其中所述hashk ...
【技术保护点】
【技术特征摘要】
1.一种b+树存储空间优化方法,其特征在于,包括:将b+树的非叶子节点key值通过hash算法转换成等长的hash key,其中所述hash key包括第一比较单元和第二比较单元,所述第一比较单元与所述第二比较单元记录的值不同,在查找比较时,按照预设顺序比较所述第一比较单元与所述第二比较单元,以实现内部排序;对于b+树的非叶子节点,不存储真实的key值,仅存储该非叶子节点对应条目(rec)所表示范围下界的叶子节点的地址。2.如权利要求1所述的b+树存储空间优化方法,其特征在于,所述第一比较单元和所述第二比较单元的长度相同,所述第一比较单元还包括等长的第一比较子单元和第二比较子单元,其中:所述第一比较子单元,用以记录字符串长度;所述第二比较子单元,为采用第一哈希算法获得的第一hash值;所述第二比较单元,为采用第二哈希算法获得的第二hash值;在查找比较时,先比较所述第一比较单元,后比较所述第二比较单元,以实现内部排序。3.如权利要求2所述的b+树存储空间优化方法,其特征在于,对于长度小于所述hashkey长度的字符串,利用第一长度字节存储所述字符串的长度,利用第二长度字节存储所述字符串,其中所述第一长度与第二长度之和与所述hashkey的长度相同;在查找比较时,先比较第三长度字节所述第一比较单元,后比较第四长度字节,以实现内部排序,其中所述第三长度字节、第四长度字节与所述第二比较单元的长度相同。4.如权利要求1所述的b+树存储空间优化方法,其特征在于,还包括将真实的key存储在叶子节点,在搜索所述b+树对应层级的情况下,通过非叶子节点中的地址找到对应的叶子节点,并获取该叶子节点第0个rec的key值进行比较。5.一种终端设备,其特征在于,包括处理器,其被配置为:将b+树的非叶子节点key值通过hash算法转换成等长的has...
【专利技术属性】
技术研发人员:陈柳泉,张群,
申请(专利权)人:中电云数智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。