一种数据分区方法、装置、设备和存储介质制造方法及图纸

技术编号:39260374 阅读:10 留言:0更新日期:2023-10-30 12:12
本申请公开了一种数据分区方法、装置、设备和存储介质。可应用于大数据领域或金融领域。通过创建表空间为表数据预租磁盘空间,并记录预租的磁盘空间对应的多个数据库节点的磁盘位置信息;根据各节点的性能信息,得到各节点在预设时间内在预设时间内能处理的包含连续表数据的数据文件的大小;根据各节点在预设时间内能处理的包含连续表数据的数据文件的大小,对表数据进行划分,得到多个分区数据文件;根据磁盘位置信息,将分区数据文件存储到对应的数据库节点的磁盘位置。该方法计算分区数据文件大小后进行数据划分,有利于数据的连续存储。连续存储。连续存储。

【技术实现步骤摘要】
一种数据分区方法、装置、设备和存储介质


[0001]本申请涉及大数据
,特别是涉及一种数据分区方法、装置、设备和存储介质。

技术介绍

[0002]随着信息技术的发展,大规模并行处理(Massively Parallel Processing,MPP)架构的应用越来越广泛,MPP数据库集群中,每个节点都有独立磁盘存储系统和内存系统,各节点之间的数据通过网络相互连接。MPP架构将任务并行的分散到多个节点上,每个节点计算完成后,将各自部分的结果汇总在一起得到最终的执行结果。在此过程中,涉及到对数据按分区键进行文件分割,将分割成的多个数据文件分别存储到各节点。
[0003]然而,这种分割方式很可能会将数据分割成很多较小的数据文件,不利于数据的连续存储,其次,小数据文件过多会导致数据库重分布性能不佳。

技术实现思路

