tidb4.0.13版本通过cdc同步数据到tidb6.5版本

搞是搞过
但是坑就在于4.x的cdc太过于脆弱,如果源库的qps比较高,有可能下游的集群就追不上数据

搭建个测试环境,模拟下后,再在生产上做吧

1 个赞

这个应该可以

这个得先测试一下,不敢直接原地搞,万一性能下降就不好搞了

千万别直接升级,跨版本升级遇到过性能下降的情况,也没法降回来,只能翻倍的增加资源后顶了一阵子,后面慢慢性能恢复了,然后再缩回来。

测试环境先试一下

所以考虑迁移升级,而且我们现在生成sync_log关了,新版都没有这个参数了

之前就是因为性能问题,把这个关了,性能一下提升不少,所以不知道新版本,这个参数默认开着,会不会性能下降

关了的话,容易丢数据啊。这个是不推荐在生产环境关掉的啊。机器一旦关机重启最后的一批数据就丢了。

这种最好是在测试环境验证后,才能确定有无问题。
数据库部署、表模型、数据都不一样,有些问题可能不具有共性

生产环境做升级迁移,无论如何都要经过测试环境验证,有备无患嘛。

我想起来了,当时遇到了一个执行计划的兼容性问题, 在4.0.14使用的是indexJoin, 但是在6.5就变成hashJoin导致内存使用上升,后来通过拆分SQL解决了

4.0就用binlog同步吧

升级跨版本越多风险越高

+1,我当时从4.0升级到6.1就是通过TiCDC来同步升级的,兼容性问题基本没有。遇到的问题就延时有些大。不过我们的TiDB集群上有多个业务,他们交集不是很多,所以索性就分了几批database来迁移。

1 个赞

大佬当时使用的是哪个版本的ticdc,集群版本是?