【技术实现步骤摘要】
一种针对数据库的数据合并方法及装置
[0001]本说明书涉及数据库
,尤其涉及一种针对数据库的数据合并方法及装置。
技术介绍
[0002]数据库中的数据可以基于分层结构进行管理,以图1所示的基于日志结构合并树结构(LSM
‑
Tree,Log
‑
Structured
‑
Merge
‑
Tree)实现的数据库为例,该数据库在内存中的内存表文件(MemTable)转储(dump或Minor Compaction)至磁盘的字符串排序表文件(Sorted String Table,SSTable)后,可以将磁盘的Ck
‑
1中包含增量数据的增量文件与Ck中包含基线数据的基线文件进行合并(merge或Major Compaction),从而将合并后的数据写入至下一层的新文件的数据块中,以节省存储空间并提高数据查询效率。
[0003]在相关技术中,上述新文件中包含数据块的数量容易受到增量文件与基线文件所含数据块的数据的影响,导致数据块没有充 ...
【技术保护点】
【技术特征摘要】
1.一种针对数据库的数据合并方法,所述数据库用于存储包含增量数据的增量文件以及包含基线数据的基线文件,所述基线文件中的基线数据被有序地划分至一组基线数据块;所述方法包括:响应于针对所述增量文件的合并指令,读取所述增量文件中的增量数据;确定各条增量数据在基线文件中分别对应的基线数据块;其中,每一基线数据块中的基线数据与对应的增量数据构成待写入数据集;生成目标文件,并将各个待写入数据集依次写入所述目标文件中的目标数据块;其中,至少一个目标数据块预留有预设比例的存储空间。2.根据权利要求1所述的方法,还包括:在将任一待写入数据集写入所述目标文件的过程中,确定所述任一待写入数据集在所述目标文件中对应的当前目标数据块;计算所述当前目标数据块的已写入数据与所述任一待写入数据集所含基线数据的数据量之和;在计算的数据量之和小于所述当前目标数据块的最大存储数据量的情况下,设定不对所述当前目标数据块预留存储空间;在计算的数据量之和大于或等于所述最大存储数据量的情况下,设定对所述当前目标数据块预留所述预设比例的存储空间。3.根据权利要求2所述的方法,所述基线文件中的基线数据块与所述目标文件中的目标数据块的最大存储数据量相同,所述方法还包括:在计算的数据量之和大于或等于所述最大存储数据量的情况下,设定不对下一目标数据块预留所述预设比例的存储空间。4.根据权利要求2所述的方法,还包括:在所述任一待写入数据集无法完全写入所述当前目标数据块且继续占用后续一个或多个目标数据块的情况下,设定对所述后续一个或多个目标数据块预留所述预设比例的存储空间。5.根据权利要求1所述的方法,还包括:在所述基线文件尚不存在的情况...
【专利技术属性】
技术研发人员:胡荣辉,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。