TiGod
1
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 小时日志)
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
xfworld
(魔幻之翼)
2
5.x 的时候对binlog 做了新的定义,然后这个实现就是 ticdc
以前的4.x 和 3.x 的时候用的是 Drainer 和 pump,两种实现方式不一样
ticdc 会把数据变化的过程传递给下游,然后下游怎么来满足这个恢复的要求,就需要你这边来考虑了
每个业务场景的具体要求会不同
3 个赞
TiGod
3
且不讨论同步到下游的情况,要是我当前源端数据库误删数据的情况下,ticdc能恢复吗。我的理解是最好能有生成binlog,用binlog恢复,简单快捷。
1 个赞
TiGod
4
就是说误删数据误删表,历史数据也被gc掉了的话,tidb 做恢复的最佳实践是什么,用啥工具最好,怎么才能最快最正确的恢复数据呢。
1 个赞
从 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 个赞
xfworld
(魔幻之翼)
6
你需要的是 增量备份和增量恢复的功能吧, 我感觉 BR 更合适你
ticdc 一般是用来做同步数据,或者 逃生窗口,也有实现一些更复杂的场景
1 个赞
题主问题现在解决了么,这个问题也困扰我很久了。数据误删快速切换到指定tso的最佳方案,目前还没有找到满意的
TiGod
8
误删的话,可以用 set snapshot 的方式找回。
system
(system)
关闭
9
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。