【技术实现步骤摘要】
一种数据存储方法及装置、电子设备及存储介质
[0001]本专利技术涉及计算机数据存储
,具体提供一种数据存储方法及装置、电子设备及存储介质。
技术介绍
[0002]B+树是一种树数据结构,通常用于数据库和操作系统的文件索引系统中。比如NTFS、ReiserFS、NSS、XFS、JFS、ReFS以及BFS等文件系统都在使用B+树作为元数据索引。B+树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。B+树是一种平衡查找树,所有记录节点都是按键值的大小顺序存放在同一层的叶节点中,各叶节点指针进行连接。
[0003]现有技术中,经典B+树本身是紧凑排序的,所以删除、更新、新增key都会发生叶子节点的变动,这样产生的问题是只要涉及到某个叶子节点,即使某些key不需要更新,其数据也需要拷贝到新的叶子节点,以保证数据的紧凑存储,这里会带来内存申请拷贝,及磁盘io操作。因为B+树是平衡的,在新增节点和删除节点时,会造成父节点的索引信息变更,平衡的计算是消耗cpu的,索引的更新是消耗内存和io的。因此,经典 ...
【技术保护点】
【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:构建数据库数据层,包含若干个分片page,每个分片page上存储完整的KV键值对数据;构建数据库索引层,存储数据库数据层中存储的KV键值对数据的索引信息,所述的索引信息以树形结构存储,包括产生各个分片page的分裂key作为索引key,各个分裂key对应的分片page的ID信息作为索引value。2.根据权利要求1所述的一种数据存储方法,其特征在于,所述的数据库数据层中每个分片page中包含增量更新文件和存储文件:所述增量更新文件和存储文件均存储完整的KV键值对数据,且所述KV键值对数据中的key值是有序排列的;所述增量更新文件和存储文件中的key值是存在重叠的,当增量更新文件和存储文件中同时存储同一key值,则优先读取增量更新文件,其次查找存储文件。3.根据权利要求2所述的一种数据存储方法,其特征在于,所述的数据库数据层中包含分片p1、分片p2、......、分片pn,分片p1上存储KV键值对数据包括(k11,v11)、(k12,v12)、......、(klr,vlr),key值由k11至klr有序增大,分片p2上存储KV键值对数据包括(k21,v21)、(k22,v22)、......、(k2s,v2s),key值由k21至k2s有序增大,分片pn上存储KV键值对数据包括(kn1,vn1)、(kn2,vn2)、......、(knt,vnt),key值由kn1至knt有序增大,分片p1至分片pn中下一分片中的最小key大于上一分片中的最大key;所述的数据库索引层中存储索引信息的索引key包括(k1r、k2s、......、knt),索引value包括(分片p1的ID、分片p2的ID、......、分片pn的ID);将写入key在数据库索引层中的索引信息中进行索引查找,判断写入key在索引key中的位置区间,根据位置区间确定索引value所对应的分片pn的ID。4.根据权利要求3所述的一种数据存储方法,其特征在于,包括数据写入流程:针对内存表中的写入key值在数据库索引层中树形结构的索引信息中进行查找,得到索引value;将内存表中写入key值对应的完整KV键值对数据写入索引value所对应分片page中的增量更新文件中。5.根据权利要求4所述的一种数据存储方法,其特...
【专利技术属性】
技术研发人员:徐锐波,幸福,卢文伟,刘方,
申请(专利权)人:北京云思智学科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。