Redis 数据恢复的月光宝盒,闪回到任意指定时间

在数据库的运维工作中,DBA 应该选择哪一种方案,确保 Redis 数据库崩溃后可以对数据进行回档,恢复业务运行?

一般情况下,DBA 可以通过 Redis 原生的持久化机制,如 RDB 快照持久化或者 AOF 日志持久化的方案来进行数据存档。在业务发生问题后,利用 RDB 或者 AOF 存档文件进行数据恢复。这两种方案均可以满足大部分业务场景的需求。

然而,在游戏、电商等场景中,数据库发生故障后需要能够精准、快速的恢复业务,原生的 RDB 或 AOF 方案则难以满足要求,如:

  • RDB 无法恢复至任意时间点。RDB 定期生成全量快照(如每小时一次)保存数据,但两次快照之间的数据变更会丢失。例如:如果在 10:00 和 11:00 各有一个 RDB 快照,但故障发生在 10:30,则只能恢复到 10:00 的状态,丢失 30 分钟的数据。
  • AOF 文件大恢复速度慢。AOF 会记录所有指令的操作,可以实现指定时间点的恢复,但数据量大存储成本高,导致恢复时间远超基于 RDB 的恢复方式。例如:如果 AOF 记录了从 10:00 和 11:00 的所有指令操作,故障发生在 10:35:15,在数据恢复中 Redis 将执行从 10:00:00 到 10:35:15 的全部数据写操作。

01 百度智能云 Redis 数据恢复方案

百度智能云数据库 Redis 推出的「数据闪回」功能,相比基于 Redis 原生的 RDB 或者 AOF 的恢复方法,「数据闪回」可以使用更小的存储空间,快速地将业务数据恢复到任意指定时间点。

「数据闪回」基于 RDB 和 AOF 的混合持久化方式,使得较少存储空间就能保留完整的数据备份,并为 AOF 新增时间戳,方便快速找到指定时间点的文件。这使得「数据闪回」能满足从小时级到秒级不同场景的数据恢复需求。

1.1 基于 RDB 和 AOF 的混合持久化方式,保留完整的数据备份

百度智能云 Redis 通过采用 RDB + AOF 混合存储的方式,解决了传统 AOF 方案带来的由于日志数量多、导致数据恢复慢的问题。

  • RDB 提供基础的数据快照,用于快速恢复到一个基准时间点(例如每天凌晨的备份)。
  • AOF 提供增量的操作日志,记录 RDB 基准时间点之后的所有写命令,实现命令级别的数据恢复能力。

开启 AOF 后系统默认记录一周之内的全部命令,到期后系统将自动清除过期的 AOF 文件,自动开始进入新一轮的 RDB 快照 + AOF 记录的周期。

1.2 新增 AOF 内置时间戳

原生 Redis 的 AOF 文件会记录全部的写命令,但是并没有给这些命令配置时间信息,导致系统无法快速找到指定时间点的文件,使得数据恢复效率受限。

为了解决这一问题,百度智能云 Redis 内核团队按照 Redis 协议设计了百度版本的新的协议。该协议新增 op-header 字段,即为每个 Redis 指令增加了时间戳,使得 Redis 具备按照时间点来快速找到文件的能力。

1.3 数据恢复过程

当用户提出回档需求并指定时间点后,百度智能云的 Redis 将启动数据恢复流程。

首先,平台会克隆出一个与原集群配置完全相同的空 Redis 集群。

随后,系统依据原集群的分片规则和用户指定的时间点,精准定位对应的 RDB 文件与 AOF 文件,将这两类文件加载至 Redis 内存,完成整个数据恢复操作,使Redis 集群状态精准还原至用户指定的时间节点。

02 总结

在当今数字化时代,数据的价值不言而喻,而数据恢复能力更是企业业务连续性的关键保障。百度智能云数据库 Redis 的「数据闪回」功能,为 Redis 数据恢复提供了一种创新且高效的解决方案。它不仅解决了传统 RDB 和 AOF 方案的局限性,还通过混合持久化和时间戳技术,实现了秒级精度的任意时间点数据恢复。

相关推荐
潘yi.1 小时前
NoSQL之Redis配置与优化
数据库·redis·nosql
zdkdchao1 小时前
hbase资源和数据权限控制
大数据·数据库·hbase
伤不起bb1 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
leo__5201 小时前
PostgreSQL配置文件修改及启用方法
数据库·postgresql
南風_入弦3 小时前
优化09-表连接
数据库·oracle
Snk0xHeart4 小时前
极客大挑战 2019 EasySQL 1(万能账号密码,SQL注入,HackBar)
数据库·sql·网络安全
····懂···5 小时前
数据库OCP专业认证培训
数据库·oracle·ocp
学习中的码虫5 小时前
数据库-MySQL
数据库
Karry的巡洋舰5 小时前
【数据库】安全性
数据库·oracle
软件测试小仙女6 小时前
鸿蒙APP测试实战:从HDC命令到专项测试
大数据·软件测试·数据库·人工智能·测试工具·华为·harmonyos