DataWorks为您提供的实时数据同步功能,方便您使用单表或整库同步方式,将源端数据库中部分或全部表的数据变化实时同步至目标数据库中,实现目标库实时保持和源库的数据对应。

使用限制

  • 实时同步不支持在数据开发界面运行任务,您需要保存、提交实时同步节点后,在生产环境运维中心运行该节点。
  • 实时同步仅支持运行在独享数据集成资源组上,详情请参见独享数据集成资源组概述
  • 实时同步任务不支持同步视图。

注意事项

  • 目前除迪拜、英国(伦敦)、马来西亚(吉隆坡)地域,其余地域均已开通实时同步能力。
    说明 马来西亚(吉隆坡)地域正在建设中,敬请期待。
  • 目前Groovy函数、多路输出处于研发阶段,上线日期待定。

功能概述

实时同步支持的能力如下图所示:实时架构
功能 描述
多种数据源间的数据同步 实时同步支持多种数据源星型链路组合,您可以将多种输入及输出数据源搭配组成同步链路进行数据同步。详情请参见实时同步支持的数据源
复杂网络环境下的数据同步 支持云数据库、本地IDC、ECS自建数据库或非阿里云数据库等环境下的数据同步。您可以根据数据库所在网络环境,选择合适的同步解决方案来实现数据源与资源组的网络连通。在配置同步任务前,您需要确保数据集成资源组与您将同步的数据来源端与目标端网络环境已经连通,对应数据库环境与网络连通配置详情请参见:配置资源组与网络连通
数据同步场景 实时同步支持单表实时增量数据同步至目标端单表、分库分表实时增量数据同步至目标端单表、整库(多表)实时增量数据同步至目标多表。
  • 单表增量数据实时同步:支持单表ETL实时同步。
  • 整库增量数据实时同步:
    • 支持将整个数据库的变化日志同步到目标端中,一般用作纯实时日志的收集。
    • 支持一次性配置一个实例下多个库的多个表,一个任务中最多支持3000个目标表。
说明 实时同步模块仅进行增量数据实时同步,若您希望全增量数据实时同步,即一次性将全量数据至目标端,然后增量数据进行实时同步,您可选择同步解决方案模块,将源端库持续不停地同步到目标端中,实现目标端对于源端的镜像效果。更多关于同步方案选择请参见:选择同步方案概述
实时同步任务配置 实时同步任务配置时支持的能力如下,您无需编写代码,通过简单的任务配置即可实现单表ETL实时同步,整库实时数据的收集。详情请参见:配置单表实时同步任务配置整库实时同步任务
  • 单表增量数据实时同步:
    • 支持图形化开发。无需编写代码,直接通过拖拽的方式即可进行任务的开发,业务新手也能够轻松上手。
    • 单表ETL实时同步。您可以对输入的数据源进行数据过滤字符串替换数据脱敏处理,再将处理后的数据输出至目标数据库。
      • 数据过滤:可以对数据进行规则过滤,例如过滤字段的大小等,符合规则的数据才会被保留。
      • 字符串替换:可以通过字符串替换节点替换字符串类型的字段。
      • 数据脱敏:可以对实时同步的单表数据进行脱敏,将脱敏后的数据输出至目标数据库。
  • 整库增量数据实时同步:
    • 自定义目标schema名或表名

      实时同步默认将增量数据写入到目标端的同名schema或同名表中,如果schema或表不存在,将默认新建,并支持您自定义目标schema或表名。

    • 为目标字段赋值
      实时同步默认同名映射,将源端字段写入目标端同名字段中,未映射成功的字段将无法同步。同时,支持您为目标表新增字段并为字段赋值常量或变量。
      说明 数据集成实时同步在同步MySQL、Oracle、Loghub和PolarDB类型的数据至DataHub或Kafka时,会在同步的目标端添加5个附加列,以便进行元数据管理、排序、去重等操作。详情请参见实时同步字段格式
    • 定义DDL/DML消息处理策略
      来源数据源会包含许多DDL操作,进行实时同步时,您可以根据业务需求,对不同的DDL消息设置同步至目标端的处理策略。
      说明 关于实时同步各目标端支持的DML与DDL操作详情请参见:支持的DML及DDL操作
实时同步任务运维
  • 支持对同步任务设置监控报警
    • 支持对业务延迟、Failover、DDL策略、心跳检查设置监控报警。详情请参见:实时同步任务运维
    • 并通过邮件、短信、电话和钉钉等方式将报警信息发送给报警接收人,方便您及时发现并处理任务异常。
    • 支报警疲劳度控制。为了避免短时间内产生大量报警,DataWorks支持您设置当前规则在指定时间间隔内只发送一次报警信息。
  • 支持定义脏数据及对任务的影响
    • 当不允许脏数据产生时,则同步任务执行过程中如果产生脏数据,任务将失败退出。
    • 当允许脏数据并设置其阈值时,同步任务将忽略脏数据(即不会写入目标端),并正常执行。
    说明 脏数据相关介绍详情请参见:基本概念