TiDB 集成任务(预览版)
TiDB 集成任务用于将数据从 TiDB 集群复制到 TiDB Cloud Lake。它支持通过 Dumpling 导出的全量 Snapshot 导入、通过 TiCDC changefeed 的持续 Change Data Capture (CDC),或两者结合使用。
如果你需要先创建可复用的暂存存储桶设置,请参见 TiDB 数据源。
使用场景
- 将 TiDB 数据库和表迁移到 TiDB Cloud Lake 以进行分析
- 通过 TiCDC 使 TiDB Cloud Lake 与 TiDB 持续保持同步
- 在一个任务中将分片数据库整合到按源划分的目标数据库中
- 仅运行一次全量导入,或将全量导入与持续变更捕获结合使用
同步模式
前提条件
在创建 TiDB 集成任务之前,请确保:
- 已创建 TiDB 数据源。
- 数据源中配置的对象存储存储桶可从 TiDB Cloud Lake 访问。
- 你要同步的表对应的 TiCDC / Dumpling 导出内容,已写入该存储桶中,并位于任务中将要引用的前缀下。
创建 TiDB 集成任务
本节将指导你在 TiDB Cloud Lake 中创建 TiDB 集成任务。
步骤 1:配置基本设置
- 进入 Data > Data Integration,然后点击 Create Task。
- 选择一个 TiDB 数据源,然后配置以下基本设置:
表规则
每行输入一条规则。每条规则的格式为 schemaPattern.tablePattern,可选择使用前缀 ! 表示排除:
app.orders an exact table
shard_*.* every table of every shard_ database
!*.tmp_* exclude temporary tables
规则按从后到前的顺序进行求值。第一个同时匹配数据库模式和表模式的规则决定最终结果。未匹配任何规则的对象会被排除。如果规则列表中只有排除规则,则会隐式添加一个前置 *.*。
每个匹配到的源数据库都会写入各自独立的目标数据库,因此不同源数据库中同名的表会保持分离。这也是在单个任务中同步多个源数据库的唯一方式。
点击 Preview Matched Tables,可根据当前规则对前缀下实际存在的对象进行匹配评估。预览结果会列出匹配到的源数据库和表,以及推导出的目标数据库和表。
Snapshot 选项
当同步模式包含快照时,还可以通过以下附加选项控制 Dumpling 导出的导入方式:
目标名称前后缀
目标数据库名和表名由源名称派生而来,并可附加可选的前后缀:
target database = targetDatabasePrefix + sourceDatabase + targetDatabaseSuffix
target table = targetTablePrefix + sourceTable + targetTableSuffix
如果将这些前后缀留空,则直接使用源名称。前后缀只能包含字母、数字和下划线。
例如,当数据库前缀为 src_ 时,源数据库 shard_1 和表 orders 会写入到 src_shard_1.orders。
步骤 2:创建任务
检查设置无误后,点击 Create 创建集成任务。
不同同步模式下的任务行为
对于 CDC 任务,进度会保存为 checkpoint。当任务被下线并重启后,会从保存的位置继续,而不是从头重新导入。
高级配置
以下设置为任务级参数,用于调优发现、导入和合并过程。