本发明专利技术提供了一种数据库中数据的范围分区方法、介质、产品及设备。其中上述方法包括:获取待分区数据;在预设分区表中获取分区边界信息;判断待分区数据在预设分区表中属于声明分区段还是自动分区段;若属于自动分区段,则判断待分区数据是否属于自动分区段中已有的分区;若否,则以分区边界信息为起点按照预设分区间隔逐级确定远端目标边界信息;根据自动分区段中已有的分区确定近端目标边界信息;根据远端目标边界信息和近端目标边界信息创建目标分区,将待分区数据存储至目标分区中。此方法可以在插入数据时无需进行额外的排序操作,直接与分区边界信息比较即可判断出待分区数据属于哪个分区段,从而减少了数据库的资源消耗。
【技术实现步骤摘要】
本专利技术涉及数据库,特别是涉及一种数据库中数据的范围分区方法、介质、产品及设备。
技术介绍
1、在数据库中,随着业务扩展,数据量累积越来越多,为更好利用硬件资源,提升性能,对数据进行分区管理是很有必要的。根据使用的分区方法的不同,分为范围分区、哈希分区和列表分区,跟数字、日期相关的数据占有较大比例,使得范围分区应用的较为广泛。有新的数据需要记录到分区表时,这些数据往往不满足已有的分区,这时需要dba(database administrator,数据库管理员)对分区表进行维护,这给dba的工作带来了挑战。
2、为应对上述场景,一般会选择使用自动分区,当有新的数据不满足已有分区布局时,自动创建新分区存放数据,但是此方案一般选择通过分区类型标记分区是声明创建的分区还是自动创建的分区,每次对分区表做dml操作时,将分区的所有边界进行排序,找到声明式分区的中最大的边界信息作为自动分区的临界点。当分区表有大量分区时,排序操作会消耗较多的计算资源。同时对分区表做ddl操作时,需要同步维护分区的类型,将小于操作分区边界的所有分区调整为与声明分区相同的类型,这将修改n条系统表记录,产生较多的日志和文件写入。
技术实现思路
1、鉴于上述问题,本专利技术提出了一种克服上述问题或者至少部分地解决上述问题的数据库中数据的范围分区方法、介质、产品及设备。
2、本专利技术的一个目的是提高自动分区的执行效率。
3、本专利技术一个进一步的目的是在减少数据库的资源消耗。
4、特别地,本专利技术提供了一种数据库中数据的范围分区方法,包括:
5、获取待分区数据;
6、在预设分区表中获取分区边界信息,预设分区表用于记录每个范围分区的边界信息,分区边界信息为声明分区段与自动分区段之间的边界信息,声明分区段为预先声明创建的分区所属的分区段,自动分区段为数据库自动创建的分区所属的分区段;
7、根据分区边界信息判断待分区数据在预设分区表中属于声明分区段还是自动分区段;
8、在待分区数据属于自动分区段的情况下,判断待分区数据是否属于自动分区段中已有的分区;
9、若否,则以分区边界信息为起点按照预设分区间隔逐级确定待分区数据对应的远端目标边界信息,远端目标边界信息为能够容纳待分区数据的边界信息;
10、根据自动分区段中已有的分区确定近端目标边界信息,近端目标边界信息为自动分区段已有的分区中最远的边界信息;
11、根据远端目标边界信息和近端目标边界信息创建新的目标分区,并将待分区数据存储至目标分区中。
12、可选地,判断待分区数据是否属于自动分区段中已有的分区的步骤之后还包括:
13、在待分区数据属于自动分区段中已有的分区的情况下,确定待分区数据所属的目标自动分区;
14、判断待分区数据是否属于目标自动分区中的最后一个预设分区间隔;
15、若是,则将待分区数据存储至目标自动分区中。
16、可选地,判断待分区数据是否属于目标自动分区中的最后一个预设分区间隔的步骤之后还包括:
17、在待分区数据不属于目标自动分区中的最后一个预设分区间隔的情况下,获取目标自动分区的内层目标边界信息,内层目标边界信息为目标自动分区中靠近声明分区段一侧的边界信息;
18、确定目标自动分区中待分区数据对应的外层目标边界信息,外层目标边界信息为目标自动分区中能够容纳待分区数据的边界信息;
19、根据内层目标边界信息和外层目标边界信息创建新的目标分区,并将待分区数据存储至新建的目标分区之中;
20、将目标自动分区对应的内层目标边界信息修改为外层目标边界信息。
21、可选地,确定目标自动分区中待分区数据对应的外层目标边界信息的步骤包括:
22、获取预设分区间隔;
23、以内层目标边界信息为起点按照预设分区间隔逐级查找得到待分区数据对应的外层目标边界信息。
24、可选地,判断待分区数据在预设分区表中属于声明分区段还是自动分区段的步骤之后还包括:
25、在待分区数据属于声明分区段的情况下,在声明分区段中确定待分区数据对应的目标声明分区;
26、将待分区数据存储至目标声明分区之中。
27、可选地,预设分区表的操作方法包括:
28、获取预设分区表对应的目标操作指令,目标操作指令用于对预设分区表的中记录的声明分区进行操作或是用于将自动分区段中的分区转换为声明分区;
29、根据目标操作指令确定待操作分区;
30、获取待操作分区对应的待操作边界信息,并判断待操作边界信息是否超出分区边界信息属于自动分区段;
31、若否,则根据目标操作指令对待操作分区进行操作。
32、可选地,判断待操作边界信息是否超出分区边界信息属于自动分区段的步骤之后还包括:
33、在待操作边界信息超出分区边界信息属于自动分区段的情况下,获取待操作边界信息中距离分区边界信息最远的远端待操作边界信息,并将分区边界信息替换为远端待操作边界信息;
34、根据目标操作指令对待操作分区进行操作。
35、根据本专利技术的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一种的数据库中数据的范围分区方法的步骤。
36、根据本专利技术的又一个方面,还提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上述任一种的数据库中数据的范围分区方法的步骤。
37、根据本专利技术的再一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库中数据的范围分区方法的步骤。
38、本专利技术的数据库中数据的范围分区方法,首先获取待分区数据;随后在预设分区表中获取分区边界信息,其中预设分区表用于记录每个范围分区的边界信息,分区边界信息为声明分区段与自动分区段之间的边界信息,声明分区段为预先声明创建的分区所属的分区段,自动分区段为数据库自动创建的分区所属的分区段;根据分区边界信息判断待分区数据在预设分区表中属于声明分区段还是自动分区段;在待分区数据属于自动分区段的情况下,判断待分区数据是否属于自动分区段中已有的分区;若否,则以分区边界信息为起点按照预设分区间隔逐级确定待分区数据对应的远端目标边界信息,远端目标边界信息为能够容纳待分区数据的边界信息;根据自动分区段中已有的分区确定近端目标边界信息,近端目标边界信息为自动分区段已有的分区中最远的边界信息;根据远端目标边界信息和近端目标边界信息创建新的目标分区,并将待分区数据存储至目标分区中。通过此方法,一方面在插入数据时不需要进行额外的排序操作,直接与分区边界信息比较即可判断出待分区数据属于哪个分区段,从而减少了数据库的资源消耗,另一方面能够保证分区布局合本文档来自技高网
...
【技术保护点】
1.一种数据库中数据的范围分区方法,包括:
2.根据权利要求1所述的数据库中数据的范围分区方法,其中,
3.根据权利要求2所述的数据库中数据的范围分区方法,其中,
4.根据权利要求3所述的数据库中数据的范围分区方法,其中,
5.根据权利要求1所述的数据库中数据的范围分区方法,其中,
6.根据权利要求1所述的数据库中数据的范围分区方法,其中,
7.根据权利要求6所述的数据库中数据的范围分区方法,其中,
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的数据库中数据的范围分区方法的步骤。
9.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据库中数据的范围分区方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至7任一项所述的数据库中数据的范围分区方法的步骤。
...
【技术特征摘要】
1.一种数据库中数据的范围分区方法,包括:
2.根据权利要求1所述的数据库中数据的范围分区方法,其中,
3.根据权利要求2所述的数据库中数据的范围分区方法,其中,
4.根据权利要求3所述的数据库中数据的范围分区方法,其中,
5.根据权利要求1所述的数据库中数据的范围分区方法,其中,
6.根据权利要求1所述的数据库中数据的范围分区方法,其中,
7.根据权利要求6所述的数据库中数据的范围分区方法,其中,
8.一种计...
【专利技术属性】
技术研发人员:刘奎,王建华,
申请(专利权)人:中电科金仓北京科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。