CN115543971A - 一种mpp数据库实现高可用的方法 - Google Patents

一种mpp数据库实现高可用的方法 Download PDF

Info

Publication number
CN115543971A
CN115543971A CN202211504245.9A CN202211504245A CN115543971A CN 115543971 A CN115543971 A CN 115543971A CN 202211504245 A CN202211504245 A CN 202211504245A CN 115543971 A CN115543971 A CN 115543971A
Authority
CN
China
Prior art keywords
instance
computing
computing node
high availability
processor
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.)
Granted
Application number
CN202211504245.9A
Other languages
English (en)
Other versions
CN115543971B (zh
Inventor
姜骁
李晨光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Nankai University General Data Technologies Co ltd
Original Assignee
Tianjin Nankai University General Data Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Nankai University General Data Technologies Co ltd filed Critical Tianjin Nankai University General Data Technologies Co ltd
Priority to CN202211504245.9A priority Critical patent/CN115543971B/zh
Publication of CN115543971A publication Critical patent/CN115543971A/zh
Application granted granted Critical
Publication of CN115543971B publication Critical patent/CN115543971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种MPP数据库实现高可用的方法,计算节点与存储系统完全分离,计算节点通过虚拟块设备连接存储系统,执行SQL命令时查询计算实例状态,判断计算实例是否可用,如果计算实例可用,执行SQL命令,如果计算实例不可用,将故障实例迁移到正常的计算节点上运行。本发明有益效果:使用了数据库在发生故障时迁移节点的方式,达到了不影响用户使用的效果,提高了系统容灾能力。

Description

一种MPP数据库实现高可用的方法
技术领域
本发明属于数据库优化领域,尤其是涉及一种MPP数据库实现高可用的方法。
背景技术
存储与计算分离是近年来数据库系统的一个发展趋势,通过解除存储资源与计算资源的紧密耦合,可以达到均衡存储和计算资源的目的,并可以利用存储系统的备份、扩容、数据迁移等功能,简化数据库系统的设计。
当数据库的计算节点掉电,用户执行SQL命令时,由于计算实例不可用,很可能会报错,给用户带来不好的感受,并且数据库系统不能自动恢复到正常状态。
发明内容
有鉴于此,本发明旨在提出一种MPP数据库实现高可用的方法,以实现系统自我修复的方式,让用户感受不到故障,从而达到高可用的效果。
为达到上述目的,本发明的技术方案是这样实现的:
本发明第一方面提供了一种MPP数据库实现高可用的方法,计算节点与存储系统完全分离,计算节点通过虚拟块设备连接存储系统;
执行SQL命令时查询计算实例状态,判断计算实例是否可用;
如果计算实例可用,执行SQL命令;
如果计算实例不可用,将故障实例迁移到正常的计算节点上运行。
进一步的,判断计算实例不可用后,执行如下步骤:
S1:获取计算实例与计算节点的映射关系;
S2:对数据库施加全局互斥锁;
S3:再次获取计算实例与计算节点的映射关系;
S4:对比S1获取的映射关系与S3获取的映射关系是否相同;
如果S1与S3所获得的映射关系不同,释放全局互斥锁,执行SQL命令;
如果S1与S3所获得的映射关系相同,将故障实例迁移到正常的计算节点上运行。
进一步的,对比S1与S3所获得的映射关系,若两者相同则执行如下步骤:
S5:获取所有卷与计算实例的映射关系;
S6:对比S1与S5获得的两种映射关系;
如果两种映射关系不一致,通知计算节点运行计算实例,将原有的计算实例分布关系修改为当前的计算实例分布关系。
如果两种映射关系一致,将故障实例迁移到正常的计算节点上运行。
进一步的,执行S6时若两种映射关系一致,则执行如下步骤;
S7:获得所有虚拟块设备的状态;
S8:对比计算实例状态与虚拟块设备状态,判断计算实例与计算节点的映射关系和卷与计算实例的映射关系是否一致;
如果关系一致,在原有的计算节点上重新运行计算实例;
如果关系不一致,将故障实例迁移到正常的计算节点上运行;
S9:释放全局互斥锁,执行SQL命令。
进一步的,步骤S8中所述将故障实例迁移到正常的计算节点上运行的过程如下:
S81:从当前的计算节点上停止计算实例;
S82:删除当前卷与当前的计算节点的映射关系;
S83:将当前卷映射到正常的计算节点,通知正常的计算节点运行计算实例;
S84:将原有的计算实例分布关系修改为迁移后的计算实例分布关系。
进一步的,将故障实例迁移到正常的计算节点上运行时,所有计算实例与卷之间的关系不变;
将故障实例迁移到正常的计算节点上运行时,优先将故障实例迁移至空闲的正常的计算节点。
进一步的,所述存储系统中创建有多个卷,每个卷单独映射到一个计算节点。
本发明第二方面提供了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述第一方面所述的一种MPP数据库实现高可用的方法。
本发明第三方面提供了一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如第二方面所述的一种MPP数据库实现高可用的方法。
本发明第四方面提供了一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现第三方面所述的一种MPP数据库实现高可用的方法。
相对于现有技术,本发明所述的一种MPP数据库实现高可用的方法具有以下有益效果:
本发明所述的一种MPP数据库实现高可用的方法,使用了数据库在发生故障时迁移节点的方式,达到了不影响用户使用的效果,提高了系统容灾能力。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的数据库系统框架示意图;
图2为本发明实施例所述的数据库运行流程示意图;
图3为本发明实施例所述的实例迁移流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
实施例一:
如图1所示:MPP数据库的系统框架包括多个计算节点和存储系统,多个计算节点与存储系统完全分离,计算节点上没有存储设备,存储系统采用了块存储方式,块存储的管理单元是卷,存储系统内创建有多个卷,计算节点通过虚拟块设备访问块存储,一个卷只映射到一个计算节点,且一个卷对应一个计算实例,即每个计算实例独占一个卷。
通过完全分离计算节点与存储系统,能够解除存储资源与计算资源的紧密耦合,可以达到均衡存储和计算资源的目的,并可以利用存储系统的备份、扩容、数据迁移等功能,简化数据库系统的设计,卷、计算实例、计算节点之间一一对应,提高了存储系统的性能。
如图1、图2所示:MPP数据库的系统框架还包括实例状态组件和协调器,协调器向实例状态组件查询计算实例状态,实例状态组件同时负责记录计算实例与计算节点的映射关系,记录动作由协调器向该组件发起请求,实例状态组件还负责维护初始部署安装后的计算实例与计算节点的映射关系,以及计算实例与卷的映射关系。
实例状态组件与协调器作为RDBMS的一部分,实现了自动将数据库恢复至可用状态的功能,让用户感受不到故障,提高用户体验,达到了高可用的效果。
如图2、图3所示:数据库运行过程如下:用户向协调器下发SQL命令,命令执行时需要访问计算实例所管理的卷中的数据,协调器通过实例状体组件查询计算实例的状态,判断计算实例是否可用,如果计算实例可用则执行SQL命令,如果计算实例不可用,则将故障实例迁移到正常的计算节点上运行。
判断计算实例不可用后,S1:协调器从实例状态组件获取所有实例与计算节点的映射关系,S2对数据库施加全局互斥锁,S3再次获取计算实例与计算节点的映射关系,S4判断本次获取的映射关系与上次获取到的映射关系是否相同,如果不同说明其他协调器已经做过实例迁移了,执行SQL命令,如果相同将故障实例迁移到正常的计算节点上运行。
判断本次获取的映射关系与上次获取到的映射关系相同后,S5协调器通过子网访问存储管理器,获取所有卷的映射关系,S6协调器比对计算实例与计算节点的映射关系和卷与计算实例的映射关系是否一致,如果两种映射关系不一致,通知计算节点运行计算实例,将原有的计算实例分布关系修改为当前的计算实例分布关系,执行SQL命令,如果两种映射关系一致,将故障实例迁移到正常的计算节点上运行。
对比得出两种映射关系一致后,协调器通过子网请求存储管理器,S7获取所有虚拟块设备的状态,S8协调器比对计算实例状态与虚拟块设备状态,判断映射关系与分布关系是否一致,如果关系一致,可以得知计算实例状态异常,卷状态正常,在原有的计算节点上重新运行计算实例,S9执行SQL命令,如果关系不一致,将故障实例迁移到正常的计算节点上运行。
判断映射关系与分布关系不一致后,执行计算实例迁移,S81协调器从当前的计算节点上停止计算实例,协调器请求存储管理器,S82删除卷与当前的计算节点的映射关系,协调器请求存储管理器,S83将当前卷映射到正常的计算节点,协调器通知正常的计算节点运行计算实例,S84协调器将原有的计算实例分布关系修改为迁移后的计算实例分布关系,计算实例迁移执行完成后,执行SQL命令。
数据库运行过程中,执行SQL命令之前需要先释放全局互斥锁,执行计算实例迁移时需要遵循“均衡负载”原则,每一个计算实例都遵循“计算实例跟随卷”的原则。
上述数据库运行过程实现了自动将数据库恢复至可用状态的功能,如果数据库出现任何异常,通过上述数据库运行过程给出的步骤,总能把系统恢复到正常状态。
实施例二:一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述实施例一所述的一种MPP数据库实现高可用的方法。
实施例三:一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如实施例二所述的一种MPP数据库实现高可用的方法。
实施例四:一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现实施例三所述的一种MPP数据库实现高可用的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种MPP数据库实现高可用的方法,其特征在于:
计算节点与存储系统完全分离,计算节点通过虚拟块设备连接存储系统;
执行SQL命令时查询计算实例状态,判断计算实例是否可用;
如果计算实例可用,执行SQL命令;
如果计算实例不可用,将故障实例迁移到正常的计算节点上运行。
2.根据权利要求1所述的一种MPP数据库实现高可用的方法,其特征在于:
判断计算实例不可用后,执行如下步骤:
S1:获取计算实例与计算节点的映射关系;
S2:对数据库施加全局互斥锁;
S3:再次获取计算实例与计算节点的映射关系;
S4:对比S1获取的映射关系与S3获取的映射关系是否相同;
如果S1与S3所获得的映射关系不同,释放全局互斥锁,执行SQL命令;
如果S1与S3所获得的映射关系相同,将故障实例迁移到正常的计算节点上运行。
3.根据权利要求2所述的一种MPP数据库实现高可用的方法,其特征在于:
对比S1与S3所获得的映射关系,若两者相同则执行如下步骤:
S5:获取所有卷与计算实例的映射关系;
S6:对比S1与S5获得的两种映射关系;
如果两种映射关系不一致,通知计算节点运行计算实例,将原有的计算实例分布关系修改为当前的计算实例分布关系;
如果两种映射关系一致,将故障实例迁移到正常的计算节点上运行。
4.根据权利要求3所述的一种MPP数据库实现高可用的方法,其特征在于:
执行S6时若两种映射关系一致,则执行如下步骤;
S7:获得所有虚拟块设备的状态;
S8:对比计算实例状态与虚拟块设备状态,判断计算实例与计算节点的映射关系和卷与计算实例的映射关系是否一致;
如果关系一致,在原有的计算节点上重新运行计算实例;
如果关系不一致,将故障实例迁移到正常的计算节点上运行;
S9:释放全局互斥锁,执行SQL命令。
5.根据权利要求4所述的一种MPP数据库实现高可用的方法,其特征在于:
步骤S8中所述将故障实例迁移到正常的计算节点上运行包括:
S81:从当前的计算节点上停止计算实例;
S82:删除当前卷与当前的计算节点的映射关系;
S83:将当前卷映射到正常的计算节点,通知正常的计算节点运行计算实例;
S84:将原有的计算实例分布关系修改为迁移后的计算实例分布关系。
6.根据权利要求1所述的一种MPP数据库实现高可用的方法,其特征在于:
将故障实例迁移到正常的计算节点上运行时,所有计算实例与卷之间的映射关系不变;
将故障实例迁移到正常的计算节点上运行时,优先将故障实例迁移至空闲的正常的计算节点。
7.根据权利要求1所述的一种MPP数据库实现高可用的方法,其特征在于:
所述存储系统中创建有多个卷,每个卷单独映射到一个计算节点。
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-7任一所述的一种MPP数据库实现高可用的方法。
9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的一种MPP数据库实现高可用的方法。
10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一所述的一种MPP数据库实现高可用的方法。
CN202211504245.9A 2022-11-29 2022-11-29 一种mpp数据库实现高可用的方法 Active CN115543971B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211504245.9A CN115543971B (zh) 2022-11-29 2022-11-29 一种mpp数据库实现高可用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211504245.9A CN115543971B (zh) 2022-11-29 2022-11-29 一种mpp数据库实现高可用的方法

Publications (2)

Publication Number Publication Date
CN115543971A true CN115543971A (zh) 2022-12-30
CN115543971B CN115543971B (zh) 2023-03-31

Family

ID=84722577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211504245.9A Active CN115543971B (zh) 2022-11-29 2022-11-29 一种mpp数据库实现高可用的方法

Country Status (1)

Country Link
CN (1) CN115543971B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN102567217A (zh) * 2012-01-04 2012-07-11 北京航空航天大学 一种面向mips平台的内存虚拟化方法
CN107547273A (zh) * 2017-08-18 2018-01-05 国网山东省电力公司信息通信公司 一种电力系统虚拟实例高可用的保障方法及系统
US20180329647A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Distributed storage system virtual and storage data migration
US20200301748A1 (en) * 2019-03-18 2020-09-24 Nutanix, Inc. Apparatuses and methods for smart load balancing in a distributed computing system
CN113886490A (zh) * 2021-09-14 2022-01-04 北京东方金信科技股份有限公司 分布式数据库中无状态计算实例高可用的实现方法及系统
CN114217905A (zh) * 2021-12-17 2022-03-22 北京志凌海纳科技有限公司 虚拟机高可用恢复处理方法及系统
CN114327855A (zh) * 2021-10-18 2022-04-12 阿里云计算有限公司 边缘节点宕机迁移的服务方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN102567217A (zh) * 2012-01-04 2012-07-11 北京航空航天大学 一种面向mips平台的内存虚拟化方法
US20180329647A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Distributed storage system virtual and storage data migration
CN107547273A (zh) * 2017-08-18 2018-01-05 国网山东省电力公司信息通信公司 一种电力系统虚拟实例高可用的保障方法及系统
US20200301748A1 (en) * 2019-03-18 2020-09-24 Nutanix, Inc. Apparatuses and methods for smart load balancing in a distributed computing system
CN113886490A (zh) * 2021-09-14 2022-01-04 北京东方金信科技股份有限公司 分布式数据库中无状态计算实例高可用的实现方法及系统
CN114327855A (zh) * 2021-10-18 2022-04-12 阿里云计算有限公司 边缘节点宕机迁移的服务方法及系统
CN114217905A (zh) * 2021-12-17 2022-03-22 北京志凌海纳科技有限公司 虚拟机高可用恢复处理方法及系统

Also Published As

Publication number Publication date
CN115543971B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
US11360854B2 (en) Storage cluster configuration change method, storage cluster, and computer system
KR102013005B1 (ko) 확장 가능한 환경에서의 파티션 관리 기법
KR102013004B1 (ko) 확장 가능한 환경에서의 동적 로드 밸런싱 기법
US8769132B2 (en) Flexible failover policies in high availability computing systems
JP4637842B2 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
US9817721B1 (en) High availability management techniques for cluster resources
CN111124475B (zh) 存储管理的方法、电子设备和计算机可读存储介质
CN105830033B (zh) 用于在分布式数据网格中支持持久存储装置版本化和完整性的系统和方法
US10095508B2 (en) System and method for supporting dynamic deployment of executable code in a distributed computing environment
EP3745269B1 (en) Hierarchical fault tolerance in system storage
CA2686384C (en) Dynamic cli mapping for clustered software entities
US7702757B2 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
US8316110B1 (en) System and method for clustering standalone server applications and extending cluster functionality
US20200125452A1 (en) Systems and methods for cross-regional back up of distributed databases on a cloud service
CN111158949A (zh) 容灾架构的配置方法、切换方法及装置、设备和存储介质
CN102882943B (zh) 服务副本读写方法及系统
CN111818188B (zh) 一种Kubernetes集群的负载均衡可用性提升方法和装置
CN115543971B (zh) 一种mpp数据库实现高可用的方法
CN109284169B (zh) 基于进程虚拟化的大数据平台进程管理方法及计算机设备
CN111752892A (zh) 分布式文件系统及其实现方法、管理系统、设备及介质
CN114564530A (zh) 一种数据库访问方法、装置、设备及存储介质
Corsava et al. Intelligent architecture for automatic resource allocation in computer clusters
US10108691B2 (en) Atomic clustering operations for managing a partitioned cluster online

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