准备部署一套新的mysql同步到tidb环境
之前有两套老的,一套使用了本地relay-log。一套安装的时候没有使用relay-log,感觉没啥区别。自我认为使用本地relay-log可能会延迟一丢丢。如果不使用relay-log,他是不是直接在连接的mysql主库上面进行分析binlog然后转换成sql传输到mubiaotidb。这对mysql有什么影响吗?
使用本地relay-log可以在一定程度上减轻上游数据库的压力、提高同步稳定性和数据持久化能力,但可能会带来一定的性能开销
优点
开启 relay log 后,同一个上游的多个同步任务可以复用已经拉到本地的 relay log,减少了对上游的压力 。
提前开启了 relay log,DM 会自动在本地保留足够的日志,保证增量任务正常进行 。
缺点
由于 relay log 需要写入到磁盘中,这一过程会产生外部 IO 和一些 CPU 消耗,可能导致整个同步链路变长,从而增加数据同步的时延。对时延要求十分敏感 的同步任务,暂时不推荐使用 relay log。
https://docs.pingcap.com/zh/tidb/stable/relay-log#dm-relay-log
从稳定性来说,还是建议开启 relay log
用了relay 会下载binlog到本地,在上下游网络不稳定得情况下,同步效果会稳定点。
开了 relay log 后需要多关注本地的磁盘空间
我想知道,不开relay log 对上游mysql有多少的压力。当前已有的环境 感觉不到有什么压力或者看不出来什么压力
这个没有实际测试过,给不出什么有用的建议。如果当前环境允许的话,可以测试一下。
我是不想开,主要原因是,不想多写个参数。懒
老环境有本地rela-ylog的是之前的人部署的,之前部署的是3套库3个数据源同步到1个tidb。
后来有两个数据源同步失败有问题了,我就把这两个重新部署在一个新的服务器DM上,没有搞本地日志
但是这几个月了。没发现有什么问题。而且没有本地日志的同步的那个库每天七八百万数据,也没看到有什么影响,数据源连接的都是从库。
现在新环境我准备让他连主库数据源。因为之前主库只要加索引。主从延迟。tidb必定延迟。
DM数据源 连接主库从库 这个没什么区别吧
没搞过,可以开新贴讨论一下。
rely-log 会落盘到本地,虽然会多写一部分数据,但是同步效果会好很多,
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。