CN111459913B - 分布式数据库的容量扩展方法、装置及电子设备 - Google Patents
分布式数据库的容量扩展方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111459913B CN111459913B CN202010247793.2A CN202010247793A CN111459913B CN 111459913 B CN111459913 B CN 111459913B CN 202010247793 A CN202010247793 A CN 202010247793A CN 111459913 B CN111459913 B CN 111459913B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- data node
- target
- fragment
- 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.)
- Active
Links
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式数据库的容量扩展方法、装置及电子设备,涉及云计算领域,该数据库包括调度节点和多个已有的第一数据节点,该方法以调度节点为执行主体,包括:当数据库新增第二数据节点时,通知第一数据节点将待迁移的目标分片数据迁移至第二数据节点;获取第二数据节点对应的LSN;当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对分片表的操作;其中,目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点;当满足预设条件时,释放表锁,以响应对分片表的操作。本发明能够在数据库扩容过程中,较好的保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种分布式数据库的容量扩展方法、装置及电子设备。
背景技术
分片技术是分布式数据库中重要的水平分片和节点扩展的技术。当利用分片技术进行数据节点扩展时,扩展后的节点数据会变化,此时需要重新分布节点数据。目前重新分配节点数据的方案主要有如下两种,一种为停止数据库服务,通过变更CN(调度)节点的数据分布信息以重新分布数据,完成数据重新分布后再开启服务。另一种为只提供只读服务,所有的原始节点(即不包含新增节点)变更为只读模式,通过变更CN节点的数据分布信息以重新分布数据,完成数据重新分布后再将所有节点变更为读写服务。
可见,现有技术在节点扩展的时候,需要停止服务或者停止提供写服务,且停止时长与数据量有关,对分布式数据库的可用性造成了不利影响。
发明内容
本发明的目的在于提供分布式数据库的容量扩展方法、装置及电子设备,能够在数据库扩容过程中,较好的保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种分布式数据库的容量扩展方法,所述数据库包括调度节点和多个已有的第一数据节点,所述方法应用于所述调度节点,所述方法包括:当所述数据库新增第二数据节点时,通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点;获取所述第二数据节点对应的日志序列号LSN;其中,所述LSN为所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配的唯一标识;当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对所述分片表的操作;其中,所述目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点;所述分片表用于分布式存储所述数据库中的分片数据;当满足预设条件时,释放所述表锁,以响应对所述分片表的操作。
进一步,所述方法还包括:通知所述第一数据节点将已经迁移至所述第二数据节点的目标分片数据进行删除。
进一步,所述通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:基于所述第二数据节点和所述分片表,获取所述第一数据节点中待迁移的目标分片数据;向所述第一数据节点发送数据迁移指令,以使所述第一数据节点在接收到所述数据迁移指令后,根据WAL算法将所述目标分片数据迁移至所述第二数据节点。
进一步,所述根据WAL算法将所述目标分片数据迁移至所述第二数据节点的步骤,包括:所述第一数据节点根据WAL算法将所述目标分片数据复制到日志文件中;在复制所述目标分片数据的过程中,按照预设方式为所述目标分片数据分配唯一的LSN;其中,所述预设方式包括预设步长的递增或递减的分配方式;当完成所述目标分片数据的复制时,所述第一数据节点向所述调度节点反馈复制完成的通知;所述调度节点在接收到所述复制完成的通知后,向所述第二数据节点发送数据恢复指令,以使所述第二数据节点基于所述数据恢复指令恢复所述日志文件中记录所述目标分片数据。
进一步,所述通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:根据最小迁移路径、所述第二数据节点和所述分片表,生成迁移列表;其中,所述迁移列表中至少包括:所述第一数据节点中待迁移的目标分片数据,所述目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;向所述第一数据节点发送所述迁移列表,以使所述第一数据节点按照所述迁移列表将所述目标分片数据迁移至所述第二数据节点。
进一步,所述限制对所述分片表的操作的步骤,包括:根据所述表锁锁定所述分片表;当锁定所述分片表时,拒绝执行客户端对所述分片表的操作;其中,所述操作包括:数据操纵语言DML和数据库模型定义语言DDL对所述分片表的读写服务。
进一步,所述当满足预设条件时,释放所述表锁,以响应对所述分片表的操作的步骤,包括:当不同数据节点的LSN一致时,确定数据重新分布后的分片表;根据所述数据重新分布后的分片表对数据字典进行修改;当完成对所述数据字典的修改时,确定满足预设条件并释放所述表锁,以响应客户端对所述数据重新分布后的分片表的操作。
第二方面,本发明实施例还提供一种分布式数据库的容量扩展方法,所述数据库包括调度节点和多个已有的第一数据节点,所述方法应用于所述第一数据节点,所述方法包括:当所述数据库新增第二数据节点时,根据所述调度节点的通知将待迁移的目标分片数据迁移至所述第二数据节点;在将所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配唯一的日志序列号LSN;其中,所述LSN用于确定分片表的表锁,且所述表锁用于限制或响应对所述分片表的操作;所述分片表用于分布式存储所述数据库中的分片数据。
进一步,所述方法还包括:将已经迁移至所述第二数据节点的目标分片数据进行删除。
进一步,所述将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:在接收所述调度节点发送的数据迁移指令后,根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点;其中,目标分片数据是所述调度节点基于所述第二数据节点和所述分片表获取的。
进一步,所述根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点的步骤,包括:根据WAL算法将所述目标分片数据复制到日志文件中;在复制所述目标分片数据的过程中,按照预设方式为所述目标分片数据分配唯一的LSN;其中,所述预设方式包括预设步长的递增或递减的分配方式;当完成所述目标分片数据的复制时,向所述调度节点反馈复制完成的通知,以使所述调度节点在接收到所述复制完成的通知后,向所述第二数据节点发送数据恢复指令,所述第二数据节点基于所述数据恢复指令恢复所述日志文件中记录所述目标分片数据。
进一步,所述将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:接收所述调度节点发送的迁移列表;其中,所述迁移列表是所述调度节点根据最小迁移路径、所述第二数据节点和所述分片表生成的,且所述迁移列表中至少包括:所述第一数据节点中待迁移的目标分片数据,所述目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;按照所述迁移列表将所述目标分片数据迁移至所述第二数据节点。
第三方面,本发明实施例还提供一种分布式数据库的容量扩展装置,所述数据库包括调度节点和多个已有的第一数据节点,所述装置应用于所述调度节点,所述装置包括:第一数据迁移模块,用于当所述数据库新增第二数据节点时,通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点;第一LSN获取模块,用于获取所述第二数据节点对应的LSN;其中,所述LSN为所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配的唯一标识;操作限制模块,用于当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对所述分片表的操作;其中,所述目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点;所述分片表用于分布式存储所述数据库中的分片数据;表锁释放模块,用于当满足预设条件时,释放所述表锁,以响应对所述分片表的操作。
第四方面,本发明实施例还提供一种分布式数据库的容量扩展装置,所述数据库包括调度节点和多个已有的第一数据节点,所述装置应用于所述第一数据节点,所述装置包括:第二数据迁移模块,用于当所述数据库新增第二数据节点时,根据所述调度节点的通知将待迁移的目标分片数据迁移至所述第二数据节点;第二LSN获取模块,用于在将所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配唯一的日志序列号LSN;其中,所述LSN用于确定分片表的表锁,且所述分片表用于分布式存储所述数据库中的分片数据。
第五方面,本发明实施例提供了一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法,或者,所述计算机程序被处理设备运行时执行如第二方面任一项所述的方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤,或者,所述计算机程序被处理设备运行时执行上述第二方面任一项所述的方法的步骤。
本发明实施例提供了一种分布式数据库的容量扩展方法、装置及电子设备,该方法应用于调度节点,包括:当数据库新增第二数据节点时,首先通过调度节点通知第一数据节点将待迁移的目标分片数据迁移至第二数据节点;然后获取迁移过程中第二数据节点对应的LSN;当最新的LSN达到预定LSN上限时,利用接收的表锁限制对分片表的操作;当满足预设条件时,释放表锁以响应对分片表的操作。本实施例提供的上述容量扩展方式中,自动随着数据节点的增加,在线将分片数据迁移至新增的第二数据节点,并基于数据迁移过程中的LSN日志机制保证整体分布式数据的一致性,也即通过表锁对分片表的限制以保证整体分布式数据的一致性;同时,由于表锁的锁定时间通常非常短,不会对读写服务造成不利影响,从而能够提供不间断的在线读写服务。因此,上述方式能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
本发明实施例提供了一种分布式数据库的容量扩展方法、装置及电子设备,该方法应用于第一数据节点,包括:当数据库新增第二数据节点时,第一数据节点将待迁移的目标分片数据迁移至第二数据节点;在将目标分片数据迁移至第二数据节点的过程中,为每个目标分片数据分配唯一的LSN;其中,LSN用于确定分片表的表锁,且表锁用于限制或响应对分片表的操作。本实施例提供的上述容量扩展方式中,自动随着数据节点的增加,在线将分片数据迁移至新增的第二数据节点,并基于数据迁移过程中的LSN日志机制保证整体分布式数据的一致性,也即通过表锁对分片表的限制以保证整体分布式数据的一致性;同时,由于表锁的锁定时间通常非常短,不会对读写服务造成不利影响,从而能够提供不间断的在线读写服务。因此,上述方式能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的分布式数据库的容量扩展方法流程图;
图2为本发明实施例提供的分布式数据库架构图;
图3为本发明实施例提供的分布式数据库增加数据节点的示意图;
图4为本发明实施例提供的一种分布式数据库的容量扩展装置的结构框图;
图5为本发明实施例提供的另一种分布式数据库的容量扩展装置的结构框图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前在进行数据节点扩展过程中,需要停止服务或者停止提供写服务以重新分配节点数据。在该过程中,停止服务会对分布式数据库的可用性造成了不利影响。而且,在实际应用中往往还需要DBA(Database Administrator,数据库管理员)介入手工运维,才能够均衡扩展后节点的数据,影响数据节点的扩展效率。为缓解上述问题之一,本发明实施例提供的一种分布式数据库的容量扩展方法、装置及电子设备,能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种分布式数据库的容量扩展方法进行详细介绍。
实施例一:
本实施例提供一种分布式数据库的容量扩展方法,该分布式数据库包括调度节点(可称为CN节点)和多个已有的第一数据节点(可称为DB节点)。参照图1所示的分布式数据库的容量扩展方法流程图,该方法应用于调度节点,可以包括如下步骤S102至步骤S108:
步骤S102,当数据库新增第二数据节点时,通知第一数据节点将待迁移的目标分片数据迁移至第二数据节点。
在本实施例中,当用户通过客户端向调度节点发起数据节点的增加请求时,调度节点根据增加请求获取新增的第二数据节点的数量和地址,结合已有的第一数据节点的数量、地址及其承担的分片数据,通知第一数据节点将待迁移的目标分片数据迁移至第二数据节点。
步骤S104,获取第二数据节点对应的LSN(Log sequence number,日志序列号)。
其中,LSN为目标分片数据迁移至第二数据节点的过程中,为每个目标分片数据分配的唯一标识;可理解为,LSN是关于每条分片数据的迁移记录的编号,也即每当执行一次将目标分片数据迁移至第二数据节点时,第二数据节点对应的LSN就更新一次,通过LSN能够清楚地体现各个数据迁移记录以及各个数据迁移记录被写入的顺序。在本实施例中,当完成针对当前的第二数据节点的目标分片数据的迁移时,可以获取到该第二数据节点对应的LSN。
步骤S106,当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对分片表的操作。
其中,分片表用于分布式存储数据库中的分片数据,也即用于存储数据库中的全部的分片数据并记录不同分片数据的不同存储位置,此时不同的存储位置为各个第一数据节点。
目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点。在一种具体实施示例中,从DB2 V9.5 FP3开始,LSN的范围在0x0000 0000 0000(首次创建数据库时)到0xFFFF 0000 0000之间,该预定LSN上限可以为0xFFFF 0000 0000。
当第二数据节点对应的LSN达到预定LSN上限时,该达到预定LSN上限的第二数据节点(也即目标数据节点)向调度节点发送分片表的表锁;调度节点根据表锁锁定分片表,对于加入了表锁的分片表,客户端通过调度节点只能对该分片表执行访问操作而无法执行读写等操作。由于表锁的锁定时间非常短,通常为秒级,不会对读写服务造成不利影响,因此可以认为能够提供不间断的在线读写服务,在一定程度上保证数据库的快速弹性不停机、不中断业务,重要的是,还能够保证数据库整体的分布式数据的一致性。
步骤S108,当满足预设条件时,释放表锁,以响应对分片表的操作。
在本实施例中,可以通过如下方式确定满足预设条件:当不同数据节点的LSN一致时,确定数据重新分布后的分片表;根据数据重新分布后的分片表对数据字典进行修改;当完成对数据字典的修改时,确定满足预设条件。
本发明实施例提供的分布式数据库的容量扩展方法,自动随着数据节点的增加,在线将分片数据迁移至新增的第二数据节点,并基于数据迁移过程中的LSN日志机制保证整体分布式数据的一致性,也即通过表锁对分片表的限制以保证整体分布式数据的一致性;同时,由于表锁的锁定时间通常非常短,不会对读写服务造成不利影响,从而能够提供不间断的在线读写服务。因此,上述方式能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
为了更好的理解上述实施例提供的分布式数据库的容量扩展方法,本实施例提供一种可能的分布式数据库,参照图2所示的分布式数据库架构图,该分布式数据库是一种DragonBase的分布式数据库,主要包括CN节点以及与CN节点相连的多个数据节点(即DB1、DB2、DB3和DB4),其中的CN节点通过LB(Load Balance,负载均衡)与客户端进行通信;在实际应用中,客户端上可以设置有与分布式数据库相关的APP,客户端借助该APP与数据库交互。CN节点和数据节点相互配合以实现服务的管控,诸如元数据管理、故障自愈和弹性扩容等。
基于上述分布式数据库,本实施例对上述各个步骤分别展开描述。
针对上述步骤S102,在本发明实施例的一个可选实施方式中,调度节点通知第一数据节点迁移分片数据的方法可参照如下步骤1和步骤2所示:
步骤1,基于第二数据节点和分片表,获取第一数据节点中待迁移的目标分片数据。在具体实现时,可以根据第一数据节点和第二数据节点的节点数量之和,对当前数据库中第一数据节点上的分片数据进行分裂扩展,以得到扩展后的分片数据,然后再根据哈希规则在扩展后的分片数据中确定待迁移的目标分片数据。
步骤2,向第一数据节点发送数据迁移指令,以使第一数据节点在接收到数据迁移指令后,根据WAL(Write-Ahead Logging,预写日志)算法将目标分片数据迁移至第二数据节点。
在本实施例中,第一数据节点根据WAL算法将目标分片数据迁移至第二数据节点的实现方式可参照如下所示:
首先,第一数据节点根据WAL算法将目标分片数据复制到日志文件中。在复制目标分片数据的过程中,按照预设方式为目标分片数据分配唯一的LSN;该预设方式包括但不限于:预设步长的递增或递减的分配方式。例如,按照递增的分配方式为每个在复制的目标分片数据分配唯一的LSN,随着目标分片数据的复制记录的添加,LSN不断增长;在此情况下,基于LSN日志机制,可以提供在线的增量服务。
然后,当完成目标分片数据的复制时,第一数据节点向调度节点反馈复制完成的通知。
最后,调度节点在接收到复制完成的通知后,向第二数据节点发送数据恢复指令,以使第二数据节点基于数据恢复指令恢复日志文件中记录目标分片数据。第二数据节点基于数据恢复指令扫描日志文件,然后将日志文件中记录目标分片数据同步到存储器中进行存储,至此完成了目标分片数据由第一数据节点到第二数据节点的迁移。
在上述数据迁移的实施方式中,通过先将第一数据节点中的目标分片数据写入日志文件,再将日志文件中的记录同步到第二数据节点,这样对其他读进程没有影响,能够提高数据迁移效率,以及提供数据库的性能。
针对上述步骤S102,在本发明实施例的另一个可选实施方式中,调度节点通知第一数据节点迁移分片数据的方法还可参照如下步骤(I)和(II)所示:
步骤(I),根据最小迁移路径、第二数据节点和分片表,生成迁移列表;其中,迁移列表中至少包括:第一数据节点中待迁移的目标分片数据,目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;
步骤(II),向第一数据节点发送迁移列表,以使第一数据节点按照迁移列表将目标分片数据迁移至第二数据节点。同样,在迁移目标分片数据的过程中,按照预设方式为目标分片数据分配唯一的LSN。
通过上述基于迁移列表的数据迁移步骤,能够改善在扩容过程中,需要预先设置大量分片,导致分片开销太大的问题。
接下来,当最新获取的第二数据节点对应的LSN达到预定LSN上限时,调度节点将根据接收到的表锁限制对分片表的操作,具体可参照如下所示:
调度节点根据表锁锁定分片表;当锁定分片表时,调度节点拒绝执行客户端对分片表的操作;其中,操作诸如包括:数据操纵语言DML(Data Manipulation Language,数据操纵语言)和DDL(Data Definition Language,数据库模型定义语言)对分片表的读写服务。具体而言,来自客户端的DML的请求(如检索、插入和修改数据的请求)被缓存到调度节点的内部,DDL语句(如创建、更改和删除数据库对象)会向客户端返回错误提醒信息。
可以理解的是,当满足预设条件时即可释放表锁,以响应对分片表的操作,具体包括如下步骤(1)至(3):
(1)当不同数据节点的LSN一致时,确定数据重新分布后的分片表(可称为新分片表)。考虑到LSN的唯一性,该不同数据节点的LSN一致可以理解为不同数据节点的LSN的数量相同,表示不同数据节点的分片数据负载均衡。可以理解的是,在进行数据重新分布前后,也即数据节点扩展前后,分片表中的总分片数据不变,而数据的存储位置发生改变,也就是分片数据的存储位置由原始的第一数据节点变为现在的第一数据节点和第二数据节点。
(2)根据数据重新分布后的分片表对调度节点中的数据字典进行修改。数据字典是指对分布式数据库中数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述的集合。对数据字典的修改也即对重新分布后的分片数据对应的数据项、数据结构和数据存储等信息进行修改。
(3)当完成对数据字典的修改时,确定满足预设条件并释放表锁,在释放表锁之后,即可通过调度节点响应客户端对新分片表的操作,诸如,根据DML、DDL等各个SQL语句对分布式数据库生成新的执行计划。
本实施例还需要通知第一数据节点将已经迁移至第二数据节点的目标分片数据进行删除。
至此,确定完成数据节点扩展的分布式数据库,参照如图3所示的分布式数据库增加数据节点的示意图,该分布式数据库原包括数据节点DB1和DB2,通过上述分布式数据库的容量扩展方法,得到包括DB1、DB2、DB3和DB4的分布式数据库。
综上,上述多个实施例所提供的分布式数据库的容量扩展方法,在将分片数据迁移至新增数据节点过程中,通过LSN机制可以提供在线的日志序列号增量服务,基于LSN所发送的表锁能够保证整体分布式数据的一致性,也即通过锁定DML和DDL保证整体分布式数据的一致性;基于分布式数据库的扩展功能、在线复制数据、WAL算法和表锁等,促使分片表自动根据新数据节点的增加,将分片数据迁移到新增的第二数据节点,以平滑地扩展数据节点。同时,由于表锁的锁定时间通常非常短,不会对读写服造成不利影响,能够提供不间断的在线读写服务。因此,上述方式能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的并发性能和高可用性。
实施例二:
结合前述实施例一,本实施例提供一种分布式数据库的容量扩展方法,数据库包括调度节点和多个已有的第一数据节点,该方法应用于第一数据节点,该方法包括:
步骤(一),当数据库新增第二数据节点时,根据调度节点的通知将待迁移的目标分片数据迁移至第二数据节点;在将目标分片数据迁移至第二数据节点的过程中,为每个目标分片数据分配唯一的LSN;其中,LSN用于确定分片表的表锁,且表锁用于限制或响应对分片表的操作;分片表用于分布式存储数据库中的分片数据。
步骤(二),将已经迁移至第二数据节点的目标分片数据进行删除。
本发明实施例提供的上述分布式数据库的容量扩展方法,当数据库新增第二数据节点时,第一数据节点将待迁移的目标分片数据迁移至第二数据节点;在将目标分片数据迁移至第二数据节点的过程中,为每个目标分片数据分配唯一的LSN;其中,LSN用于确定分片表的表锁,且表锁用于限制或响应对分片表的操作。本实施例提供的上述容量扩展方式中,自动随着数据节点的增加,在线将分片数据迁移至新增的第二数据节点,并基于数据迁移过程中的LSN日志机制保证整体分布式数据的一致性,也即通过表锁对分片表的限制以保证整体分布式数据的一致性;同时,由于表锁的锁定时间通常非常短,不会对读写服务造成不利影响,从而能够提供不间断的在线读写服务。因此,上述方式能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
在一种实施方式中,上述步骤(一)的实现过程可包括:
在接收调度节点发送的数据迁移指令后,根据WAL算法将目标分片数据迁移至第二数据节点;其中,目标分片数据是调度节点基于第二数据节点和分片表获取的。具体的可以参照如下步骤执行:
根据WAL算法将目标分片数据复制到日志文件中;在复制目标分片数据的过程中,按照预设方式为目标分片数据分配唯一的LSN;其中,预设方式包括预设步长的递增或递减的分配方式;当完成目标分片数据的复制时,向调度节点反馈复制完成的通知,以使调度节点在接收到复制完成的通知后,向第二数据节点发送数据恢复指令,第二数据节点基于数据恢复指令恢复日志文件中记录目标分片数据。
在另一种实施方式中,上述步骤(一)的实现过程还可包括:
接收调度节点发送的迁移列表;其中,迁移列表是调度节点根据最小迁移路径、第二数据节点和分片表生成的,且迁移列表中至少包括:第一数据节点中待迁移的目标分片数据,目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点。以及,按照迁移列表将目标分片数据迁移至第二数据节点。
此外,在基于上述实施方式将目标分片数据迁移至第二数据节点的过程中,调度节点通过不停的访问第一数据节点和第二数据节点,获取到第二数据节点对应的LSN。当最新的LSN达到预定LSN上限时,达到预定LSN上限的目标分片数据对应的第二数据节点(目标数据节点)向调度节点发送分片表的表锁,以限制对分片表的操作。
当通过调度节点继续不停的访问第一数据节点和第二数据节点,访问到不同数据节点的LSN一致时,确定数据重新分布后的分片表;在此情况下,通过调度节点根据数据重新分布后的分片表对数据字典进行修改,并在完成对数据字典的修改时,确定满足预设条件并释放表锁,以响应客户端对数据重新分布后的分片表的操作。
本实施例所提供的上述分布式数据库的容量扩展方法,其实现原理及产生的技术效果和前述实施例相同,为简要描述,本实施例部分未提及之处,可参考前述实施例一中的相应内容。
实施例三:
根据上述实施例提供的分布式数据库的容量扩展方法,本实施例提供了一种分布式数据库的容量扩展装置。参见图4所示的一种分布式数据库的容量扩展装置的结构框图,数据库包括调度节点和多个已有的第一数据节点,该装置应用于调度节点,其包括:
第一数据迁移模块402,用于当数据库新增第二数据节点时,通知第一数据节点将待迁移的目标分片数据迁移至第二数据节点;
第一LSN获取模块404,用于获取第二数据节点对应的LSN;其中,LSN为目标分片数据迁移至第二数据节点的过程中,为每个目标分片数据分配的唯一标识;
操作限制模块406,用于当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对分片表的操作;其中,目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点;分片表用于分布式存储数据库中的分片数据;
表锁释放模块408,用于当满足预设条件时,释放表锁,以响应对分片表的操作。
本发明实施例提供的上述分布式数据库的容量扩展装置,自动随着数据节点的增加,在线将分片数据迁移至新增的第二数据节点,并基于数据迁移过程中的LSN日志机制保证整体分布式数据的一致性,也即通过表锁对分片表的限制以保证整体分布式数据的一致性;同时,由于表锁的锁定时间通常非常短,不会对读写服务造成不利影响,从而能够提供不间断的在线读写服务。因此,上述方式能够在一定程度上保证数据库不停机、业务中不断,有效提升了分布式数据库的高可用性。
在一些实施方式中,上述分布式数据库的容量扩展装置还包括第一删除模块(图中未示出),该第一删除模块用于:通知第一数据节点将已经迁移至第二数据节点的目标分片数据进行删除。
在一些实施方式中,上述第一数据迁移模块402进一步用于:基于第二数据节点和分片表,获取第一数据节点中待迁移的目标分片数据;向第一数据节点发送数据迁移指令,以使第一数据节点在接收到数据迁移指令后,根据WAL算法将目标分片数据迁移至第二数据节点。
在一些实施方式中,上述第一数据迁移模块402进一步用于:第一数据节点根据WAL算法将目标分片数据复制到日志文件中;在复制目标分片数据的过程中,按照预设方式为目标分片数据分配唯一的LSN;其中,预设方式包括预设步长的递增或递减的分配方式;当完成目标分片数据的复制时,第一数据节点向调度节点反馈复制完成的通知;调度节点在接收到复制完成的通知后,向第二数据节点发送数据恢复指令,以使第二数据节点基于数据恢复指令恢复日志文件中记录目标分片数据。
在一些实施方式中,上述第一数据迁移模块402进一步用于:根据最小迁移路径、第二数据节点和分片表,生成迁移列表;其中,迁移列表中至少包括:第一数据节点中待迁移的目标分片数据,目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;向第一数据节点发送迁移列表,以使第一数据节点按照迁移列表将目标分片数据迁移至第二数据节点。
在一些实施方式中,上述操作限制模块406进一步用于:根据表锁锁定分片表;当锁定分片表时,拒绝执行客户端对分片表的操作;其中,操作包括:DML和DDL对分片表的读写服务。
在一些实施方式中,上述表锁释放模块408进一步用于:当不同数据节点的LSN一致时,确定数据重新分布后的分片表;根据数据重新分布后的分片表对数据字典进行修改;当完成对数据字典的修改时,确定满足预设条件并释放表锁,以响应客户端对数据重新分布后的分片表的操作。
根据上述实施例提供的分布式数据库的容量扩展方法,本实施例还提供了另一种分布式数据库的容量扩展装置。参见图5所示的一种分布式数据库的容量扩展装置的结构框图,数据库包括调度节点和多个已有的第一数据节点,该装置应用于第一数据节点,其包括:
第二数据迁移模块502,用于当数据库新增第二数据节点时,根据调度节点的通知将待迁移的目标分片数据迁移至第二数据节点;
第二LSN获取模块504,用于在将目标分片数据迁移至第二数据节点的过程中,为每个目标分片数据分配唯一的日志序列号LSN;其中,LSN用于确定分片表的表锁,且分片表用于分布式存储数据库中的分片数据。
在一些实施方式中,上述装置还包括第二删除模块(图中未示出),该第二删除模块用于:将已经迁移至第二数据节点的目标分片数据进行删除。
在一些实施方式中,上述第二数据迁移模块502进一步用于:在接收调度节点发送的数据迁移指令后,根据预写日志WAL算法将目标分片数据迁移至第二数据节点;其中,目标分片数据是调度节点基于第二数据节点和分片表获取的。
在一些实施方式中,上述第二数据迁移模块502进一步用于:根据WAL算法将目标分片数据复制到日志文件中;在复制目标分片数据的过程中,按照预设方式为目标分片数据分配唯一的LSN;其中,预设方式包括预设步长的递增或递减的分配方式;当完成目标分片数据的复制时,向调度节点反馈复制完成的通知,以使调度节点在接收到复制完成的通知后,向第二数据节点发送数据恢复指令,第二数据节点基于数据恢复指令恢复日志文件中记录目标分片数据。
在一些实施方式中,上述第二数据迁移模块502进一步用于:接收调度节点发送的迁移列表;其中,迁移列表是调度节点根据最小迁移路径、第二数据节点和分片表生成的,且迁移列表中至少包括:第一数据节点中待迁移的目标分片数据,目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;按照迁移列表将目标分片数据迁移至第二数据节点。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一或实施例二提供的分布式数据库的容量扩展方法。
具体的,参见如图6所示的电子设备的结构示意图,还包括总线603和通信接口604,处理器602、通信接口604和存储器601通过总线603连接。
其中,存储器601可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口604(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线603可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器602读取存储器601中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例一或实施例二的分布式数据库的容量扩展方法的步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种分布式数据库的容量扩展方法,其特征在于,所述数据库包括调度节点和多个已有的第一数据节点,所述方法应用于所述调度节点,所述方法包括:
当所述数据库新增第二数据节点时,通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点;
获取所述第二数据节点对应的日志序列号LSN;其中,所述LSN为所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配的唯一标识;
当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对所述分片表的操作;其中,所述目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点;所述分片表用于分布式存储所述数据库中的分片数据;
当满足预设条件时,释放所述表锁,以响应对所述分片表的操作;
所述通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:
基于所述第二数据节点和所述分片表,获取所述第一数据节点中待迁移的目标分片数据;
向所述第一数据节点发送数据迁移指令,以使所述第一数据节点在接收到所述数据迁移指令后,根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点;
所述当满足预设条件时,释放所述表锁,以响应对所述分片表的操作的步骤,包括:
当不同数据节点的LSN一致时,确定数据重新分布后的分片表;
根据所述数据重新分布后的分片表对数据字典进行修改;
当完成对所述数据字典的修改时,确定满足预设条件并释放所述表锁,以响应客户端对所述数据重新分布后的分片表的操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通知所述第一数据节点将已经迁移至所述第二数据节点的目标分片数据进行删除。
3.根据权利要求1所述的方法,其特征在于,所述根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点的步骤,包括:
所述第一数据节点根据WAL算法将所述目标分片数据复制到日志文件中;
在复制所述目标分片数据的过程中,按照预设方式为所述目标分片数据分配唯一的LSN;其中,所述预设方式包括预设步长的递增或递减的分配方式;
当完成所述目标分片数据的复制时,所述第一数据节点向所述调度节点反馈复制完成的通知;
所述调度节点在接收到所述复制完成的通知后,向所述第二数据节点发送数据恢复指令,以使所述第二数据节点基于所述数据恢复指令恢复所述日志文件中记录所述目标分片数据。
4.根据权利要求1所述的方法,其特征在于,所述通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:
根据最小迁移路径、所述第二数据节点和所述分片表,生成迁移列表;其中,所述迁移列表中至少包括:所述第一数据节点中待迁移的目标分片数据,所述目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;
向所述第一数据节点发送所述迁移列表,以使所述第一数据节点按照所述迁移列表将所述目标分片数据迁移至所述第二数据节点。
5.根据权利要求1所述的方法,其特征在于,所述限制对所述分片表的操作的步骤,包括:
根据所述表锁锁定所述分片表;
当锁定所述分片表时,拒绝执行客户端对所述分片表的操作;其中,所述操作包括:数据操纵语言DML和数据库模型定义语言DDL对所述分片表的读写服务。
6.一种分布式数据库的容量扩展方法,其特征在于,所述数据库包括调度节点和多个已有的第一数据节点,所述方法应用于所述第一数据节点,所述方法包括:
当所述数据库新增第二数据节点时,根据所述调度节点的通知将待迁移的目标分片数据迁移至所述第二数据节点;
在将所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配唯一的日志序列号LSN;其中,所述LSN用于确定分片表的表锁,且所述表锁用于限制或响应对所述分片表的操作;所述分片表用于分布式存储所述数据库中的分片数据;
所述将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:
在接收所述调度节点发送的数据迁移指令后,根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点;其中,目标分片数据是所述调度节点基于所述第二数据节点和所述分片表获取的。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将已经迁移至所述第二数据节点的目标分片数据进行删除。
8.根据权利要求6所述的方法,其特征在于,所述根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点的步骤,包括:
根据WAL算法将所述目标分片数据复制到日志文件中;
在复制所述目标分片数据的过程中,按照预设方式为所述目标分片数据分配唯一的LSN;其中,所述预设方式包括预设步长的递增或递减的分配方式;
当完成所述目标分片数据的复制时,向所述调度节点反馈复制完成的通知,以使所述调度节点在接收到所述复制完成的通知后,向所述第二数据节点发送数据恢复指令,所述第二数据节点基于所述数据恢复指令恢复所述日志文件中记录所述目标分片数据。
9.根据权利要求6所述的方法,其特征在于,所述将待迁移的目标分片数据迁移至所述第二数据节点的步骤,包括:
接收所述调度节点发送的迁移列表;其中,所述迁移列表是所述调度节点根据最小迁移路径、所述第二数据节点和所述分片表生成的,且所述迁移列表中至少包括:所述第一数据节点中待迁移的目标分片数据,所述目标分片数据在迁移前的第一数据节点和在迁移后的第二数据节点;
按照所述迁移列表将所述目标分片数据迁移至所述第二数据节点。
10.一种分布式数据库的容量扩展装置,其特征在于,所述数据库包括调度节点和多个已有的第一数据节点,所述装置应用于所述调度节点,所述装置包括:
第一数据迁移模块,用于当所述数据库新增第二数据节点时,通知所述第一数据节点将待迁移的目标分片数据迁移至所述第二数据节点;
第一LSN获取模块,用于获取所述第二数据节点对应的LSN;其中,所述LSN为所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配的唯一标识;
操作限制模块,用于当最新的LSN达到预定LSN上限时,接收目标数据节点发送的分片表的表锁,以限制对所述分片表的操作;其中,所述目标数据节点为达到预定LSN上限的目标分片数据对应的第二数据节点;所述分片表用于分布式存储所述数据库中的分片数据;
表锁释放模块,用于当满足预设条件时,释放所述表锁,以响应对所述分片表的操作;
所述第一数据迁移模块具体用于:基于所述第二数据节点和所述分片表,获取所述第一数据节点中待迁移的目标分片数据;向所述第一数据节点发送数据迁移指令,以使所述第一数据节点在接收到所述数据迁移指令后,根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点;
所述表锁释放模块具体用于:当不同数据节点的LSN一致时,确定数据重新分布后的分片表;根据所述数据重新分布后的分片表对数据字典进行修改;当完成对所述数据字典的修改时,确定满足预设条件并释放所述表锁,以响应客户端对所述数据重新分布后的分片表的操作。
11.一种分布式数据库的容量扩展装置,其特征在于,所述数据库包括调度节点和多个已有的第一数据节点,所述装置应用于所述第一数据节点,所述装置包括:
第二数据迁移模块,用于当所述数据库新增第二数据节点时,根据所述调度节点的通知将待迁移的目标分片数据迁移至所述第二数据节点;
第二LSN获取模块,用于在将所述目标分片数据迁移至所述第二数据节点的过程中,为每个所述目标分片数据分配唯一的日志序列号LSN;其中,所述LSN用于确定分片表的表锁,且所述分片表用于分布式存储所述数据库中的分片数据;
所述第二数据迁移模块具体用于:在接收所述调度节点发送的数据迁移指令后,根据预写日志WAL算法将所述目标分片数据迁移至所述第二数据节点;其中,目标分片数据是所述调度节点基于所述第二数据节点和所述分片表获取的。
12.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至5任一项所述的方法,或者,所述计算机程序被处理设备运行时执行上述权利要求6至9任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至5任一项所述的方法的步骤,或者,所述计算机程序被处理设备运行时执行上述权利要求6至9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010247793.2A CN111459913B (zh) | 2020-03-31 | 2020-03-31 | 分布式数据库的容量扩展方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010247793.2A CN111459913B (zh) | 2020-03-31 | 2020-03-31 | 分布式数据库的容量扩展方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459913A CN111459913A (zh) | 2020-07-28 |
CN111459913B true CN111459913B (zh) | 2023-06-23 |
Family
ID=71681670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010247793.2A Active CN111459913B (zh) | 2020-03-31 | 2020-03-31 | 分布式数据库的容量扩展方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459913B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590586B (zh) * | 2021-07-29 | 2022-03-22 | 东方微银科技股份有限公司 | 分布式图数据库系统节点间迁移分片数据的方法、装置 |
CN115118604B (zh) * | 2022-07-01 | 2023-04-11 | 杭州宇信数字科技有限公司 | 一种动态扩缩容的数据迁移方法、设备、系统和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1366420A2 (en) * | 2001-03-07 | 2003-12-03 | Oracle International Corporation | Disk writes in a distributed shared disk system |
CN105589961A (zh) * | 2015-12-21 | 2016-05-18 | 武汉达梦数据库有限公司 | 一种数据库实时同步系统数据一致性的检测方法及系统 |
US9507843B1 (en) * | 2013-09-20 | 2016-11-29 | Amazon Technologies, Inc. | Efficient replication of distributed storage changes for read-only nodes of a distributed database |
US9552242B1 (en) * | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
CN106843745A (zh) * | 2015-12-03 | 2017-06-13 | 南京中兴新软件有限责任公司 | 容量扩展方法及装置 |
CN107644025A (zh) * | 2016-07-20 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 分布式数据库的wal记录的分发方法和装置 |
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN108319596A (zh) * | 2017-01-16 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种数据库的扩容方法和装置 |
CN108573019A (zh) * | 2018-01-23 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种数据迁移方法、装置、电子设备及可读存储介质 |
CN108628874A (zh) * | 2017-03-17 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 迁移数据的方法、装置、电子设备和可读存储介质 |
CN110489494A (zh) * | 2019-08-27 | 2019-11-22 | 中国工商银行股份有限公司 | 分布式数据库在线扩容方法及装置 |
-
2020
- 2020-03-31 CN CN202010247793.2A patent/CN111459913B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1366420A2 (en) * | 2001-03-07 | 2003-12-03 | Oracle International Corporation | Disk writes in a distributed shared disk system |
US9507843B1 (en) * | 2013-09-20 | 2016-11-29 | Amazon Technologies, Inc. | Efficient replication of distributed storage changes for read-only nodes of a distributed database |
US9552242B1 (en) * | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
CN106843745A (zh) * | 2015-12-03 | 2017-06-13 | 南京中兴新软件有限责任公司 | 容量扩展方法及装置 |
CN105589961A (zh) * | 2015-12-21 | 2016-05-18 | 武汉达梦数据库有限公司 | 一种数据库实时同步系统数据一致性的检测方法及系统 |
CN107644025A (zh) * | 2016-07-20 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 分布式数据库的wal记录的分发方法和装置 |
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN108319596A (zh) * | 2017-01-16 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种数据库的扩容方法和装置 |
CN108628874A (zh) * | 2017-03-17 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 迁移数据的方法、装置、电子设备和可读存储介质 |
CN108573019A (zh) * | 2018-01-23 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种数据迁移方法、装置、电子设备及可读存储介质 |
CN110489494A (zh) * | 2019-08-27 | 2019-11-22 | 中国工商银行股份有限公司 | 分布式数据库在线扩容方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111459913A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891267B2 (en) | Versioning of database partition maps | |
US10831720B2 (en) | Cloud storage distributed file system | |
CN108810041B (zh) | 一种分布式缓存系统的数据写入及扩容方法、装置 | |
CN111078121B (zh) | 一种分布式存储系统数据迁移方法、系统、及相关组件 | |
JP6371859B2 (ja) | 分散格納システムにおけるセッション管理 | |
JP6259532B2 (ja) | 分散格納システムにおける名前空間管理 | |
US11556501B2 (en) | Determining differences between two versions of a file directory tree structure | |
CN112789606B (zh) | 数据重分布方法、装置及系统 | |
US8386540B1 (en) | Scalable relational database service | |
US10853242B2 (en) | Deduplication and garbage collection across logical databases | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
WO2019001017A1 (zh) | 集群间数据迁移方法、系统、服务器及计算机存储介质 | |
JP2017510002A (ja) | 複数エクステント動作のための原子書き込み | |
JP2017511541A (ja) | 可変ストライプサイズを使用するファイル格納 | |
JP2017515212A (ja) | 拡張縮小可能なファイル格納サービス | |
CN112199427A (zh) | 一种数据处理方法和系统 | |
US20230418811A1 (en) | Transaction processing method and apparatus, computing device, and storage medium | |
JP7549137B2 (ja) | トランザクション処理方法、システム、装置、機器、及びプログラム | |
CN112579550B (zh) | 一种分布式文件系统的元数据信息同步方法及系统 | |
CN111459913B (zh) | 分布式数据库的容量扩展方法、装置及电子设备 | |
CN111386521B (zh) | 在数据库集群中重分布表数据 | |
CN115587118A (zh) | 任务数据的维表关联处理方法及装置、电子设备 | |
CN114930281A (zh) | 动态自适应分区分割 | |
CN111782634A (zh) | 数据分布式存储方法、装置、电子设备及存储介质 | |
CN117075823B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |