BR 支持恢复数据到指定时间点 (PITR)

需求反馈

【需求涉及的问题场景】

  • 使用 BR 对 TiDB 做全量备份,并持续的做增量备份,利用这些备份可以恢复数据,但是只能恢复到做备份的几个时间点。粒度不够精细。

  • 如果全量备份之后,使用 TiCDC 或者 binlog 工具,精细地记录增量的事件,应该可以恢复数据到全量备份之后的任意时间点。只是现在 BR 本身还没有原生支持 PITR

【期望的需求行为】

  • BR 可以做到 PITR (point-in-time recovery) ,即:如果利用 BR / TiCDC 等工具,持续地对 TiDB 做了"备份", 那么可以恢复数据到指定的任一时间点,当然这个时间点是有限制的,需要恢复到越早的时间点,成本越高。

【需求可替代方案】

【背景信息】

  • 对于 MySQL 来说,公有云的数据库服务一般都会提供类似功能,比DBA自己做省事了很多。严肃业务的 DBA/SA/SRE 都很期待这个功能。
1赞

【需求涉及的问题场景】

  • 灾备 RPO 要求,类似于使用 MySQL Binlog 进行 log 备份,分钟级别
  • RTO 常规要求 1 小时内恢复,重大问题需要通宵恢复

【期望的需求行为】

  • TiCDC 支持输出 cdc log 文件备份,BR 读取备份文件并恢复数据到某个时间点
  • 组件部署在自建云上,支持从 s3 存储备份恢复功能

【需求可替代方案】

  • 基于 BR 全量 + 增量备份,但增量备份没办法实时进行

【背景信息】

  • 供应链业务场景,上游最大 QPS 30000

  • 目前使用 TiDB binlog 同步到内部自研的 MQ ,可以容忍 1 min 左右同步延迟

  • 会限制业务 Transaction 大小,不过特殊情况会超过 10G,如一些批量 update 操作,只能写脚本拆事务

  • 目前通过 BR 2 天做一次全量备份,保存一个月的备份数据,有自己的运维管理平台