跳到主要内容

配置实时同步任务

概述

完成数据账户、数据库环境、实时同步环境准备配置后,可创建实时同步任务,将多种类型的数据源输入输出进行配置,完成实时同步任务的创建。

准备工作

创建任务前,需部署实时同步环境,配置数据账户,完成数据库环境准备。

创建实时同步任务

提前配置连接参数模版

为确保实时同步任务正常运行,需要为目标数据库配置额外参数,通过连接参数模版进行配置。

  1. 填写模版名称

  2. 选择数据库类型,目前支持 StarRocks 和 GuassDB 数据库

  3. 配置参数模版

    1. 当目标数据库类型为StarRocks时,一般情况下包含并发数、FE节点的IP和端口号、副本数,填写方式参考:
    {"parallelism":2,"loadUrl":"172.20.0.77:8030","replicationNum":1}
    1. 当目标数据库类型为GuassDB时,暂无参数,填写{}即可;
    2. 当目标数据库类型为Doris时,需要配置并发数、管理节点参数、副本数,参考:
    {"parallelism":4,"feNodes":["doriscluster-sample-fe-service:8030"],"replicationNum":1}
    1. 当来源数据库类型为Oracle,需要配置并发数、读取 Oracle 重做日志(redo log)的适配器参考:
    {"parallelism":1,"database.connection.adapter":"logminer"}
  4. 填写模版描述

选择数据来源

进入实时同步功能模块,创建实时同步任务

选择来源表的数据账户(需提前创建好数据账户)和表名

选择目标表

同步方式

存量 + 增量同步

先对所有存量数据同步,然后持续同步新增变化。任务初次运行时,将完整运行全量同步 + 增量同步。

仅增量同步

任务仅包含增量阶段,任务初次运行时,将按照用户开始运行的起始时间开始进行增量同步。

映射方式

自定义映射

需要手动配置来源表和目标表字段的映射关系,可以仅同步来源表部分字段数据到目标表。

全字段映射

无需配置映射关系,将来源表所有字段按照同名映射方式跟目标表匹配,如果来源表中的字段在目标表中不存在,那么无法进行全字段同步,只能选择自定义映射方式。

配置表

  1. 配置全量数据情况和增量数据情况,系统根据数据量为不同的同步任务设置并发度和buffer,合理利用资源,避免数据堆积

    1. 全量数据:轻量级和重量级,一般以千万级数据量为分界点,历史数据在千万级以上设为重量级
    2. 增量数据:更新平缓和更新频繁,一般以500万数据量为分界点,一个任务中所有表增量在500w及以上,需要设为更新频繁。
  2. 设置目标表及映射关系;

  3. 配置时间标记字段,当目标表字段类型为datetime类型时,支持将此字段设置为时间标记字段,时间标记字段以毫秒级时间戳的形式记录数据在数据库中实际新增和更新的时间。

是否同步源表结构变化

此开关控制当源表发生DDL时,目标表是否自动同步DDL事件。

  • 开关开启,来源表变更字段类型和字段名称、新增字段时,目标表同步变更。
  • 开关关闭,来源表变更字段类型和字段名称、新增字段时,任务失败并告警。

来源库、目标库类型支持DDL情况如下:

DDL支持情况mysqlpgsql serveroracleDB2
starrocks支持支持不支持支持不支持
GaussDB支持支持不支持支持不支持
Doirs支持支持不支持支持不支持
Holo支持支持不支持支持不支持

源表发生DDL时,不同映射方式实时同步任务的表现不同。

自定义映射
源表DDL开启DDL关闭编辑实时同步任务目标表结构变化目标表数据变化
删除表无法感知删除表事件,任务仍在运行无法感知删除表事件,任务仍在运行来源表标记异常,需要重新选择才能进行下一步无变化。被删除表在后续同步中将没有新数据写入。
重命名表无法感知重命名表事件,任务仍在运行无法感知重命名表事件,任务仍在运行来源表标记异常,需要重新选择才能进行下一步无变化。原名称表在后续同步中将没有新数据写入。
删除字段删除字段在映射关系中,继续同步其他字段,该字段在后续同步中将传NULL值。

