TiCDC 能做增量恢复

https://docs.pingcap.com/zh/tidb/stable/tidb-binlog-overview

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
ticdc / tidb binlog

【概述】 场景 + 问题概述
看官方文档,其建议使用ticdc代替tidb binlog。
但是没看到ticdc能做增量恢复,那还不是要用binlog + reparo来恢复吗。可是这两者又有兼容性问题。
当我既要做同步,又要考虑要恢复的时候怎么办。
【备份和数据迁移策略逻辑】

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】
5.3
【附件】

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

5.x 的时候对binlog 做了新的定义,然后这个实现就是 ticdc

以前的4.x 和 3.x 的时候用的是 Drainer 和 pump,两种实现方式不一样

ticdc 会把数据变化的过程传递给下游,然后下游怎么来满足这个恢复的要求,就需要你这边来考虑了

每个业务场景的具体要求会不同

3 Likes

且不讨论同步到下游的情况,要是我当前源端数据库误删数据的情况下,ticdc能恢复吗。我的理解是最好能有生成binlog,用binlog恢复,简单快捷。

1 Like

就是说误删数据误删表,历史数据也被gc掉了的话,tidb 做恢复的最佳实践是什么,用啥工具最好,怎么才能最快最正确的恢复数据呢。

1 Like

从 v5.3.0 版本开始,TiCDC 开始提供灾难场景下的最终一致性复制能力。具体解决的场景是,当生产集群(即 TiCDC 同步的上游集群)发生灾难、且短时间内无法恢复对外提供服务,TiCDC 需要具备保证从集群数据一致性的能力,并允许业务快速的将流量切换至从集群,避免数据库长时间不可用而对业务造成影响。

该功能支持 TiCDC 将 TiDB 集群的增量数据复制到备用关系型数据库 TiDB/Aurora/MySQL/MariaDB,在 TiCDC 正常同步没有延迟的情况下,上游发生灾难后,可以在 5 分钟内将下游集群恢复到上游的某个 snapshot 状态,并且允许丢失的数据小于 30 分钟。即 RTO <= 5min,RPO <= 30min。

https://github.com/pingcap/docs-cn/blob/release-5.3/ticdc/manage-ticdc.md

1 Like

你需要的是 增量备份和增量恢复的功能吧, 我感觉 BR 更合适你

ticdc 一般是用来做同步数据,或者 逃生窗口,也有实现一些更复杂的场景

1 Like

题主问题现在解决了么,这个问题也困扰我很久了。数据误删快速切换到指定tso的最佳方案,目前还没有找到满意的

误删的话,可以用 set snapshot 的方式找回。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。