CN113568916A - 数据表切分方法、装置、电子设备及存储介质 - Google Patents
数据表切分方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113568916A CN113568916A CN202110874442.9A CN202110874442A CN113568916A CN 113568916 A CN113568916 A CN 113568916A CN 202110874442 A CN202110874442 A CN 202110874442A CN 113568916 A CN113568916 A CN 113568916A
- Authority
- CN
- China
- Prior art keywords
- target
- data table
- group
- partition
- identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005192 partition Methods 0.000 claims abstract description 136
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据表切分方法、装置、电子设备及存储介质,能够生成目标数据表的切分登记表,由于该切分登记表中的一个标识组对应一个分区、用于记录目标数据表在该分区下每条记录唯一的标识,因此本发明不依赖目标数据表中任何业务字段也能实现切分,切分登记表与目标数据表的业务无耦合,这就满足了通用性;此外,切分登记表中每个标识组所记录的标识数量相同,即每个分区下的记录条数相同,这就可以实现均等分区,满足了均等性;另外,通过分区访问保证了查询使用性能。本发明能够同时满足数据表切分的通用性、均等性和性能三个方面的要求,在数据库中实现对大数据表的快速均匀切分,以便应用程序进行分区的并行处理。
Description
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种数据表切分方法、装置、电子设备及存储介质。
背景技术
数据表切分是将一个数据量很大的大数据表物理地分解为多个更小、更可管理的分区。
一般数据库都有分区的特性,例如Oracle、Mysql,每个分区都是一个独立的对象,可以独自处理,也可以作为一个更大对象的一部分进行处理。通常的数据表切分方式有列表、范围、哈希、以及它们的组合几种,但无论哪种均无法同时满足通用性、均等性、性能三个方面要求。
发明内容
有鉴于此,为解决上述问题,本发明提供一种数据表切分方法、装置、电子设备及存储介质,技术方案如下:
本发明一方面提供一种数据表切分方法,所述方法包括:
获取目标数据表;
生成所述目标数据表对应的切分登记表,所述切分登记表中包含多个标识组,一个标识组对应一个分区、用于存储所述目标数据表在相应分区下每条记录唯一的标识,每个标识组所存储的标识数量相同;
响应针对目标分区的访问指令,根据所述目标分区对应的标识组所存储的标识,访问所述目标数据表在所述目标分区下的多条记录。
优选的,所述生成所述目标数据表对应的切分登记表,包括:
根据目标分区数量创建所述目标数据表的切分登记表,所述切分登记表中标识组的数量与所述目标分区数量相同,每个标识组具有相应的组号,所述组号为正整数、且最大组号与所述目标分区数量的大小相同;
利用所述目标分区数量计算每个标识组对应的记录条数,所述记录条数与所述标识数量的大小相同;
全表查询所述目标数据表,计算当前所查询的目标记录对应的目标组号,所述目标组号是所述目标记录所属的记录号除以所述记录条数并向上取整的结果;
将所述目标记录唯一的标识存储至具有所述目标组号的标识组中,以将所述目标记录切分至具有所述目标组号的标识组对应的分区下。
优选的,所述利用所述目标分区数量计算每个标识组对应的记录条数,包括:
统计所述目标数据表中记录的总条数;
计算所述总条数除以所述目标分区数量的结果,并判断计算结果是否为正整数;
若是,则将计算结果作为每个标识组对应的记录条数;
若否,则报错,以更新所述目标分区数量,并返回执行所述根据目标分区数量创建所述目标数据表的切分登记表,这一步骤。
优选的,所述生成所述目标数据表对应的切分登记表之前,所述方法还包括:
对所述目标数据表执行业务操作。
优选的,所述目标数据表为Oracle数据库中的数据表,相应的,所述标识为ROWID;
所述目标数据表为Mysql数据库/Sqlserver数据库中的数据表,所述标识为主键。
本发明另一方面提供一种数据表切分装置,所述装置包括:
获取模块,用于获取目标数据表;
生成模块,用于生成所述目标数据表对应的切分登记表,所述切分登记表中包含多个标识组,一个标识组对应一个分区、用于存储所述目标数据表在相应分区下每条记录唯一的标识,每个标识组所存储的标识数量相同;
响应模块,用于响应针对目标分区的访问指令,根据所述目标分区对应的标识组所存储的标识,访问所述目标数据表在所述目标分区下的多条记录。
优选的,所述生成模块,具体用于:
根据目标分区数量创建所述目标数据表的切分登记表,所述切分登记表中标识组的数量与所述目标分区数量相同,每个标识组具有相应的组号,所述组号为正整数、且最大组号与所述目标分区数量的大小相同;利用所述目标分区数量计算每个标识组对应的记录条数,所述记录条数与所述标识数量的大小相同;全表查询所述目标数据表,计算当前所查询的目标记录对应的目标组号,所述目标组号是所述目标记录所属的记录号除以所述记录条数并向上取整的结果;将所述目标记录唯一的标识存储至具有所述目标组号的标识组中,以将所述目标记录切分至具有所述目标组号的标识组对应的分区下。
优选的,所述装置还包括:
业务模块,用于对所述目标数据表执行业务操作。
本发明另一方面提供一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现所述的数据表切分方法。
本发明另一方面提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述的数据表切分方法。
相较于现有技术,本发明实现的有益效果为:
本发明提供一种数据表切分方法、装置、电子设备及存储介质,能够生成目标数据表的切分登记表,由于该切分登记表中的一个标识组对应一个分区、用于记录目标数据表在该分区下每条记录唯一的标识,因此本发明不依赖目标数据表中任何业务字段也能实现切分,切分登记表与目标数据表的业务无耦合,这就满足了通用性;此外,切分登记表中每个标识组所记录的标识数量相同,即每个分区下的记录条数相同,这就可以实现均等分区,满足了均等性;另外,通过分区访问保证了查询使用性能。本发明能够同时满足数据表切分的通用性、均等性和性能三个方面的要求,在数据库中实现对大数据表的快速均匀切分,以便应用程序进行分区的并行处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的Oracle数据库的结构示意图;
图2为本发明实施例提供的数据表切分方法的方法流程图;
图3为本发明实施例提供的数据表切分方法的部分方法流程图;
图4为本发明实施例提供的场景示意图;
图5为本发明实施例提供的数据表切分装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
数据表切分方案需要重点考虑通用性、均等性、性能三个方面。然而以下常用的几种数据表切分方案均无法同时满足三个方面的要求:
方案一:对大数据表中具备唯一性业务字段进行特征分组,然后进行多次查询,每次筛选符合特征的记录。例如:对数值型客户号进行取余数处理,查询一次余数为1的,查询一次余数为2的,以此类推。该方案的缺点是必须重复多次全表查询,效率低下,且需要表中有满足特征的业务字段。
方案二:利用Oracle数据库的分区技术,对某个字段进行hash分区,数据被分散到不同的分区中,每一个物理分区就是一个独立的分组。该方案的缺点是数据表事先已经进行了分区定义,且依赖的分区字段不能达到绝对的数据均匀。
方案三:Oracle数据库中,利用数据表物理文件的数据存储特点划分。参见图1所示的Oracle数据库的结构,一个数据表由若干个区extent组成,一个区由若干个数据块block组成(一个数据块则对应磁盘上的若干条记录),一个区中的数据块是连续的、但是区与区不一定是连续的。通过Oracle系统提供的数据字典,可以推导出每个区的最小rowid值和最大rowid值,最终就可以以区为最小粒度将大数据表进行切分。该方案不依赖于某个业务字段,但是结果仍然不能达到绝对的均匀。
对此,本发明实施例提供一种数据表切分方法,该方法可以应用于不同类型的数据库中,比如Oracle数据库、Mysql数据库、或者Sqlserver数据库等,该方法的方法流程图如图1所示,包括如下步骤:
S10,获取目标数据表。
本发明实施例中,目标数据表即在数据库中指定待处理的数据表,该数据表属于大数据表。
在其他实施例中,为满足业务需求,本发明实施例在执行步骤S20之前,还可以对目标数据表执行业务操作,比如,可以对目标数据表中的某个字段进行排序或者业务运算。
S20,生成目标数据表对应的切分登记表,切分登记表中包含多个标识组,一个标识组对应一个分区、用于存储目标数据表在相应分区下每条记录唯一的标识,每个标识组所存储的标识数量相同。
对于数据表来说,其中每个记录都具有唯一的标识。对于Oracle数据库中的数据表来说,其标识为ROWID,Oracle数据库内部通常就是使用ROWID来访问数据,ROWID就表明了所属的一条记录在Oracle数据库中的具体物理位置。而在其他数据库中,比如Mysql数据库和Sqlserver数据库,其中数据表中的每条记录的标识为主键,能够达到与ROWID同样的效果。
由于数据表中每条记录都具有唯一的标识,借助这一特点,本发明对数据表进行逻辑上的均匀切分,能够实现高效的均匀分组和访问、且对于数据表和数据库底层的文件没有任何改动。具体的,本发明实施例对于目标数据表生成相应的切分登记表,该切分登记表中一个标识组对应目标数据表的一个分区、能够存储目标数据表在该分区下的每条记录的标识,每个标识组存储的标识数量相同、即目标数据表在每个分区下的记录条数相同。切分登记表扮演着索引目标数据表的角色,这种设计不仅具有通用性,而且不与业务数据发生耦合。
具体实现过程中,步骤S20“生成目标数据表对应的切分登记表”可以采用如下步骤,方法流程图如图3所示:
S201,根据目标分区数量创建目标数据表的切分登记表,切分登记表中标识组的数量与目标分区数量相同,每个标识组具有相应的组号,组号为正整数、且最大组号与目标分区数量的大小相同。
本发明实施例中,可以预先为目标数据表指定分区的数量,即目标分区数量。基于该目标分区数量创建内容为空的切分登记表,该切分登记表中包含“标识组的组号”和“记录唯一的标识”两个字段,以Oracle数据库为例,其切分登记表中“标识组的组号”为数值类型、“记录唯一的标识”为ROWID类型。
举例来说,目标分区数量为4,这就表示为目标数据表指定4个分区,相应的,切分登记表中标识组的数量也为4,4个标识组的组号分别为组号1、组号2、组号3和组号4,当然一个组号对应目标数据表中4个分区中的一个,则组号1对应分区1、组号2对应分区2、组号3对应分区3、组号4对应分区4。切分登记表事先按照组号分区,将组号与分区号一一对应,以分区查询分组数据提供最佳性能。
S202,利用目标分区数量计算每个标识组对应的记录条数,记录条数与标识数量的大小相同。
本发明实施例中,为实现均等分区,就要求目标数据表在每个分区下的记录的条数相同。由此,可以统计目标数据表中记录的总条数,进而将总条数除以目标分区数量的计算结果作为每个标识组对应的记录条数,当然,由于一条记录具有唯一的标识,因此记录条数与标识组所存储的标识数量相同。
在一些实施例中,为保证目标数据表中所有记录都可以完整被划分至分区内,本发明实施例对于总条数除以目标分区数量的计算结果进一步判定其是否为正整数,如果是,则将其作为记录条数,反之,如果不是,则报错,以更新目标分区数量,对目标分区数量重新赋值,并返回重新执行步骤S201。
S203,全表查询目标数据表,计算当前所查询的目标记录对应的目标组号,目标组号是目标记录所属的记录号除以记录条数并向上取整的结果。
本发明实施例中,记录号是数据库为查询目标数据表返回的记录分配的顺序编号,查询第一条记录所分配的记录号是1、查询第二条记录所分配的记录号是2、查询第三条记录所分配的记录号是3,以此类推,目标数据表中记录的总条数与最大记录号大小相同。此外,通过连续查询目标数据表中的记录,将连续记录的标识分配组号,这就实现分区下的记录是连续的,从而达到连续访问读取的目的。
对于当前所查询的目标记录,根据其所属的记录号除以记录条数并向上取整得出其组号,即目标组号。
S204,将目标记录唯一的标识存储至具有目标组号的标识组中,以将目标记录切分至具有目标组号的标识组对应的分区下。
本发明实施例中,将目标组号和目标记录唯一的标识存入切分登记表中,即将目标记录唯一的标识存储至具有目标组号的标识组中,由此目标记录即可以被逻辑切分至具有目标组号的标识组对应的分区下。举例来说,目标组号为1,则将目标记录唯一的标识存储至组号1的标识组中、且该目标记录被划分至分区1。
S30,响应针对目标分区的访问指令,根据目标分区对应的标识组所存储的标识,访问目标数据表在目标分区下的多条记录。
参见图4所示的场景示意图,目标数据表为Oracle数据库中的一个大数据表,其中有N条记录,每个分区下的记录的条数为3,N=3m。第一条、第二条和第三条记录被切分至分区1,第四条、第五条和第六条记录被切分至分区2、第七条、第八条和第九条记录被切分至分区3,……,第N-2条、第N-1条和第N条记录被切分至分区m。以分区1、分区2和分区3来说明:
第一条、第二条和第三条记录的ROWID被存储至组号1的标识组,第四条、第五条和第六条记录的ROWID被存储至组号2的标识组,第七条、第八条和第九条记录的ROWID被存储至组号3的标识组。此时,响应针对目标分区的访问指令,以分区2作为目标分区为例,通过查询组号2的标识组所存储的ROWID,能够确定并访问目标数据表在分区2下的三条记录,即第四条、第五条和第六条记录,具体可以通过SQL语句联接目标数据表以获得第四条、第五条和第六条记录的数据。通过分区访问保证查询使用功能。当然,基于此,应用程序可以进行分区的并行处理。
具体来说,通过均匀切分大表数据将数据逻辑分区,可以为并行处理提供条件。在批处理过程中,针对总条数达到一百万的大数据表来说,单线程依次处理每条记录将变得无法接受,例如:每条记录花费0.1秒,共计需花费100000s,合计27.7小时。而采用本发明首先对大数据表进行均匀切分,然后同时开启10个线程同时处理,假设切分过程需要10分钟(实际情况可能更少),预计10个线程将在2.77小时后同时结束,则批处理总共只需花费2.93小时,效果已经非常明显。
本发明实施例提供的数据表切分方法,能够生成目标数据表的切分登记表,由于该切分登记表中的一个标识组对应一个分区、用于记录目标数据表在该分区下每条记录唯一的标识,因此本发明不依赖目标数据表中任何业务字段也能实现切分,切分登记表与目标数据表的业务无耦合,这就满足了通用性;此外,切分登记表中每个标识组所记录的标识数量相同,即每个分区下的记录条数相同,这就可以实现均等分区,满足了均等性;另外,通过分区访问保证了查询使用性能。本发明能够同时满足数据表切分的通用性、均等性和性能三个方面的要求,在数据库中实现对大数据表的快速均匀切分,以便应用程序进行分区的并行处理。
基于上述实施例提供的数据表切分方法,本发明实施例则对应提供执行上述数据表切分方法的装置,该装置的结构示意图如图5所示,包括:
获取模块10,用于获取目标数据表;
生成模块20,用于生成目标数据表对应的切分登记表,切分登记表中包含多个标识组,一个标识组对应一个分区、用于存储目标数据表在相应分区下每条记录唯一的标识,每个标识组所存储的标识数量相同;
响应模块30,用于响应针对目标分区的访问指令,根据目标分区对应的标识组所存储的标识,访问目标数据表在目标分区下的多条记录。
可选的,生成模块20,具体用于:
根据目标分区数量创建目标数据表的切分登记表,切分登记表中标识组的数量与目标分区数量相同,每个标识组具有相应的组号,组号为正整数、且最大组号与目标分区数量的大小相同;利用目标分区数量计算每个标识组对应的记录条数,记录条数与标识数量的大小相同;全表查询目标数据表,计算当前所查询的目标记录对应的目标组号,目标组号是目标记录所属的记录号除以记录条数并向上取整的结果;将目标记录唯一的标识存储至具有目标组号的标识组中,以将目标记录切分至具有目标组号的标识组对应的分区下。
可选的,用于利用目标分区数量计算每个标识组对应的记录条数的生成模块20,具体用于:
统计目标数据表中记录的总条数;计算总条数除以目标分区数量的结果,并判断计算结果是否为正整数;若是,则将计算结果作为每个标识组对应的记录条数;若否,则报错,以更新目标分区数量,并返回执行根据目标分区数量创建目标数据表的切分登记表,这一步骤。
可选的,上述装置还包括:
业务模块,用于对目标数据表执行业务操作。
可选的,目标数据表为Oracle数据库中的数据表,相应的,标识为ROWID;
目标数据表为Mysql数据库/Sqlserver数据库中的数据表,标识为主键。
需要说明的是,本发明实施例中各模块的细化功能可以参见上述数据表切分方法实施例对应公开部分,在此不再赘述。
基于上述实施例提供的数据表切分方法,本发明实施例则对应提供一种电子设备,电子设备包括:至少一个存储器和至少一个处理器;存储器存储有程序,处理器调用存储器存储的程序,程序用于实现数据表切分方法。
基于上述实施例提供的数据表切分方法,本发明实施例则对应提供一种存储介质,存储介质中存储有计算机可执行指令,计算机可执行指令用于执行数据表切分方法。
以上对本发明所提供的一种数据表切分方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据表切分方法,其特征在于,所述方法包括:
获取目标数据表;
生成所述目标数据表对应的切分登记表,所述切分登记表中包含多个标识组,一个标识组对应一个分区、用于存储所述目标数据表在相应分区下每条记录唯一的标识,每个标识组所存储的标识数量相同;
响应针对目标分区的访问指令,根据所述目标分区对应的标识组所存储的标识,访问所述目标数据表在所述目标分区下的多条记录。
2.根据权利要求1所述的方法,其特征在于,所述生成所述目标数据表对应的切分登记表,包括:
根据目标分区数量创建所述目标数据表的切分登记表,所述切分登记表中标识组的数量与所述目标分区数量相同,每个标识组具有相应的组号,所述组号为正整数、且最大组号与所述目标分区数量的大小相同;
利用所述目标分区数量计算每个标识组对应的记录条数,所述记录条数与所述标识数量的大小相同;
全表查询所述目标数据表,计算当前所查询的目标记录对应的目标组号,所述目标组号是所述目标记录所属的记录号除以所述记录条数并向上取整的结果;
将所述目标记录唯一的标识存储至具有所述目标组号的标识组中,以将所述目标记录切分至具有所述目标组号的标识组对应的分区下。
3.根据权利要求2所述的方法,其特征在于,所述利用所述目标分区数量计算每个标识组对应的记录条数,包括:
统计所述目标数据表中记录的总条数;
计算所述总条数除以所述目标分区数量的结果,并判断计算结果是否为正整数;
若是,则将计算结果作为每个标识组对应的记录条数;
若否,则报错,以更新所述目标分区数量,并返回执行所述根据目标分区数量创建所述目标数据表的切分登记表,这一步骤。
4.根据权利要求1所述的方法,其特征在于,所述生成所述目标数据表对应的切分登记表之前,所述方法还包括:
对所述目标数据表执行业务操作。
5.根据权利要求1所述的方法,其特征在于,所述目标数据表为Oracle数据库中的数据表,相应的,所述标识为ROWID;
所述目标数据表为Mysql数据库/Sqlserver数据库中的数据表,所述标识为主键。
6.一种数据表切分装置,其特征在于,所述装置包括:
获取模块,用于获取目标数据表;
生成模块,用于生成所述目标数据表对应的切分登记表,所述切分登记表中包含多个标识组,一个标识组对应一个分区、用于存储所述目标数据表在相应分区下每条记录唯一的标识,每个标识组所存储的标识数量相同;
响应模块,用于响应针对目标分区的访问指令,根据所述目标分区对应的标识组所存储的标识,访问所述目标数据表在所述目标分区下的多条记录。
7.根据权利要求6所述的装置,其特征在于,所述生成模块,具体用于:
根据目标分区数量创建所述目标数据表的切分登记表,所述切分登记表中标识组的数量与所述目标分区数量相同,每个标识组具有相应的组号,所述组号为正整数、且最大组号与所述目标分区数量的大小相同;利用所述目标分区数量计算每个标识组对应的记录条数,所述记录条数与所述标识数量的大小相同;全表查询所述目标数据表,计算当前所查询的目标记录对应的目标组号,所述目标组号是所述目标记录所属的记录号除以所述记录条数并向上取整的结果;将所述目标记录唯一的标识存储至具有所述目标组号的标识组中,以将所述目标记录切分至具有所述目标组号的标识组对应的分区下。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
业务模块,用于对所述目标数据表执行业务操作。
9.一种电子设备,其特征在于,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现权利要求1-5任意一项所述的数据表切分方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-5任意一项所述的数据表切分方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874442.9A CN113568916A (zh) | 2021-07-30 | 2021-07-30 | 数据表切分方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110874442.9A CN113568916A (zh) | 2021-07-30 | 2021-07-30 | 数据表切分方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113568916A true CN113568916A (zh) | 2021-10-29 |
Family
ID=78169626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110874442.9A Pending CN113568916A (zh) | 2021-07-30 | 2021-07-30 | 数据表切分方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568916A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069510A (zh) * | 2023-03-08 | 2023-05-05 | 天津南大通用数据技术股份有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581161A (zh) * | 2003-08-13 | 2005-02-16 | 华为技术有限公司 | 一种实现对数据库快速访问的方法 |
CN110781215A (zh) * | 2019-10-21 | 2020-02-11 | 爱钱进(北京)信息科技有限公司 | 数据的查询方法、装置以及存储介质 |
-
2021
- 2021-07-30 CN CN202110874442.9A patent/CN113568916A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581161A (zh) * | 2003-08-13 | 2005-02-16 | 华为技术有限公司 | 一种实现对数据库快速访问的方法 |
CN110781215A (zh) * | 2019-10-21 | 2020-02-11 | 爱钱进(北京)信息科技有限公司 | 数据的查询方法、装置以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069510A (zh) * | 2023-03-08 | 2023-05-05 | 天津南大通用数据技术股份有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN116069510B (zh) * | 2023-03-08 | 2023-07-04 | 天津南大通用数据技术股份有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727465B (zh) | 分布式列存储数据库索引建立、查询方法及装置与系统 | |
RU2663358C2 (ru) | Устройство и способ кластерного хранения | |
Tan et al. | Clost: a hadoop-based storage system for big spatio-temporal data analytics | |
US20120303633A1 (en) | Systems and methods for querying column oriented databases | |
US20030233347A1 (en) | Method and apparatus for generating and utilizing qualifiers and qualified taxonomy tables | |
CN107368527B (zh) | 基于数据流的多属性索引方法 | |
US8583655B2 (en) | Using an inverted index to produce an answer to a query | |
CN101639835A (zh) | 多租户场景中应用数据库分区的方法和装置 | |
CN110134335B (zh) | 一种基于键值对的rdf数据管理方法、装置及存储介质 | |
US20090063458A1 (en) | method and system for minimizing sorting | |
CN111427931A (zh) | 分布式查询引擎及其查询关系型数据库的方法 | |
CN113568916A (zh) | 数据表切分方法、装置、电子设备及存储介质 | |
CN104598652B (zh) | 一种数据库查询方法及装置 | |
US7310719B2 (en) | Memory management tile optimization | |
RU2004131664A (ru) | Способ и устройство для обращения с запросом к реляционным базам данных | |
CN116756253B (zh) | 关系型数据库的数据存储、查询方法、装置、设备和介质 | |
CN108595482B (zh) | 一种数据索引方法及装置 | |
CN110399375B (zh) | 一种数据表索引创建方法及装置 | |
Canahuate et al. | Update conscious bitmap indices | |
CN115328950A (zh) | 一种基于二级索引的hbase查询方法、终端设备及存储介质 | |
US20150058351A1 (en) | Queries for thin database indexing | |
CN114385657A (zh) | 数据存储方法、装置及存储介质 | |
CN116701386A (zh) | 键值对检索方法、装置及存储介质 | |
Koutroumanis et al. | Scalable Spatio-temporal Indexing and Querying over a Document-oriented NoSQL Store. | |
CN111190949B (zh) | 数据存储及处理方法、装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |