基于QianBaseMPP数据库的WAL机制的备份恢复方法技术

技术编号:36509453 阅读:12 留言:0更新日期:2023-02-01 15:36
本发明专利技术公开了一种基于QianBase MPP数据库的WAL机制的备份恢复方法,将QianBase MPP数据库中所成功执行的每个事务的事务数据写入WAL文件,每个节点均存储各自的WAL文件以及其它节点的WAL文件;每个成功执行的事务的事务数据中均具有时间戳;读取第一WAL备份文件的元数据,然后复制WAL文件进行回写数据,直至备份数据恢复;在读取WAL备份文件的元数据前,首先将QianBase MPP数据库中节点的当前WAL文件进行备份,得到第二WAL备份文件。通过WAL机制保证备份恢复系统的一致性、准确性,并且QianBase MPP数据库中的每个节点都拥有自身完整的WAL文件以及其他节点的WAL文件,当发生节点的故障时,仍能保证数据库的正常运行以及数据的完整性。数据的完整性。数据的完整性。

【技术实现步骤摘要】
基于QianBase MPP数据库的WAL机制的备份恢复方法


[0001]本专利技术涉及一种数据备份与恢复方法,更具体的说,本专利技术主要涉及一种基于QianBase MPP数据库的WAL机制的备份恢复方法。

技术介绍

[0002]数据库的数据安全一直以来都是厂商和客户非常关注的功能点,计算机数据库运行过程中常常会有各式各样的威胁,导致数据库的数据安全受到了考验,备份恢复技术通过定时将数据库数据进行离线存储,避免当数据库或者计算机损坏时导致数据丢失。当前主流数据的备份恢复方案主要包括MySQL、Oracle、GaussDB、SQL Server等,前述方案大多是直接对数据进行备份,生成sql文件,或者利用不同的备份模式,分别对数据库中的日志、文件进行完成备份及差异备份。而在分布式数据库的场景下,例如QianBase MPP,备份恢复在多机环境下无法保证业务的连贯性,分布式数据库备份或者恢复失败问题,以及恢复到任意时间点的问题,因此有必要针对在分布式数据库场景下的数据备份及恢复方法进行研究和改进。

技术实现思路

