控制 MySQL ClickPipe 的同步
本文档介绍在 ClickPipe 处于 CDC(Running)模式 时如何控制 MySQL ClickPipe 的同步过程。
概览
Database ClickPipes 的架构由两个并行流程组成——从源数据库拉取数据以及向目标数据库推送数据。拉取流程由一个同步配置控制,该配置定义了拉取数据的频率以及每次拉取的数据量。这里的“每次”是指一个批次——因为 ClickPipe 是按批次拉取和推送数据的。
有两种主要方式可以控制 MySQL ClickPipe 的同步。当下面任一设置生效时,ClickPipe 将开始推送数据。
同步间隔
管道的同步间隔是指 ClickPipe 从源数据库拉取记录的时长(以秒为单位)。将已有数据推送到 ClickHouse 所花费的时间不包含在该间隔内。
默认值为 1 分钟。 同步间隔可以设置为任意正整数值,但建议保持在 10 秒以上。
拉取批大小
拉取批大小是指 ClickPipe 在一次批处理中从源数据库拉取的记录数量。记录是指对属于该 ClickPipe 的表执行的 insert、update 和 delete 操作。
默认值为 100,000 条记录。 安全上限为 1000 万条记录。
一个例外:源端的长时间运行事务
当在源数据库上运行事务时,ClickPipe 会在接收到该事务的 COMMIT 之后才继续处理。此行为会覆盖同步间隔和拉取批次大小这两个设置。
配置同步设置
在创建 ClickPipe 或编辑现有 ClickPipe 时,可以配置同步间隔和拉取批量大小。 在创建 ClickPipe 时,这些设置会出现在创建向导的第二步中,如下所示:

在编辑现有 ClickPipe 时,可以进入该管道的 Settings 选项卡,先暂停该管道,然后点击此处的 Configure:

此操作会打开一个包含同步设置的侧边弹出面板,你可以在其中修改同步间隔和拉取批量大小:

监控同步控制行为
你可以在 ClickPipe 的 Metrics 选项卡中的 CDC Syncs 表中查看每个批次的耗时。注意,这里的持续时间包含推送时间;并且如果当前没有新的行写入,ClickPipe 会等待,这段等待时间也会计入持续时间。
