简介:在数据库的运维工作中,DBA 应该选择哪一种方案,确保 Redis 数据库崩溃后可以对数据进行回档?
在数据库的运维工作中,DBA 应该选择哪一种方案,确保 Redis 数据库崩溃后可以对数据进行回档,恢复业务运行?
一般情况下,DBA 可以通过 Redis 原生的持久化机制,如 RDB 快照持久化或者 AOF 日志持久化的方案来进行数据存档。在业务发生问题后,利用 RDB 或者 AOF 存档文件进行数据恢复。这两种方案均可以满足大部分业务场景的需求。
然而,在游戏、电商等场景中,数据库发生故障后需要能够精准、快速的恢复业务,原生的 RDB 或 AOF 方案则难以满足要求,如:
百度智能云数据库 Redis 推出的「数据闪回」功能,相比基于 Redis 原生的 RDB 或者 AOF 的恢复方法,「数据闪回」可以使用更小的存储空间,快速地将业务数据恢复到任意指定时间点。
「数据闪回」基于 RDB 和 AOF 的混合持久化方式,使得较少存储空间就能保留完整的数据备份,并为 AOF 新增时间戳,方便快速找到指定时间点的文件。这使得「数据闪回」能满足从小时级到秒级不同场景的数据恢复需求。
百度智能云 Redis 通过采用 RDB + AOF 混合存储的方式,解决了传统 AOF 方案带来的由于日志数量多、导致数据恢复慢的问题。
开启 AOF 后系统默认记录一周之内的全部命令,到期后系统将自动清除过期的 AOF 文件,自动开始进入新一轮的 RDB 快照 + AOF 记录的周期。
原生 Redis 的 AOF 文件会记录全部的写命令,但是并没有给这些命令配置时间信息,导致系统无法快速找到指定时间点的文件,使得数据恢复效率受限。
为了解决这一问题,百度智能云 Redis 内核团队按照 Redis 协议设计了百度版本的新的协议。该协议新增 op-header 字段,即为每个 Redis 指令增加了时间戳,使得 Redis 具备按照时间点来快速找到文件的能力。
当用户提出回档需求并指定时间点后,百度智能云的 Redis 将启动数据恢复流程。
首先,平台会克隆出一个与原集群配置完全相同的空 Redis 集群。
随后,系统依据原集群的分片规则和用户指定的时间点,精准定位对应的 RDB 文件与 AOF 文件,将这两类文件加载至 Redis 内存,完成整个数据恢复操作,使 Redis 集群状态精准还原至用户指定的时间节点。
在当今数字化时代,数据的价值不言而喻,而数据恢复能力更是企业业务连续性的关键保障。百度智能云数据库 Redis 的「数据闪回」功能,为 Redis 数据恢复提供了一种创新且高效的解决方案。它不仅解决了传统 RDB 和 AOF 方案的局限性,还通过混合持久化和时间戳技术,实现了秒级精度的任意时间点数据恢复。
更多百度智能云 Redis 「数据闪回」的详细信息,请访问 https://cloud.baidu.com/doc/SCS/s/Mm8wt78ac