The invention provides a method of uniform segmentation of database table data by scanning the table that is required to split the list of columns, column types and index status in the table; select a column with an integer and no repeat value. If the column is not found, a column of self increasing type is added in the table, and the column is a cut. A column is chosen arbitrarily, and the number of pre partition numbers M is set, all the values of the cut and cut columns are read to the array, and the M partition interval of the array is calculated by the location algorithm, and the M numerical interval is obtained. The invention also provides a computer device to cut the data with a lower algorithm complexity and the database overhead. The problem of database loading and fast partition is solved.
【技术实现步骤摘要】
一种均匀切分数据库表数据的方法及计算机设备
本专利技术涉及一种均匀切分数据库表数据的方法及计算机设备。
技术介绍
数据分区是分布式计算的重要内容:要求数据被比较均匀地分成多份再分配合适的计算资源,并且分区数通常是动态变化(如当前剩余的计算资源量、用户所能支配的资源量)。传统数据库表中数据一般未被分区(即使被分区也不是实际计算时所需要的分区数),提交计算任务时再进行分区,通常的做法要求扫描切分列的全部数据,加重数据库负担,并且由于切分列数值分布不均匀,简单的算法无法实施,复杂算法的实时性将受极大影响。
技术实现思路
本专利技术要解决的技术问题,在于提供一种均匀切分数据库表数据的方法及计算机设备,以较低算法复杂度和数据库开销进行数据切分,较好地解决了数据库负担和快速分区的问题。本专利技术之一是这样实现的:一种均匀切分数据库表数据的方法,包括:步骤1、通过扫描所需切分的表,获取表中的列明、列类型以及索引状况;步骤2、挑选出类型为整型且无重复值的列,若找不到对应列,则在该表中新添加一自增类型的列,该列作为切分列;否则任意选取一列作为切分列;步骤3、设定预分区数M;步骤4、读取切分列全部数值至数组,通过分位点算法计算该数组的M个分区区间,得到M个数值区间。进一步地,还包括步骤5、将所述M个数值区间存入数据库或内存,并对外暴露服务接口,用于调用。进一步地,所述步骤5进一步具体为:将所述M个数值区间存入数据库或内存,并对外暴露服务接口,用于调用;从应用程序获取将要分区的表以及实际分区数K,获取M个数值区间,将M个数值区间生成K个数值分区,并将K个数值分区返回给应用程序。本专 ...
【技术保护点】
1.一种均匀切分数据库表数据的方法,其特征在于:包括:步骤1、通过扫描所需切分的表,获取表中的列明、列类型以及索引状况;步骤2、挑选出类型为整型且无重复值的列,若找不到对应列,则在该表中新添加一自增类型的列,该列作为切分列;否则任意选取一列作为切分列;步骤3、设定预分区数M;步骤4、读取切分列全部数值至数组,通过分位点算法计算该数组的M个分区区间,得到M个数值区间。
【技术特征摘要】
1.一种均匀切分数据库表数据的方法,其特征在于:包括:步骤1、通过扫描所需切分的表,获取表中的列明、列类型以及索引状况;步骤2、挑选出类型为整型且无重复值的列,若找不到对应列,则在该表中新添加一自增类型的列,该列作为切分列;否则任意选取一列作为切分列;步骤3、设定预分区数M;步骤4、读取切分列全部数值至数组,通过分位点算法计算该数组的M个分区区间,得到M个数值区间。2.根据权利要求1所述的一种均匀切分数据库表数据的方法,其特征在于:还包括步骤5、将所述M个数值区间存入数据库或内存,并对外暴露服务接口,用于调用。3.根据权利要求2所述的一种均匀切分数据库表数据的方法,其特征在于:所述步骤5进一步具体为:将所述M个数值区间存入数据库或内存,并对外暴露服务接口,用于调用;从应用程序获取将要分区的表以及实际分区数K,获取M个数值区间,将M个数值区间生成K个数值分区,并将K个数值分区返回给应用程序。4.一种计算机设备,包括...
【专利技术属性】
技术研发人员:李昭阳,
申请(专利权)人:福建星瑞格软件有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。