数据库表结构变更方法、装置、设备及存储介质制造方法及图纸

技术编号:39331109 阅读:7 留言:0更新日期:2023-11-12 16:07
本申请提供了一种数据库表结构变更方法、装置、设备及存储介质,可以应用于云技术、人工智能、智慧交通等多种场景,该方法包括:响应于表结构变更指令,确定数据库中表结构待变更的第一表,表结构变更指令用于指示将第一表的表结构变更为第二表的表结构;确定第一表中的数据在数据库中的存储方式;基于存储方式,确定第一表对应的N个第一数据范围,N个第一数据范围所包括的数据组成第一表中的数据,N为大于1的正整数;通过预设的P个并行资源,将N个第一数据范围中的数据并行迁移至第二表中,P为大于1的正整数。即本申请实施例通过P个并行资源,将第一表的N个第一数据范围中的数据,并行迁移至第二表中,实现表结构的快速变更,进而可以保证数据库业务的正常进行。可以保证数据库业务的正常进行。可以保证数据库业务的正常进行。

【技术实现步骤摘要】
数据库表结构变更方法、装置、设备及存储介质


[0001]本申请实施例涉及数据库
,尤其涉及一种数据库表结构变更方法、装置、设备及存储介质。

技术介绍

[0002]表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。表结构变更是数据库的基础功能,即将一种结构的表变更为另一种结构的表。
[0003]表结构变更比较花费时间,尤其是对于大表而言,进行表结构变更是一个十分耗时的操作。对于一些大表而言,进行一次表结构变更通常需要几小时甚至几天的时刻,而这段时间极有可能会与业务高峰重叠,影响业务的正常进行。因此,如何提高表结构的快速变更,一直是数据库从业者研究的重点。

技术实现思路

[0004]本申请实施例提供一种数据库表结构变更方法、装置、设备及存储介质,提升表结构的变更速度。
[0005]第一方面,本申请实施例提供一种数据库表结构变更方法,包括:
[0006]响应于表结构变更指令,确定数据库中表结构待变更的第一表,所述表结构变更指令用于指示将所述第一表的表结构变更为第二表的表结构;
[0007]确定所述第一表中的数据在所述数据库中的存储方式;
[0008]基于所述存储方式,确定所述第一表对应的N个第一数据范围,所述N个第一数据范围所包括的数据组成所述第一表中的数据,所述N为大于1的正整数;
[0009]通过预设的P个并行资源,将所述N个第一数据范围中的数据并行迁移至所述第二表中,所述P为大于1的正整数。
[0010]第二方面,本申请实施例提供一种数据库表结构变更装置法,包括:
[0011]表确定单元,用于响应于表结构变更指令,确定数据库中表结构待变更的第一表,所述表结构变更指令用于指示将所述第一表的表结构变更为第二表的表结构;
[0012]存储方式确定单元,用于确定所述第一表中的数据在所述数据库中的存储方式;
[0013]处理单元,用于基于所述存储方式,确定所述第一表对应的N个第一数据范围,所述N个第一数据范围所包括的数据组成所述第一表中的数据,所述N为大于1的正整数;
[0014]变更单元,用于通过预设的P个并行资源,将所述N个第一数据范围中的数据并行迁移至所述第二表中,所述P为大于1的正整数。
[0015]第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面中的方法。
[0016]第四方面,本申请实施例提供了一种芯片,用于实现上述第一方面中任一方面或
其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面中的方法。
[0017]第五方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面中的方法。
[0018]第六方面,本申请实施例提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面中的方法。
[0019]第七方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
[0020]综上,本申请实施例中,计算设备响应于表结构变更指令,确定数据库中表结构待变更的第一表,表结构变更指令用于指示将第一表的表结构变更为第二表的表结构;确定第一表中的数据在数据库中的存储方式;基于存储方式,确定第一表对应的N个第一数据范围,N个第一数据范围所包括的数据组成第一表中的数据,N为大于1的正整数;通过预设的P个并行资源,将N个第一数据范围中的数据并行迁移至第二表中,P为大于1的正整数。即本申请实施例通过P个并行资源,将第一表的N个第一数据范围中的数据,并行迁移至第二表中,实现表结构的快速变更,进而可以保证数据库业务的正常进行。
附图说明
[0021]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本申请实施例涉及的数据库系统示意图;
[0023]图2为本申请实施例涉及的一种应用场景示意图;
[0024]图3为本申请一实施例提供的数据库表结构变更方法的流程示意图;
[0025]图4为TDSQL

