数据同步drinaer 有没有高可用

1)bin log 同步情况下pump 可以有多个来实现高可用,但是drainer 只有一个,如何实现drainer 高可用?
2)当pump 故障的情况下,每个pump 存放的都是不同的bin log ,如何做到这个pump 内的数据不丢失,pump 高可用如何实现
3)当ticdc caputer 故障的情况下 ,ticdc caputre 存放的都是不同的 tikv log ,如何做到这个caputre内数据不丢失,实现高可用?
4)ticdc 和 bin long 同步都是基于row的逻辑复制,从性能和稳定性来考虑,是否以后会推出物理级复制?

1 个赞

1)drainer 作为单进程实例不支持高可用,可以提前准备另一个 drainer 节点,如果发生故障,将备节点从下游记录的 checkpoint 点拉起恢复,如果开启了 relay log,那 relay log 的存放位置也是单点,可以放到共享存储或 raid10
2)pump 不支持单节点高可用,为了确保 pump 内的数据不丢失,可以将 binlog 存放到共享存储,发生故障拉起另一个 pump 节点读取共享目录的日志恢复服务
3)ticdc capture 本地不落盘,依赖 tikv 的高可用,ticdc 故障后,其他 ticdc 在 gc life time 范围内重新向 tikv 拉取增量日志
4)物理复制是指不同 tidb 集群之间的吧,暂时还没有这方面的规划

1 个赞

pump落地的binlog 和driner 落地的本地文件有啥区别?都可以用于br的后续恢复吗?

1 个赞

pump 记录的 binlog 和 drainer 的 relay log 格式不同,前者是 vlog 记录了 binlog event,后者是 protobuf 格式,relay log 不能用于 br 后续恢复

2 个赞

哦明白了,原来driner落地的本地文件格式:就是relay log,这样理解对吧?

1 个赞

drainer 下游可以输出为本地文件用于增量恢复,这个文件跟 relay log 不同

relay log 只是用于灾备场景,用来保证下游数据恢复为一致的状态,触发场景单一

1 个赞

可以实现br+driner输出的本地文件增量恢复吗?。和利用br+bin log增量恢复啥区别?

1 个赞

如果需要按时间点增量恢复的功能,可以等下个版本 5.3 支持了 PiTR BR 支持恢复数据到指定时间点 (PITR) ,使用 BR+TiCDC 的方式实现,BR+Drainer 或 BR+Binlog 理论上也可以,但是 TiDB Binlog 后续版本不再开发和支持,会逐渐被 TiCDC 替换。

1 个赞

ticdc 目前的同步log 是不落地的,那以后利用BR+ticdc 的话,ticdc log 要落地的吧?

1 个赞

ticdc 支持 log backup 依赖于#768 实现,是 PiTR 功能的一部分

1 个赞

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