[0003]本专利技术的目的之一在于针对上述不足,提供一种基于QianBase MPP数据库的WAL机制的备份恢复方法,以期望解决现有的数据备份恢复方案在多机环境下无法保证业务的连贯性,出现数据库备份或者恢复失败的情形后影响数据库的正常使用等技术问题。
[0004]为解决上述的技术问题,本专利技术采用以下技术方案:本专利技术所提供的一种基于QianBase MPP数据库的WAL机制的备份恢复方法,所述的方法包括如下步骤。
[0005]步骤A、将QianBase MPP数据库中所成功执行的每个事务的事务数据写入WAL文件,所述QianBase MPP数据库中每个节点均存储各自的WAL以及其它节点的WAL文件;每个成功执行的事务的事务数据中均具有时间戳。
[0006]步骤B、将QianBase MPP数据库中节点的当前WAL文件进行备份,得到第二WAL备份文件;读取第一WAL备份文件的元数据,然后复制WAL文件进行回写数据,直至备份数据恢复;在读取WAL备份文件的元数据前。
[0007]作为优选,进一步的技术方案是:当第一WAL备份文件的数据恢复失败时,读取第二WAL备份文件的元数据,然后复制WAL文件进行回写数据,直至备份数据恢复。
[0008]更进一步的技术方案是:在开始备份后,关闭当前节点的WAL文件,将所述WAL文件转存到备份目录,并记录WAL文件的元数据。
[0009]更进一步的技术方案是:所述方法中,QianBase MPP数据库同一节点的WAL至少在两个节点中存储并同步更新。
[0010]本专利技术还提供了一种计算机可读介质,所述计算机可读的存储介质中存储有指令,当计算机执行所述指令时,使得计算机执行上述的方法。
[0011]与现有技术相比,本专利技术的有益效果之一是:通过WAL机制保证备份恢复系统的一致性、准确性,并且QianBase MPP数据库中的每个节点都拥有自身完整的WAL文件以及其他节点的WAL文件,当发生节点的故障时,仍能保证数据库的正常运行以及数据的完整性。
附图说明
[0012]图1为用于说明本专利技术一个实施例中的QianBase MPP数据库结构示意框图。
[0013]图2为用于说明本专利技术一个实施例的逻辑流程图。
具体实施方式
[0014]本专利技术中所提到的QianBase MPP是一个面向数据仓库应用的关系型分布式数据库,具体如图1所示,其在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面优势突出。其数据库架构包括三层,分别为客户端服务层、SQL数据库服务层和存储引擎层。第一层是应用程序所在的客户端服务层。应用程序可以由用户编写或通过第三方ISV工具/解决方案实现。您能使用QianBase提供的Windows或Linux客户端驱动、通过标准ODBC/JDBC接口访问QianBase数据库服务层。QianBase支持type2JDBC、type4JDBC和ADO.NET驱动程序。根据特定的需求(响应时间、连接数量、安全要求和其它因素),您可以选择合适的驱动程序类型。第二层是SQL数据库引擎层。该层包括所有QianBase服务,封装了所有管理QianBase对象和高效执行SQL数据库请求的服务。服务包括连接管理、SQL语句编译和创建最优执行计划、SQL执行(串行和并行)、事务管理和工作负载管理。第三层是存储引擎层,包括QianBase使用的标准Hadoop服务(HDFS和Zookeeper)。QianBase对象存储在原生Hadoop数据库结构中,包括HBase、缓存文本文件与键值序列文件。QianBase处理从应用程序传来的SQL请求,并将这些请求透明地转换成底层数据格式所需的原生接口调用。QianBase在HBase之上提供了关系型schema抽象,所以,QianBase能通过使用熟悉的DDL/DML语法(对象命名、列定义和数据类型支持)支持传统关系型数据库对象(表、视图、二级索引)。另外,QianBase还支持将HBase和Hive的原生表作为QianBase的外表。
[0015]WAL(Write

Ahead

Log)预写日志是HBase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志,当发生节点宕机时可以以此进行数据恢复。
[0016]下面结合附图对本专利技术作进一步阐述。
[0017]参考图1与图2所示,本专利技术的一个实施例是一种基于QianBase MPP数据库的WAL机制的备份恢复方法,该方法包括如下步骤。
[0018]S1、在QianBase MPP数据库中,将每个成功执行的事务的事务数据均先写入WAL文件;此处重要的是,前述QianBase MPP数据库中每个节点均存储各自的WAL文件以及其它节点的WAL文件;即在QianBase MPP数据库中,同一节点的WAL文件至少在两个节点中存储并同步更新。同时每个成功执行的事务的事务数据中均具有时间戳,通过前述时间戳即可实现将当前节点数据恢复至此前的任意时间点。
[0019]S2、读取第一WAL备份文件的元数据,然后复制WAL文件进行回写数据,直至备份数据恢复;此处值得关注的是,在本步骤中读取WAL备份文件的元数据前,首先将QianBase MPP数据库中节点的当前WAL文件进行备份,得到第二WAL备份文件。从而可以保证恢复失败时,数据库能回滚到恢复动作前的状态。
[0020]即当第一WAL备份文件的数据恢复失败时,读取第二WAL备份文件的元数据,然后复制WAL文件进行回写数据,直至备份数据恢复。在上述步骤中在开始备份后,关闭当前节点的WAL文件,然后将该WAL文件转存到备份目录,并记录WAL文件的元数据。
[0021]基于上述对本专利技术所述方法的描述,更为具体的是:业务数据先存储WAL:在分布式数据库QianBase MPP中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于QianBase MPP数据库的WAL机制的备份恢复方法,其特征在于所述的方法包括如下步骤:将QianBase MPP数据库中所成功执行的每个事务的事务数据写入WAL文件,所述QianBase MPP数据库中每个节点均存储各自的WAL文件以及其它节点的WAL文件;每个成功执行的事务的事务数据中均具有时间戳;读取第一WAL备份文件的元数据,然后复制WAL文件进行回写数据,直至备份数据恢复;在读取WAL备份文件的元数据前,首先将QianBase MPP数据库中节点的当前WAL文件进行备份,得到第二WAL备份文件。2.根据权利要求1所述的基于QianBase MPP数据库的WAL机制的备份恢复方法,其特征在于:当第一WAL备份文件的...

【专利技术属性】
技术研发人员:黄江伟杨永芳李建衡
申请(专利权)人:贵州易鲸捷信息技术有限公司
类型:发明
国别省市:

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

1