[发明专利]一种基于WAL实现分布式数据库集群任意时间点恢复的方法有效
申请号: | 202110253613.6 | 申请日: | 2021-03-09 |
公开(公告)号: | CN112925676B | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 秦利鹏;张炜刚;贾德星 | 申请(专利权)人: | 上海沄熹科技有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/27 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 200120 上海市浦东新区中国(上海)自由贸*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 wal 实现 分布式 数据库 集群 任意 时间 恢复 方法 | ||
本发明公开一种基于WAL实现分布式数据库集群任意时间点恢复的方法,涉及分布式数据库恢复技术领域;增加相关DDL语句,并重写分布式数据库集群LOAD数据恢复流程,完成DUMP预处理,加载WAL文件到临时RocksDB实例,通过RocksDB实例获取WAL记录的所有应该落盘的key‑value数据,并对key‑value数据解析处理,并构建新DUMP文件和SST文件,交由LOAD数据恢复流程,恢复数据库集群至此WAL所记录的之前任意时间点。
技术领域
本发明公开一种方法,涉及分布式数据库恢复技术领域,具体地说是一种基于WAL实现分布式数据库集群任意时间点恢复的方法。
背景技术
数据库通常采用数据备份来进行数据库恢复和还原,保证数据安全可靠,数据备份是容灾的基础,现有的数据备份主要是采用内置或外置的存储设备进行冷备份。虽然这样的备份方式能较大程度上保证数据完整性,但由于其一般为定时备份,容易导致数据库系统故障发生在两次定时备份之间时的数据部分丢失。
发明内容
本发明针对现有技术的问题,提供一种基于WAL实现分布式数据库集群任意时间点恢复的方法,结合数据库全量备份和增量备份数据恢复,能够恢复故障发生前全部落盘数据或恢复至此前任意时间点状态,实现数据库系统高可用,提高系统容错、容灾能力。
本发明提出的具体方案是:
一种基于WAL实现分布式数据库集群任意时间点恢复的方法,增加相关DDL语句,并重写分布式数据库集群LOAD数据恢复流程,完成DUMP预处理,加载WAL文件到临时RocksDB实例,通过RocksDB实例获取WAL记录的所有应该落盘的key-value数据,并对key-value数据解析处理,并构建新DUMP文件和SST文件,交由LOAD数据恢复流程,恢复数据库集群至此WAL所记录的之前任意时间点。
进一步,所述的一种基于WAL实现分布式数据库集群任意时间点恢复的方法中通过分布式数据库集群汇集WAL,利用WAL记录的所有应该落盘的数据,从指定的WAL汇集目录读取WAL文件,并按照指定时间点提取WAL中存放的时间点之前的落盘数据,加载WAL文件到临时RocksDB实例。
进一步,所述的一种基于WAL实现分布式数据库集群任意时间点恢复的方法中恢复数据库集群至此WAL所记录的之前任意时间点的流程:
S1:解析预处理已有的DUMP文件,获取descriptors信息,得到WAL汇集目录下所有WAL文件列表;
遍历WAL数据,将读取的数据记录写入临时RocksDB引擎;
根据数据内容时间戳与指定时间点进行比较,将处于恢复时间范围内的descriptor进行处理,记录descriptor修改和最新descriptor;
构建新的SST文件,遍历临时RocksDB引擎中的数据,将处于恢复时间内的Key-Value写入SST并更新descriptors记录的span信息;
处理descriptor,写入生成DUMP文件;
S2:将DUMP文件和SST文件路径加入备份文件路径列表,继续执行原有LOAD数据恢复流程。
一种基于WAL实现分布式数据库集群任意时间点恢复的系统,包括预处理模块、数据提取和准备模块以及恢复模块,
预处理模块利用增加的相关DDL语句和重写的分布式数据库集群LOAD数据恢复流程,完成DUMP预处理,通过分布式数据库集群从指定的WAL汇集目录读取WAL文件并汇集WAL,加载WAL文件到临时RocksDB实例,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海沄熹科技有限公司,未经上海沄熹科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110253613.6/2.html,转载请声明来源钻瓜专利网。