为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
- 【系统版本 & kernel 版本】
centos7
- 【TiDB 版本】
3.0.4
- 【磁盘型号】
- 【集群节点分布】
- 【数据量 & region 数量 & 副本数】
- 【问题描述(我做了什么)】
我的需求,把一个mysql的库下面的所有表同步实时同步到tidb中,比如现在是4张表,后面可能随时增加,我通过dm-portal生成task配置里面是写死表名了,如果我mysql里面加了表不能自动配置,有正则方式全部匹配嘛?
name: test
task-mode: all
is-sharding: false
target-database:
host: 172.21.40.130
port: 4000
user: root
password: xxxxx
mysql-instances:
- source-id: mysql-01
meta:
binlog-name: mysql-bin.0000001
binlog-pos: 4
filter-rules: []
route-rules: []
black-white-list: mysql-01.bw_list.1
mydumper-config-name: mysql-01.dump
routes: {}
filters: {}
black-white-list:
mysql-01.bw_list.1:
do-tables: []
do-dbs: []
ignore-tables:
- db-name: dmtest
tbl-name: test
- db-name: dmtest
tbl-name: test1
- db-name: dmtest
tbl-name: test2
- db-name: dmtest
tbl-name: test3
ignore-dbs: []
mydumpers:
mysql-01.dump:
mydumper-path: bin/mydumper
threads: 4
chunk-filesize: 64
skip-tz-utc: true
extra-args: '-T '
还有两个问题需要咨询下:
1、现在DM这套架构,每个角色都是单点,比如如果woker节点故障无法恢复,那这个节点上的同步任务都故障需要人为接入处理,有计划支持HA嘛
2、了解到现在MD的功能syncer基本都有,其实用syncer就好了,为啥还有整个DM,DM比syncer有啥优势哈
ericsyh
(Eric Shen)
5
你好,dm-portal 生成正则的可能性不大,相当于要根据输入信息反向生成对应的匹配的正则表达式。
现在的 dm-portal 上如果勾选这个库的话,相当于下面已有的整个表做同步,如果后续新增表的话,是不会自动同步的。
这个我们考虑下怎么做区分吧,就是勾选库的情况下:
- 什么时候是选择库下所有的表(但不包含后续新增的表)
- 什么时候是选择整个库(包含后续新增的表)
ericsyh
(Eric Shen)
6
你好,先简单讲一下 DM 对 syncer 比较大的一个优势是在于 sharding ddl 机制:https://pingcap.com/docs-cn/v3.0/reference/tools/data-migration/features/shard-merge/
如果上游是分库分表中间件的话,用 DM 同步的话会自动协调各分片之间的 ddl,保证同步一次 ddl 到下游的合表中。这个是 sycner 没有的,如果用 syncer 的话,每个分片都会同步一次 ddl, 同步会中断掉。
方便介绍下您这边使用 DM 的场景嘛?另外对同步连续性的要求是怎么样的。大部分同步都不太有 HA 的架构,主要是因为多副本的话成本会高而且对上游也有压力。这块可以详细聊下,我们也想收集下实际场景。
我们这的使用tidb的场景是这样的:
业务没有涉及分库分表,业务写mysql,会有多个业务库,我们把这些业务库实时同步到tidb集群中,一些读场景就切到tidb上,做多库的关联查询,其实就是写mysql,读tidb,所以我现在在选择同步工具,我们这没有sharding,其实我用sycner就够, 用DM反而复杂了,帮忙给点建议
ericsyh
(Eric Shen)
8
那用 DM 和 Syncer 都可以的。
DM 对异常场景下作的重试机制比较全面一点:比如上下游网络抖动,上下游数据库链接异常。
用 syncer 的话这些场景会同步中断的,一般都会搞个脚本断的时候重新拖起来。
其实复杂度差不多,DM 的复杂度在于部署和使用上,syncer 的复杂度在日常运维上。
system
(system)
关闭
9
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。