ticdcdc参数

复制链接完成认证,获得“加急”处理问题的权限,方便您更快速地解决问题。

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】:场景 + 问题概述
ticdc使用

【背景】:做过哪些操作
ticdc同步 tidb到mysql数据库

【现象】:业务和数据库现象

【问题】:当前遇到的问题
1 ignore-txn-start-ts = [1, 2] 这个参数怎么理解,是忽略所有错误么,在官方文档上没看到说明
这个1,2 分别代表什么意思
2 如果增量同步一个已经存在的tidb数据库到mysql里面,先全量然后使用ticdc增量的方案,ticdc
需要设置start_ts来找到增量的点,这个点就是全量里面的pos值,这么理解对不对

【业务影响】:

【TiDB 版本】:
v5.0.0
【附件】:

  1. ignore-txn-start-ts = [1, 2] ,表示忽略哪些 start_ts 的事务
  2. 是的,增量同步之前需要全量备份恢复到 mysql,之后创建 changefeed 增量同步任务时指定 --start-ts 为备份中记录的 tso

借楼问一下,把数据全量从 tidb 导入 mysql ,一般是使用 dumpling + myloader 的方式吗?

这种方式的话,它的 tso 怎么确定呢?

可以在备份时设置 tidb_snapshot 的值作为备份数据的快照时间点,从而保证备份的一致性

ignore-txn-start-ts = [1, 2] ,表示忽略哪些 start_ts 的事务。因为我看存在这个的时候,一些其他没有同步过来的sql也不会报错了,好像忽略所有错误一样

我们都是停业务后进行导出导入的。你们是生产时导出么?

翻遍了文档竟然没找到相关说明,mark一下,坐等回复

很多线上在跑的业务,不能停机去做迁移。

先涉及双写方案,当数据同步一致,且业务低峰时候再进行切换。

确认数据一致的话,是使用 sync-diff-inspector 把,有两个问题想确认下:

  1. sync-diff-inspector 有没有支持动态在线校验的计划,因为业务的特殊性,业务不大可能有停机窗口;
  2. 我们可能需要同步3T左右的数据,使用 sync-diff-inspector 大概需要多久能校验完?
  1. 现在是可以进行在线校验的,主要是通过 where 范围来设定;
  2. 3 TB 数据量需要看一下当前的数据分布和数据情况,可是使用二分法来验证数据。

这种通过where条件的是否会锁定满足条件的数据?

where 是查询操作,和业务的正常读请求一样的,没有锁。

你好,请问下支持在线校验是怎么支持的呢?
我看官方文档在2021-08-25T08:52:04Z更新的时候写的是不支持在线校验。

您指的是纯insert场景么?
我这边涉及到的是增删改查场景

你是要做一致性检查吗?

是的,因为我们是7*24小时,实时将mysql数据同步至TiDB。
在这过程中,我们要求数据的最终一致性。

所以,要么有一款开源工具可以来扫描。要么就只能自己开发一套数据扫描监控功能

目前生态里面有一个 sync-diff- inspector 工具,可以看一下相关文档的介绍。

sync-diff- inspector

对,就是这个工具,官网2021-08-25T08:52:04Z更新说不支持在线校验。
但是6.9号你这边有个回答说可以支持在线校验

所以,是有什么特殊技巧嘛

通过 where 限定一些,在业务低峰做一下数据校验