[0004]基于上述问题,本申请提供了一种数据分区方法、装置、设备和存储介质,能够基于预租磁盘空间进行数据分区,有利于数据连续存储。
[0005]本申请公开了如下技术方案:
[0006]本申请第一方面提供一种数据分区方法,包括:
[0007]创建表空间,以为表数据预租磁盘空间,并记录预租的磁盘空间对应的多个数据库节点的磁盘位置信息;
[0008]根据各节点的性能信息,得到各所述节点在预设时间内在预设时间内能处理的包含连续表数据的数据文件的大小;
[0009]根据各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小,对所述表数据进行划分,得到多个分区数据文件;
[0010]根据分区数据文件大小、各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小和各所述节点的磁盘位置信息,将所述分区数据文件存储到各数据库节点的磁盘位置。
[0011]在一种可能的实现方式中,所述根据各节点的性能信息,得到各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小,包括:
[0012]根据各所述节点的处理器性能信息、磁盘转速和实际磁盘空间大小,得到各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小。
[0013]在一种可能的实现方式中,所述方法还包括:将各分区数据文件在所述表数据的位置信息,以及各分区数据文件的存储位置信息,存储为所述表数据对应的元数据文件。
[0014]在一种可能的实现方式中,所述方法还包括:响应于表数据查询任务,根据所述表数据对应的元数据文件查询所述表数据对应的分区数据文件。
[0015]本申请第二方面提供一种数据分区装置,包括:
[0016]表空间创建模块,用于通过创建表空间为表数据预租磁盘空间,并记录预租的磁盘空间对应的多个数据库节点的磁盘位置信息;
[0017]节点处理量获得模块,用于根据各节点的性能信息,得到各所述节点在预设时间内在预设时间内能处理的包含连续表数据的数据文件的大小;
[0018]分区模块,用于根据各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小,对所述表数据进行划分,得到多个分区数据文件;
[0019]分区存储模块,用于根据分区数据文件大小、各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小和各所述节点的磁盘位置信息,将所述分区数据文件存储到各数据库节点的磁盘位置。
[0020]在一种可能的实现方式中,所述节点处理量获得模块,具体用于根据各所述节点的处理器性能信息、磁盘转速和实际磁盘空间大小,得到各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小。
[0021]在一种可能的实现方式中,所述装置还包括:元数据存储模块,用于将各分区数据文件在所述表数据的位置信息,以及各分区数据文件的存储位置信息,存储为所述表数据对应的元数据文件。
[0022]在一种可能的实现方式中,响应于表数据查询任务,根据所述表数据对应的元数据文件查询所述表数据对应的分区数据文件。
[0023]本申请第三方面提供一种数据分区设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请第一方面所述的数据分区方法。
[0024]本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请第一方面所述的数据分区方法。
[0025]相较于现有技术,本申请具有以下有益效果:
[0026]本申请提供的数据分区方法,通过创建表空间为待分区的表数据预租磁盘空间,并根据预租的磁盘空间对应的各节点能够处理的连续数据的数据文件的大小,划分对应大小分区数据文件,有利于数据的连续存储,加快数据的读取与计算能力。同时,数据的连续存储的分区文件较大,有利于消除小文件过多导致的重分布性能不佳问题。
附图说明
[0027]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本申请实施例提的一种数据分区方法流程图;
[0029]图2为本申请实施例提供的一种数据分区装置结构示意图;
[0030]图3为本申请实施例提供的一种计算机设备结构图。
具体实施方式
[0031]正如前文所述,大规模并行处理(Massively Parallel Processing,MPP)架构的应用越来越广泛,MPP数据库集群中,每个节点都有独立磁盘存储系统和内存系统,各节点之间的数据通过网络相互连接。MPP架构将任务并行的分散到多个节点上,每个节点计算完成后,将各自部分的结果汇总在一起得到最终的执行结果。在此过程中,涉及到对数据按分区键进行文件分割,将分割成的多个数据文件分别存储到各节点。
[0032]然而,这种分割方式很可能会将数据分割成很多较小的数据文件,不利于数据的连续存储。其次,在节点数量发生变化时会涉及到数据重分布,小数据文件过多会导致数据重分布性能不佳。
[0033]有鉴于此,本申请实施例提供了一种数据分区方法、装置、设备和存储介质。该数据分区方法,通过创建表空间为待分区的表数据预租磁盘空间,并根据预租的磁盘空间对应的各节点能够处理的连续数据的数据文件的大小,划分对应大小分区数据文件,有利于数据的连续存储,同时,数据的连续存储的分区文件较大,有利于消除小文件过多导致的重分布性能不佳问题。
[0034]本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
[0035]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据分区方法,其特征在于,包括:创建表空间,以为表数据预租磁盘空间,并记录预租的磁盘空间对应的多个数据库节点的磁盘位置信息;根据各节点的性能信息,得到各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小;根据各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小,对所述表数据进行划分,得到多个分区数据文件;根据分区数据文件大小、各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小和各所述节点的磁盘位置信息,将所述分区数据文件存储到各数据库节点的磁盘位置。2.根据权利要求1所述的方法,其特征在于,所述根据各节点的性能信息,得到各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小,包括:根据各所述节点的处理器性能信息、磁盘转速和实际磁盘空间大小,得到各所述节点在预设时间内能处理的包含连续表数据的数据文件的大小。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:将各分区数据文件在所述表数据的位置信息,以及各分区数据文件的存储位置信息,存储为所述表数据对应的元数据文件。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:响应于表数据查询任务,根据所述表数据对应的元数据文件查询所述表数据对应的分区数据文件。5.一种数据分区装置,其特征在于,包括:表空间创建模块,用于创建表空间,以为表数据预租磁盘空间,并记录预租的磁盘空间对应的多个数据库节点的磁盘位置信息;节点处理量获得模块,用于根据各节点的性能信息,得到各所述节点在预设时间内在预设时间内能处理的包含连续表数据的数据文件的大小;分...

【专利技术属性】
技术研发人员:王东
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1