删除字段不在映射关系中,无影响
任务失败,需要从头同步数据是否在字段映射中

- 是,被删除的字段标记异常,需要重新选择才能进行下一步
- 否,无影响
无变化。被删除字段在后续同步中传NULL值。
新增字段不在映射关系中的字段,不会自动同步。任务失败,需要从头同步数据无变化不会新增字段

任务正常进行
无变化
修改字段名称修改字段在映射关系中,原名称字段删除,新名称字段新增。原名称字段在后续同步中传NULL值。新名称字段不会新增。

修改字段不在映射关系中,无影响
任务失败,需要从头同步数据是否在字段映射中

- 是,被删除的字段标记异常,需要重新选择才能进行下一步
- 否,无影响
不会新增字段原名称字段在后续同步中传NULL值。

新名称字段不会新增。
修改字段类型或者长度字段在映射关系中,自动同步修改字段类型;目标端修改不成功时,记录日志,任务报错

字段不在映射关系中,无影响。
任务失败,需要从头同步数据修改成功:来源表与目标表字段配置自动修改字段类型。

修改失败:来源表自动修改字段类型,目标表不变
同步修改字段类型。历史数据与后续新增数据变化为对应类型数据。
源表字段注释的变化(增删改)无注释同步能力无注释同步能力无注释同步能力无注释同步能力无注释同步能力
全字段映射
源表DDL开启DDL关闭编辑实时同步任务目标表结构变化目标表数据变化
删除表无法感知删除表事件,任务仍在运行无法感知删除表事件,任务仍在运行来源表标记异常,需要重新选择才能进行下一步无变化。被删除表在后续同步中将没有新数据写入。
重命名表无法感知重命名表事件,任务仍在运行无法感知重命名表事件,任务仍在运行来源表标记异常,需要重新选择才能进行下一步无变化。原名称表在后续同步中将没有新数据写入。
删除字段删除字段在映射关系中,继续同步其他字段,该字段在后续同步中将传NULL值。

删除字段不在映射关系中,无影响
任务失败,需要重新同步数据是否在字段映射中

- 是,被删除的字段标记异常,需要重新选择才能进行下一步
- 否,无影响
无变化。被删除字段在后续同步中传NULL值。
新增字段目标表自动新增字段

- 新增成功,
- 新增失败,异常通知,任务正常运行?
任务失败,需要从头同步数据无变化新增字段新增字段同步后续数据
修改字段名称修改字段在映射关系中,原名称字段删除,新名称字段新增。原名称字段在后续同步中传NULL值。新名称字段会新增。

- 新增成功,
- 新增失败,异常通知,任务正常运行?
任务失败,需要从头同步数据是否在字段映射中

- 是,被删除的字段标记异常,需要重新选择才能进行下一步
- 否,无影响
新增字段原名称字段在后续同步中传NULL值。

新名称自动添加并同步数据
修改字段类型或者长度字段在映射关系中,自动同步修改字段类型;目标端修改不成功时,记录日志,任务报错

字段不在映射关系中,无影响。
任务失败,需要从头同步数据修改成功:来源表与目标表字段配置自动修改字段类型。

修改失败:来源表自动修改字段类型,目标表不变
同步修改字段类型。历史数据与后续新增数据变化为对应类型数据。
源表字段注释的变化(增删改)无注释同步能力无注释同步能力无注释同步能力无注释同步能力无注释同步能力

任务信息配置

填写任务名称、任务描述,点击确认新建,任务创建成功。

实时同步运行

新创建的实时同步任务处于未运行状态,点击运行即开始运行,运行中的任务可以暂停、终止;

当任务处于全量同步时,暂停任务,再次运行仍从头进行全量同步;

当任务处于增量同步时,暂停任务,再次运行会从暂停时间点开始继续进行同步;

当任务处于增量同步时,停止任务或者任务处于失败状态,排查具体问题后,建议手动编辑任务,增量同步时间点选择距离停止/失败时间点1个小时之前的时间,避免丢数。