重新同步会执行什么操作?
- 现有的 ClickPipe 会被删除,并启动一个新的“重新同步” ClickPipe。因此,执行重新同步时,也会一并识别源表结构的变更。
- 重新同步 ClickPipe 会创建 (或替换) 一组新的目标端表,这些表的名称与原始表相同,只是在末尾加上了
_resync后缀。 - 对这些
_resync表执行初始加载。 - 然后将
_resync表与原始表进行交换。交换前,原始表中的软删除行会先转移到_resync表中。
重新同步 ClickPipe 的使用场景
- 你可能需要对源表进行重大的 schema 变更,这会导致现有 ClickPipe 无法继续工作,并且需要重新开始。完成这些变更后,只需点击 重新同步。
- 对于 ClickHouse,可能需要更改目标表的 ORDER BY 键。你可以通过 重新同步 将数据重新填充到具有正确排序键的新表中。
- 如果 ClickPipe 的 replication slot 已失效:重新同步 会创建一个新的 ClickPipe,并在源数据库上创建一个新的 replication slot。
你可以多次重新同步,但重新同步时请考虑源数据库上的负载,
因为每次都会涉及使用并行线程进行初始加载。
重新同步 ClickPipe 指南
- 在 Data Sources 选项卡中,点击要重新同步的 Postgres ClickPipe。
- 转到 Settings 选项卡。
- 点击 重新同步 按钮。
- 此时会弹出确认对话框。再次点击 重新同步。
- 转到 Metrics 选项卡。
- 大约 5 秒后 (以及刷新页面后) ,管道状态应为 Setup 或 Snapshot。
- 可在 Tables 选项卡的 Initial Load Stats 部分查看重新同步的初始加载进度。
- 初始加载完成后,管道会以原子方式将
_resync表与原始表进行交换。在交换期间,状态将为 重新同步。 - 交换完成后,管道将进入 Running 状态,并在启用时执行 CDC (变更数据捕获) 。