3.0系统的一种示意图;
[0026]图5为本申请实施例涉及的一种第一数据范围的确定示意图;
[0027]图6为本申请一实施例提供的数据库表结构变更方法流程示意图;
[0028]图7为本申请实施例涉及的一种信息交换示意图;
[0029]图8为本申请实施例涉及的另一种信息交换示意图;
[0030]图9为本申请实施例涉及的一种故障检测示意图;
[0031]图10为本申请实施例涉及的另一种故障检测示意图;
[0032]图11是本申请一实施例提供的数据库表结构变更装置的示意性框图;
[0033]图12是本申请实施例提供的计算设备的示意性框图。
具体实施方式
[0034]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0035]应理解,在本专利技术实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
[0036]在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
[0037]另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0038]本申请实施例提供的数据库表结构变更方法,可以应用于数据库,具体用于对数据库中表的结构进行变更。
[0039]为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
[0040]数据库(Database),简而言之可视为电子化的文件柜,存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
[0041]数据库系统(database system,简称DBS)是由数据库及其管理软件组成的系统,是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库表结构变更方法,其特征在于,包括:响应于表结构变更指令,确定数据库中表结构待变更的第一表,所述表结构变更指令用于指示将所述第一表的表结构变更为第二表的表结构;确定所述第一表中的数据在所述数据库中的存储方式;基于所述存储方式,确定所述第一表对应的N个第一数据范围,所述N个第一数据范围所包括的数据组成所述第一表中的数据,所述N为大于1的正整数;通过预设的P个并行资源,将所述N个第一数据范围中的数据并行迁移至所述第二表中,所述P为大于1的正整数。2.根据权利要求1所述的方法,其特征在于,所述基于所述存储方式,确定所述第一表对应的N个第一数据范围,包括:确定所述第一表对应的主键;基于所述存储方式和所述主键,确定所述第一表对应的所述N个第一数据范围。3.根据权利要求2所述的方法,其特征在于,所述基于所述存储方式和所述主键,确定所述第一表对应的所述N个第一数据范围,包括:若所述存储方式为将所述第一表中的数据划分为多个数据范围进行存储时,则从所述数据库的存储节点中,获取包括所述主键的N个第二数据范围;基于所述N个第二数据范围,确定所述N个第一数据范围。4.根据权利要求3所述的方法,其特征在于,所述基于所述N个第二数据范围,确定所述N个第一数据范围,包括:若所述N个第二数据范围中的每一个第二数据范围不包括除所述第一表中的数据之外的数据,则将所述N个第二数据范围确定为所述N个第一数据范围。5.根据权利要求3所述的方法,其特征在于,所述基于所述N个第二数据范围,确定所述N个第一数据范围,包括:若所述N个第二数据范围中的至少一个第二数据范围包括除所述第一表中之外的数据,则从所述N个第二数据范围所包括的数据条目中,剔除掉除包括所述主键的数据条目之外的数据条目,得到所述N个第一数据范围。6.根据权利要求2所述的方法,其特征在于,所述基于所述存储方式和所述主键,确定所述第一表对应的所述N个第一数据范围,包括:若所述存储方式为将所述第一表中的数据存储在树的叶子节点中时,则从所述数据库中,获取所述主键对应的M个叶子节点,所述M为大于1的正整数;将所述M个叶子节点所包括的数据进行合并,得到所述N个第一数据范围。7.根据权利要求1

6任一项所述的方法,其特征在于,若所述N大于所述P,则所述通过预设的P个并行资源,将所述N个第一数据范围中的数据并行迁移至所述第二表中,包括:将所述N个第一数据范围,合并为P个第三数据范围,所述P个第三数据范围相互不重叠;将所述P个第三数据范围一一分配给所述P个并行资源,以使所述P个并行资源将所述P个第三数据范围中的数据并行迁移至所述第二表中。8.根据权利要求7所述的方法,其特征在于,所述将所述N个第一数据范围,合并为P个第三数据范围,包括:
对所述N个第一数据范围进行排序;将排序后的所述N个第一数据范围中,相邻的至少两个第...

【专利技术属性】
技术研发人员:叶盛潘安群雷海林
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1