tidb dm 的metadata 信息

请问下各位老师,最近在学TIDB的DM 迁移,对metadata 不是很懂?

metadata 里面的信息,有什么作用?
DM start task 的时候,会不会清理 meta data ?
还请各位老师指点?

上游数据库 和 DM,以及下游的变化,一致性的检查,都需要 meta data 来支持

看看这个:
https://docs.pingcap.com/zh/tidb/stable/dm-manage-schema#原理介绍

metadata 就是 dm 在迁移过程的 checkpoint,在迁移因为某些原因而暂停,重新启动该任务时,dm 可以读取这些 meta 信息,而不用从头开始迁移。

在 start-task 时加上 --remove-meta 可以清除上次的 metadata。

1 个赞

应该不是这个作用,metadata 里面的位置点只是第一次从MySQL里面导出数据的时候记录的位置点,以后迁移,如果暂停了,同步,读的不是这个里面的信息

emmm,您说的 metadata 是不是在下游数据库中的 dm_meta 库呢?如果是的话,就是我所说的 checkpoint 信息哦。在增量同步过程中,会不断的更新已同步的 binlog 的位置,并写入到 dm_meta 对应的表里。

还是说您指的是 dump 阶段由 dumpling 产生的 metadata 文件呢?这个文件里面包含的是全量导入开始的时候,mysql 的 binlog position,在接下来的增量任务(如果 dm 用的是 all mode),则会从这里读出要开始增量同步的位置。

metadata 存的是一些 dm 在迁移过程的 checkpoint,可以做 类似断点续传的功能

在大规模数据迁移中很有作用,用于全量以后接增同步的的起始位置

没有这个库,你同步任务的信息记录在什么地方。。。好像这个库只会手动才能删除,不会清理