我司存在数百mysql小实例,我想通过大数据平台将数据交换到tidb再DM配置增量数据,但为什么文档要求最对worker数量大于mysql实例,我准备几台虚拟机就行了,而且还要求ssd?同步不都是on fly的么?
1、dm worker和上游mysql实例是一对一的,不能一个worker服务多个mysql
2、生产环境部署dm worker推荐使用ssd,worker节点会有高频磁盘读写
我有数百小实例,就要部署数百个md worker进程那也太浪费资源了
是一个实例一个库嘛,如果是一个实例多个库一个dm work就可以了
大多数一个实例一个库
DM的架构就是这样,每个DM Woker对应上游一个MySQL实例,以Slave方式与MySQL建立复制通道,多余的DM Woker会处于空闲状态。如果上游MySQL很多,可以考虑分批对这些MySQL进行同步,或者在有限的服务器资源上进行混合部署,但可能性能不会太好。SSD是为了应对需要开启relay log的场景,它对I/O需求较大,另外正常运行时woker也有很多I/O
是的,一个dm worker只能绑定一个数据源,要是有足够资源就在同一机器上搭建多个worker
source 和worker暂时是一一对应的
如果上游单个实例的负载不大,可以尝试在同一台机器上部署多个worker
目前 source 和 worker 是一一对应的,之后会有相关优化,将 source 和 worker 解耦:
FYI: https://github.com/pingcap/tiflow/issues/4687
尽管目前需要让 worker 和 source 一一对应,但实际上 dm worker 对计算资源的消耗并不是非常显著;如果不开启 relay log 功能,其实对磁盘的读写也没有非常依赖(毕竟您是增量迁移)
DM woker数量只能多不能少,每一个MySQL实例都需要一个单独的dm Woker。不开relay log的话SSD也可以不用。但是几百个想一次性同步确实比较麻烦。
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。