一种数据仓库中的数据管理方法、系统、装置、设备及介质制造方法及图纸

技术编号:39329816 阅读:12 留言:0更新日期:2023-11-12 16:06
本说明书实施例提供一种数据仓库的数据管理方法,数据仓库中的数据记录基于指定的分割键分割为多个文件并存储在数据仓库的存储层,每个文件分别对应了不同的键范围;包括:数据仓库的计算层中的计算节点从多个文件中确定对应的键范围存在重叠的至少两个文件作为待合并的源文件,并根据所有源文件的数据记录的总数量和指定的输出文件包含的数据记录的数量,确定输出文件的个数N;针对各个源文件中的数据记录重新进行归并排序,以将源文件合并为目标文件;按照目标文件中的数据记录的排列顺序,将目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,将N个输入文件重新写入存储层进行存储,消除重叠键范围,控制合并收益及开销。制合并收益及开销。制合并收益及开销。

【技术实现步骤摘要】
一种数据仓库中的数据管理方法、系统、装置、设备及介质


[0001]本说明书涉及数据仓库
,尤其涉及一种数据仓库中的数据管理方法、系统、装置、设备及介质。

技术介绍

[0002]随着计算机技术的发展,数据仓库在主流软件系统中的使用越来越普遍,但随着数据仓库的使用,数据仓库中用于存储数据记录的文件数量会越来越多,文件的体量也越来越大,这不仅会严重影响数据仓库的稳定性,还会拖慢文件的查询速度。
[0003]例如,假设初始时数据仓库中的文件按照分割键的范围有序划分,但随着对这些文件中存储的数据记录的增加、删除和修改等操作,日积月累之后,将导致这些文件不再有序分布,各个文件之间的分割键的范围可能存在重叠,那么在查询数据时,需要加载和查询的文件也就越多,导致查询效率降低,难以及时响应查操作。
[0004]因此,为了提高查询性能,保证及时响应,需要对数据仓库中的文件进行管理。

技术实现思路

[0005]有鉴于此,本说明书一个或多个实施例提供一种数据仓库中的数据管理方法、系统、装置、设备及介质,以解决相关技术中存在的问题。
[0006]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0007]根据本说明书实施例的第一方面,提供一种数据仓库中的数据管理方法,所述数据仓库采用了计算存储分离架构;所述数据仓库中的数据记录,基于指定的分割键分割为多个文件,所述文件存储在所述数据仓库的存储层,每个文件分别对应了不同的键范围;所述方法应用于所述数据仓库的计算层中的计算节点,所述方法包括:
[0008]从所述存储层中存储的多个文件中确定对应的键范围存在重叠的至少两个文件作为待合并的源文件,并根据所有源文件的数据记录的总数量和指定的输出文件包含的数据记录的数量,确定所述输出文件的个数N;
[0009]针对各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件;
[0010]按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,并将所述N个输入文件重新写入所述存储层进行存储。
[0011]根据本说明书实施例的第二方面,提供一种数据仓库中的数据管理系统,所述数据仓库采用了计算存储分离架构;所述数据仓库中的数据记录,基于指定的分割键分割为多个文件,所述文件存储在所述数据仓库的存储层,每个文件分别对应了不同的键范围;所述系统包括:
[0012]确定子系统,从所述存储层中存储的多个文件中确定对应的键范围存在重叠的至少两个文件作为待合并的源文件,并根据所有源文件的数据记录的总数量和指定的输出文
件包含的数据记录的数量,确定所述输出文件的个数N;
[0013]排序子系统,针对各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件;
[0014]拆分子系统,按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,并将所述N个输入文件重新写入所述存储层进行存储。
[0015]根据本说明书实施例的第三方面,提供一种数据仓库中的数据管理装置,所述数据仓库采用了计算存储分离架构;所述数据仓库中的数据记录,基于指定的分割键分割为多个文件,所述文件存储在所述数据仓库的存储层,每个文件分别对应了不同的键范围;所述装置应用于所述数据仓库的计算层中的计算节点,所述装置包括:
[0016]第一确定模块,从所述存储层中存储的多个文件中确定对应的键范围存在重叠的至少两个文件作为待合并的源文件,并根据所有源文件的数据记录的总数量和指定的输出文件包含的数据记录的数量,确定所述输出文件的个数N;
[0017]排序模块,针对各个源文件中的数据记录重新进行归并排序,以将所述源文件合并为目标文件;
[0018]拆分模块,按照所述目标文件中的数据记录的排列顺序,将所述目标文件中的数据记录拆分成对应的键范围不存在重叠的N个输出文件,并将所述N个输入文件重新写入所述存储层进行存储。
[0019]根据本说明书实施例的第四方面,提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
[0020]所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
[0021]根据本说明书实施例的第五方面,提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
[0022]本说明书的实施例提供的技术方案可以包括以下有益效果:
[0023]通过以上技术方案,在对数据仓库中的数据进行管理时,可以根据确定出的键范围存在重叠的源文件,将这些源文件中的数据记录进行归并排序,合并为目标文件,根据确定出的输出文件的个数,将目标文件中有序排列的数据记录拆分到各个输出文件中存储,使得各个输出文件的键范围不存在重叠。在上述过程中,通过选取键范围存在重叠的文件作为源文件,并通过归并排序将源文件合并后进行有序拆分,得到键范围不重叠的多个输出文件,从而尽可能消除文件在键范围上的重叠,减少查询文件时需要访问的文件数量,提高查询性能,并且,还可以合理的控制合并带来的收益以及合并产生的开销,防止出现收益和开销的比例过低的情况。
附图说明
[0024]图1为本说明书一示例性实施例提供的一种数据仓库的逻辑架构示意图;
[0025]图2为本说明书一示例性实施例提供的一种数据仓库中的数据管理方法的流程图;
[0026]图3为本说明书一示例性实施例提供的一种归并排序的示意图;
[0027]图4为本说明书一示例性实施例提供的一种计算合并分数的流程图;
[0028]图5为本说明书一示例性实施例提供的一种数据仓库中的数据管理系统的示意图;
[0029]图6为本说明书一示例性实施例提供的一种数据仓库中的数据管理装置所在电子设备的结构示意图;
[0030]图7为本说明书一示例性实施例提供的一种数据仓库中的数据管理装置的框图。
具体实施方式
[0031]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0032]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0033]由前述可知,在数据仓库的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的方法,所述数据仓库的存储层包括第一文件存储区和第二文件存储区;所述第一文件存储区用于存储新生成的文件,所述第二文件存储区用于存储基于所述分割键生成的文件;所述方法还包括:响应于所述第一文件存储区满足预设的第一合并条件,将所述第一文件存储区中的文件确定为所述待合并的源文件;响应于所述第二文件存储区满足预设的第二合并条件,计算各个第二文件存储区与其他任一第二文件存储区的合并分数,并根据所述合并分数...

【专利技术属性】
技术研发人员:王梦杰
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1