配置并管理实时同步任务

完成数据源、网络、资源的准备配置后,您可创建实时同步节点,同步数据至AnalyticDB for MySQL。本文为您介绍如何创建数据实时同步任务,并在创建完成后查看任务运行情况。

前提条件

  1. 已完成数据源配置。您需要在数据集成同步任务配置前,配置好您需要同步的源端和目标端数据库,以便在同步任务配置过程中,可通过选择数据源名称来控制同步任务的读取和写入数据库。实时同步支持的数据源及其配置详情请参见实时同步支持的数据源
    说明 数据源相关能力介绍详情请参见:数据源概述
  2. 已购买合适规格的独享数据集成资源组。详情请参见:新增和使用独享数据集成资源组
  3. 独享数据集成资源组与数据源网络已打通。详情请参见:配置资源组与网络连通
  4. 数据源环境已准备完成:您可以基于您需要进行的同步配置,在同步任务执行前,授予数据源配置的账号在数据库进行相应操作的权限。详情请参见:数据库环境准备概述

使用限制

  • 实时数据同步任务仅支持使用独享数据集成资源组。

  • 实时同步节点目前仅支持同步PolarDB、MySQL、OceanBase数据源至AnalyticDB for MySQL

  • 实时数据同步任务暂不支持同步没有主键的表。

创建实时同步任务

  1. 创建整库实时同步节点

  2. 配置资源组

  3. 设置同步来源和规则。

    1. 数据来源区域,选择要同步的数据源类型数据源名称等信息。

    2. 选择要同步的表。

      选择同步的源表区域,为您展示所选数据源下所有的表,您可以在源端库表区域选中需要同步的整库全表或部分表,并单击图标图标,将其移动至已选库表

      重要

      如果选中的表没有主键,将无法进行实时同步。

    3. 设置表名的映射规则区域,单击添加规则,选择相应的规则进行添加。

      同步时默认将源端数据表写入目的端同名表中,同时,您可以通过添加映射规则定义最终写入目的端的表名称。支持通过正则表达式转换写入的表名,还支持指定内置变量拼接目标表名。您可以通过该功能实现将多张表数据写入到同一个表中,或统一将源端某固定前缀的表名在写入目标表时更新为其他前缀。配置逻辑请参见:设置来源和同步规则

  4. 设置目标表。

    1. 设置目标表页面,选择目标AnalyticDB for MySQL 3.0数据源

    2. 确认写入模式

      写入模式目前仅支持重放,即源端INSERT一条记录,目的端中也INSERT一条记录;源端执行UPDATE或DELETE操作,目的端中也进行UPDATE或DELETE。

    3. 刷新源表与目标表映射。

      单击刷新源表和AnalyticDB for MySQL 3.0表映射将根据您在步骤3配置的目标表名映射规则来生成目标表,若步骤3未配置映射规则,将默认写入与源表同名的目标表,若目标端不存在该同名表,将默认新建。同时,您可以修改表建立方式、为目标表在源有表字段基础上增加附加字段。

      说明

      目标表名将跟据您在设置表名的映射规则阶段配置的表名转换规则自动转换。

      功能

      描述

      为非主键表选择主键

      由于当前方案不支持无主键表同步,所以您需要单击同步主键列的编辑按钮,为无主键表设置自选主键,即选择表中一个或部分字段作为主键,写入目标端时将会使用该主键进行去重。

      选择表建立方式

      您可以在表建立方式列选择在同步任务执行时自动根据映射关系在目标端创建表,或选择将数据写入已有表。

      配置表分类

      表类型列,确认及修改目标表类型,关于分区表和维度表的相关介绍请参见:基本概念

      选择分布字段列

      分布字段列,单击编辑按钮为目标表选择合适的分布键,默认使用源端表主键作为目标AnalyticDB for MySQL3.0表的分布键。

      说明

      分布字段列即AnalyticDB的分布键,用于指定数据按分布字段列的哈希值在AnalyticDB数据存储节点间分布。

      为目标字段添加附加字段

      单击操作列的编辑附加字段,可以为目标表在源端字段的基础上增加字段并为字段赋值。支持手动赋值常量与变量。

      说明

      仅在表建立方式自动建表时,可以使用此功能。

      数据集成附加字段支持的变量字段如下:

      EXECUTE_TIME:执行时间
      UPDATE_TIME:更新时间
      DB_NAME_SRC:原始数据库名称
      DB_NAME_SRC_TRANSED:转换后数据库名称
      DATASOURCE_NAME_SRC:源端数据源名称
      DATASOURCE_NAME_DEST:目的端数据源名称
      DB_NAME_DEST:目的端数据库名称
      TABLE_NAME_DEST:目的端表名称
      TABLE_NAME_SRC:源端表名称

      编辑目标表

      默认根据源端生成目标表结构,可能存在字段类型转换,即若目标端数据库中没有与源端一致的数据类型时,同步任务在自动创建目标表时,将自动为源端字段匹配目标端可写入的字段类型。若您需要修改目标表字段类型映射,您可单击AnalyticDB for MySQL 3.0表名列的目标表名进行修改。

    4. 单击下一步

      如果您前一步中目标数据源使用的表建立方式自动建表,则需要在弹出的自动建表对话框,单击开始建表,批量创建目标AnalyticDB for MySQL表。

  5. DDL消息处理规则设置。

    来源数据源会包含许多DDL操作,数据集成体提供默认处理策略,您也可以根据业务需求,对不同的DDL消息设置同步至目标端的处理策略。不同DDL消息处理策略请参见:DDL消息处理规则

  6. 运行资源设置。
    1. 运行资源设置页面,配置各项参数。
      参数描述
      来源端读取支持最大连接数读取端的最大连接数,即来源端数据库的JDBC连接数。请根据数据库资源的实际情况合理配置。默认为15
      目标端写入并发数数据同步任务内,可以从来源表并行读取或写入数据至目标端的最大线程数。最大并发数为32。请根据您的资源组大小和目标端实际规模合理设置。
    2. 单击完成配置

提交并发布实时同步任务

提交并发布节点任务。

  1. 单击工具栏中的保存图标,保存节点。

  2. 单击工具栏中的提交图标,提交节点任务。

  3. 提交新版本对话框中,输入变更描述

  4. 单击确定

如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击顶部菜单栏左侧的任务发布。具体操作请参见发布任务

后续步骤

任务配置完成后,您可以在运维中心 > 实时任务运维 > 实时同步任务面板启动并管理该任务,详情请参见:实时同步任务运维