跳到主要内容

TiDB

选择对端数据库:

数据链路

基本功能

功能说明
结构迁移

如目标不存在所选表,则自动根据源端元数据,结合映射生成对端创建语句并执行创建

全量数据迁移

逻辑迁移,通过顺序扫描表数据,将数据分批写入到对端数据库

增量实时同步

支持 INSERT, UPDATE, DELETE 常见 DML 同步

数据校验

全量数据校验, 并支持定时

修改订阅

新增、删除、修改订阅表,支持历史数据迁移,文档:修改订阅

重置位点

时间戳 回溯位点,重新消费过去一段时间未被 TiKV GC 掉的增量数据

表名映射

支持 和源端保持一致, 转小写, 转大写, 以'_数字'后缀截取

DDL 同步
  • ALTER TABLE ADD COLUMN, DROP COLUMN
元数据检索

从源端表查对端,查询设置过过滤条件的,查询设置过对端主键的

高级功能

功能说明
追加模式写入

INSERT 和 UPDATE 以追加模式批量写入,DELETE 单独通过 ALTER 方式执行

定时优化表

通过设置 autoOptimizeThresholdSec 参数,定时优化表

定时全量迁移

文档:创建定时全量任务

自定义代码

文档1:创建自定义代码任务
文档2:自定义代码任务debug
文档3:在自定义代码中打日志

数据过滤条件

支持 WHERE 条件进行数据过滤,内容为 SQL 92 子集, 文档:创建数据过滤任务

设置目标主键

变更主键为其他字段,方便数据聚合等操作

限制和注意点

限制项说明
特殊操作

DELETE 操作过多将大幅影响数据同步性能

目标端表引擎

仅支持以下表引擎以及对应的源端表类型:

  • MergeTree(无主键表)
  • ReplacingMergeTree(有主键表)
  • ReplicatedMergeTree(无主键表)
  • ReplicatedReplacingMergeTree(有主键表)

字段类型与映射


源端数据源

前置条件

条件说明
账号权限

文档:TiDB 需要的权限

PD节点网络连通

请确保 CloudCanal 各节点能正常与 PD 各节点通讯

  • telnet [PD节点IP] [PD节点端口号]
TiKV GC 回收频率

在 TiDB Server 中修改 GC 周期时间为 24小时 以上

  • set global tidb_gc_life_time = "24h0m0s";
TiKV 历史变更数据缓存

建议根据任务所需适当调整大小

  • old-value-cache-memory-quota:增量旧数据占用 TiKV 节点的内存的上限
  • sink-memory-quota:增量数据占用 TiKV 节点的内存的上限

任务参数

参数名称说明
printDetailLog

打印接收到的增量,常用于判断源端是否有增量数据推送

pdHost

任务请求的 PD 节点地址,格式为: [PD_IP]:[PD_PORT], 多个 PD 节点用 , 隔开
例: 127.0.0.1:2379,127.0.0.1:2380

cdcEventBufferSize

任务接收增量数据的缓冲池大小, 在任务规格范围内设置的越大越好

cdcBatchMaxSize

任务每次处理缓冲池中增量数据的最大数量,建议为 cdcEventBufferSize * 0.05 大小

cdcGrpcTimeout

任务与 PD 节点 gRpc 连接通道的超时时间,单位ms

cdcStubTimeout

gRpc 通道中的每个 stub 的超时时间,超过该时间会自动重新订阅,单位ms

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
账号权限

具备 SELECT, INSERT, 常见 DDL 权限

网络准备

迁移同步节点( sidecar )可连接 ClickHouse 标准交互接口(如 8123)

任务参数

参数名称说明
multiReplica

是否为多副本集群

clusterName

集群名称,当 multiReplica 为 true, 则自动在 DDL/DML 中加入 ON CLUSTER clusterName 子句

ckTableEngine

当前支持以下表引擎:

  • MergeTree
  • ReplacingMergeTree
  • ReplicatedMergeTree
  • ReplicatedReplacingMergeTree
autoOptimizeThresholdSec

定时优化表( optimize table final )间隔,<=0 则关闭此功能

Tips: 通用参数配置请参考 通用参数及功能

数据链路

基本功能

高级功能

限制和注意点

使用示例

字段类型与映射

链路FAQ

源端数据源

前置条件

任务参数

目标端数据源

前置条件

任务参数