【技术实现步骤摘要】
一种数据仓库中的数据管理方法、系统、装置、设备及介质
[0001]本说明书涉及数据仓库
,尤其涉及一种数据仓库中的数据管理方法、系统、装置、设备及介质。
技术介绍
[0002]随着计算机技术的发展,数据仓库在主流软件系统中的使用越来越普遍,但随着数据仓库的使用,数据仓库中用于存储数据记录的文件数量会越来越多,文件的体量也越来越大,这不仅会严重影响数据仓库的稳定性,还会拖慢文件的查询速度。
[0003]例如,假设初始时数据仓库中的文件按照分割键的范围有序划分,但随着对这些文件中存储的数据记录的增加、删除和修改等操作,日积月累之后,将导致这些文件不再有序分布,各个文件之间的分割键的范围可能存在重叠,那么在查询数据时,需要加载和查询的文件也就越多,导致查询效率降低,难以及时响应查操作。
[0004]因此,为了提高查询性能,保证及时响应,需要对数据仓库中的文件进行管理。
技术实现思路
[0005]有鉴于此,本说明书一个或多个实施例提供一种数据仓库中的数据管理方法、系统、装置、设备及介质,以解决相关技术中存在的问题。
[0006]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0007]根据本说明书实施例的第一方面,提供一种数据仓库中的数据管理方法,所述数据仓库采用了计算存储分离架构;所述数据仓库中的数据记录,基于指定的分割键分割为多个文件,所述文件存储在所述数据仓库的存储层,每个文件分别对应了不同的键范围;所述方法应用于所述数据仓库的计算层中的计算节点,所述 ...
【技术保护点】
【技术特征摘要】
1.一种数据仓库中的数据管理方法,所述数据仓库采用了计算存储分离架构;所述数据仓库中的数据记录,基于指定的分割键分割为多个文件,所述文件存储在所述数据仓库的存储层,每个文件分别对应了不同的键范围;所述方法应用于所述数据仓库的计算层中的计算节点,所述方法包括:从所述存储层中存储的多个文件中确定对应的键范围存在重叠的至少两个文件作为待合并的源文件,并根据所有源文件的数据记录的总数量和指定的输出文件包含的数据记录的数量,确定所述输出文件的个数N;针对各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件;按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,并将所述N个输入文件重新写入所述存储层进行存储。2.根据权利要求1所述的方法,所述针对各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件,包括:响应于所述分割键为排序键,采用归并排序的方式,基于与所述分割键对应的数据内容,针对所述各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件。3.根据权利要求2所述的方法,所述按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,包括:响应于所述分割键为排序键,按照所述目标文件中的数据记录的排列顺序,从所述目标文件中的首行数据记录开始,每M行数据记录输出为一个输出文件,以将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件;所述M的取值为所述指定的输出文件包含的数据记录的数量。4.根据权利要求1所述的方法,所述针对各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件,包括:响应于所述分割键为非排序键,根据从所述分割键以外的其它键中指定的排序键,采用归并排序的方式,基于与所述指定的排序键对应的数据内容,针对所述源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件。5.根据权利要求4所述的方法,在按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录进一步拆分成对应的键范围不存在重叠的N个输出文件之前,所述方法还包括:获取所述各个源文件的数据记录中针对与所述分割键对应的数据内容的统计结果,并将获取到的统计结果汇总为目标统计结果;其中,所述统计结果包括所述分割键的键范围,和所述键范围中的各个键取值对应的数据内容在所述各个源文件中的出现次数的对应关系;基于所述出现次数,将所述目标统计结果包含的所述分割键的键范围,划分为对应的出现次数相同的N个子区间。6.根据权利要求5所述的方法,所述按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,包括:响应于所述分割键为非排序键,按照所述目标文件中的数据记录的排列顺序,从所述
目标文件中的首行数据记录开始,根据该数据记录中与所述分割键对应的数据内容确定该数据记录所属的键范围的子区间,并将该数据记录写入与所述子区间对应的输出文件,以将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件;所述输出文件与所述子区间一一对应。7.根据权利要求1所述的方法,所述方法还包括:响应于所述所有源文件包括的数据记录的总数量达到阈值,根据各个源文件存储的数据记录中与所述分割键对应的数据内容的最小值,对所述所有源文件进行排序;根据所述源文件的个数,对排序结果中的源文件进行平均分组;所述分组的数量与每个分组内的源文件最大数量的乘积,大于等于所述源文件的个数;将所述每个分组中的源文件确定为所述待合并的源文件,将所述每个分组内的源文件最大数量确定为所述输出文件的数量。8.根据权利要求1所述的方法,所述数据仓库的存储层包括第一文件存储区和第二文件存储区;所述第一文件存储区用于存储新生成的文件,所述第二文件存储区用于存储基于所述分割键生成的文件;所述方法还包括:响应于所述第一文件存储区满足预设的第一合并条件,将所述第一文件存储区中的文件确定为所述待合并的源文件;响应于所述第二文件存储区满足预设的第二合并条件,计算各个第二文件存储区与其他任一第二文件存储区的合并分数,并根据所述合并分数...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。