完成数据源、网络、资源的准备配置后,您可以创建并执行整库实时同步任务,开始进行数据同步。本文为您介绍如何创建整库实时同步任务,先将指定数据库中的部分或全部表的数据离线同步至Elasticsearch中,再将后续新增的数据实时同步至Elasticsearch中,并在创建完成后查看任务运行情况。

前提条件

创建数据同步任务前,需检查已完成以下准备操作。

背景信息

您可以使用通过Elasticsearch全托管方式提供的冷热存储方案存储企业的实时数据。基于该功能,DataWorks为您提供了整库实时同步数据至Elasticsearch的解决方案,轻松助力企业实现同步整库数据至Elasticsearch后,再将持续新增的数据实时同步至Elasticsearch中。同时,您可以实时查看创建的同步任务详情,监控任务的运行状况及业务库数据的更新情况,用于后续做数据检索、数据分析或数据开发。

整库实时同步数据的优势如下:
  • 整库级别同步。

    无需逐个创建表级别的数据同步任务,支持直接创建库级别的同步任务,选择目标库的部分或全部表数据进行同步。

  • 同步规则配置灵活。
    • 您可以根据业务需求灵活配置不同DDL消息的处理规则。例如,针对来源端删除表的DDL消息,如果您将同步数据的处理方式配置为忽略,则进行实时同步时,DataWorks收到相关删除表的DDL消息时,会忽略该类消息,目标端的对应表则不会被删除。
    • 您可以编辑已经配置运行的同步任务,为该任务快速添加表或删除已有同步表。
    • 您可以根据业务需求,配置目标索引的同步规则,选择是否添加同步源表的实时新增字段至目标索引。添加字段至目标索引后,该字段后续可被搜索。
  • 配置操作简单。

    您无需进行创建同步任务、创建数据库、创建表、创建相互依赖以及执行参数对齐等复杂操作,通过简单的产品配置向导,即可完成对应功能的配置。

  • 实现海量数据的实时更新,自动化运维管理效率较高。

适用场景

适用于需要实时监测业务库数据的更新情况,便于上层应用对实时数据进行检索分析或数据开发的场景。

使用限制

  • 目前仅支持整库实时同步MySQL、PolarDB、SQLServer类型的数据库至Elasticsearch。

  • 整库实时同步解决方案仅支持使用独享资源组。

创建整库实时同步任务

  1. 登录并进入数据集成页面,单击同步解决方案 > 任务列表,进入同步解决方案页面。
    操作详情可参见 进入同步解决方案
  2. 解决方案任务列表页面,单击右上方的新建任务
  3. 新建同步解决方案对话框中,单击一键实时同步至Elasticsearch
  4. 完成方案名称等基本信息配置。
    基本配置区域,配置各项参数。 基本配置
    参数 描述
    方案名称 同步解决方案的名称,最多支持50个字符。
    描述 对当前方案进行简单描述,最多支持50个字符。
    目标任务存放位置 默认创建一个新的业务流程,所有任务均以clone_database_源端数据源名称+to+目标数据源名称的命名方式存放至数据集成目录下。

    您也可以取消自动建立工作流程,在选择位置下拉列表中指定存放目标任务的路径。

  5. 选择来源数据源并配置同步规则。
    1. 数据来源区域,选择类型数据源
      说明

      目前仅支持整库实时同步MySQL、PolarDB、SQLServer类型的数据库至Elasticsearch。

    2. 选择同步的源表区域,选中需要同步的源表,单击图标图标,将其移动至已选源表
      选择来源数据源表
      该区域会为您展示所选数据源下所有的表,您可以选择同步目标数据源的部分或全部表。
      注意 如果选中的表没有主键,则在创建源表和目标Elasticsearch索引的映射关系时,需要为该表自定义主键(例如,使用非主键的一个或几个字段的联合代替主键)进行同步数据时去重,详情请参见 选择目标数据源并配置目标索引
    3. 设置表名到索引名的映射规则区域,单击添加规则,选择相应的规则进行添加。
      同步规则包括 源表名和目标索引名转换规则目标索引名规则
      • 源表名和目标索引名转换规则:转换表名为目标索引名,进行字符串替换。
      • 目标索引名规则:支持对转换后的索引名添加前缀和后缀。
    4. 单击下一步
  6. 选择目标数据源并配置目标索引。
    1. 设置目标索引页签,选择目标Elasticsearch数据源
    2. 单击刷新源表和Elasticsearch索引映射,创建需要同步的源表和目标Elasticsearch索引的映射关系。
    3. 查看任务的执行进度和表来源。
      进度
      序号 描述
      显示映射关系的创建进度。
      说明 如果同步的表数量较多,会导致执行进度较慢,请耐心等待。
      • 如果来源库有主键,则同步数据时会直接使用该主键进行去重。
      • 如果来源库没有主键,则您需要单击编辑图标,自定义主键,即使用其他非主键的一个或几个字段的联合,代替主键进行同步数据时进行去重判断。
      选择的索引建立方式,取值如下:
      • 索引建立方式选择自动建索引时,Elasticsearch索引名列显示自动创建的Elasticsearch索引名称。您可以单击索引名称,修改建立索引的相关配置。
      • 索引建立方式选择使用已有索引时,请在Elasticsearch索引名列对应的下拉列表中,选择需要使用的索引。同时您可以单击设置同步规则,查看源表字段与目标索引的映射情况。
      索引建立方式选择 自动建索引时,您可以单击创建的Elasticsearch索引名称,根据业务需求修改目标索引的相关参数。 配置目标索引参数
      • 动态映射状态:用于在同步数据时,是否将数据源表的新增字段添加至目标索引中。取值如下:
        • true:当映射的目标索引检测到同步的数据源表中存在新添加的字段时,会将该字段同步添加至目标索引中,后续该字段可以被搜索。该取值为默认值。
        • false:当映射的目标索引检测到同步的数据源表中存在新添加的字段时,会将该字段同步添加至目标索引中,但后续该字段不可以被搜索。
        • strict:当映射的目标索引检测到同步的数据源表中存在新添加的字段时,将拒绝同步该字段至目标索引并产生异常报错,您可以在日志信息中查看报错详情。
        更多动态映射的内容,详情请参见动态映射
      • shard数量replica数量:索引的主分片及副本分片,用于将一个完整的索引分成多个分片,分布至不同的Elasticsearch节点上,构成分布式搜索,提升Elasticsearch的查询效率,详情请参见基本概念
        说明 shard数量replica数量参数,配置运行后不可更改,默认取值为 1
      • 分区设置:您可以选择同步的数据源表的某一列做为分区列,该参数需要和shard数量replica数量配合使用。默认不开启分区功能。
      • 数据字段结构:用于设置映射的目标索引中字段的类型及扩展属性,详情请参见Elasticsearch的字段类型
      说明 当创建了目标Elasticsearch索引后,如果不修改相关参数,则系统会按照默认值的相应规则进行数据同步。
    4. 单击下一步
  7. DDL消息处理规则设置。
    来源数据源(MySQL、PolarDB、SQLServer)会包含许多DDL操作,进行实时同步时,您可以根据业务需求,对不同的DDL消息设置同步至目标端的规则。
    说明 该规则为初次执行实时同步任务时的DDL消息处理规则,后续如果您需要修改规则,可以手动停止任务,进入实时任务的配置页面修改,详情请参见 管理整库实时同步任务
    1. DDL消息处理规则页签,配置实时同步DDL消息处理策略DDL消息处理规则
      不同DDL消息处理策略如下表所示。
      DDL消息类型 处理策略
      新建表 DataWorks收到对应类型的DDL消息时,处理策略如下:
      • 正常处理:将相应消息继续下发给目标数据源,由目标数据源来处理。因为不同目标数据源对DDL消息处理策略可能会不同,因此DataWorks只执行转发操作。
      • 忽略:直接丢弃该消息,不再向目标数据源发送。
      • 告警:直接丢弃该消息,同时会在实时同步日志中记录告警信息,指明该消息因执行出错被丢弃。
      • 出错:实时同步任务直接显示出错状态并终止运行。
      删除表
      新增列
      删除列
      重命名表
      重命名列
      修改列类型
      清空表
    2. 单击下一步
  8. 运行资源设置。
    运行资源设置页签,配置各项参数。 运行资源设置
    • 离线全量同步
      参数 描述
      离线任务名称规则 全量同步时的离线任务名称。创建解决方案后,会先生成一个离线任务用于同步全量数据,再生成实时任务实时同步增量数据。
      全量离线任务资源组

      运行全量离线任务需要使用的独享数据集成资源组。

      目前解决方案仅支持使用独享数据集成资源组,此处可配置为准备操作中已购买并配置的独享数据集成资源组,详情请参见 资源规划与配置
      说明 如果您没有购买独享资源组,可单击 +新建独享资源组,创建新的独享资源组。
    • 离线全量调度
      参数 描述
      选择调度资源组

      选择运行任务时使用的调度资源组。

      目前解决方案仅支持使用独享调度资源组,此处可配置为准备操作中已购买并配置的独享调度资源组,详情请参见 资源规划与配置
      说明 如果您没有购买独享资源组,可单击 +新建独享资源组,创建新的独享资源组。
    • 实时增量同步
      参数 描述
      选择实时任务独享资源组

      选择运行实时任务时需要使用的独享数据集成资源组。

      目前解决方案仅支持使用独享数据集成资源组,此处可配置为准备操作中已购买并配置的独享数据集成资源组,详情请参见 资源规划与配置
      说明 如果您没有购买独享资源组,可单击 +新建独享资源组,创建新的独享资源组。
    • 通道设置
      参数 描述
      来源端读取支持最大连接数 读取端的最大连接数,即来源端数据库的JDBC连接数。请根据数据库资源的实际情况合理配置。默认为20
  9. 单击完成配置,完成整库实时同步任务的创建。

执行整库实时同步任务

解决方案任务列表页面,单击相应任务后的提交执行,运行创建的整库实时同步任务。

查看任务运行状态及结果

  • 解决方案任务列表页面,选择已运行任务后的更多 > 执行详情,查看当前解决方案整库实时同步任务过程中,各子任务节点的运行详情。任务状态
  • 单击子任务节点后的执行详情,可以单击对话框中的任务链接,进入子节点的数据开发页面。

管理整库实时同步任务

  • 查看任务。

    解决方案任务列表页面,单击相应任务后的更多 > 查看配置,可查看任务的配置信息。

  • 编辑任务。

    解决方案任务列表页面,单击相应任务后的更多 > 修改配置,可编辑任务的配置信息。

    对于已运行成功的实时同步任务,您可以单击相应任务后的 更多 > 修改配置,快速添加或删除同步表,以及动态添加列:
    • 快速添加或删除同步表。

      设置同步来源和规则页签的选择同步的源表区域,选择添加或删除目标同步表。修改配置后,保存并运行同步任务,则可以快速添加新表或删除已有同步表。

    • 动态添加列。
      • 配置DDL消息处理规则新增列正常处理,实时同步任务将会自动监听同步源表列的变化,如果识别到有新增列,则自动将该列的数据同步至目标Elasticsearch索引。详情请参见配置DDL消息处理规则
      • 配置目标Elasticsearch索引的动态映射状态true时,则目标Elasticsearch索引会将同步源表中的新增列实时添加至索引中,后续该列可被搜索。详情请参见目标索引配置规则
  • 修改任务优先级。
    单击相应任务后的 更多 > 修改优先级。在 修改优先级对话框中,输入需要配置的优先级数值,单击 确定。优先级取值范围为 1~ 8,数值越大优先级越高。
    说明 优先级相同的任务,按照提交时间的先后顺序执行。
  • 删除任务。
    单击相应任务后的 更多 > 删除。在删除对话框中,单击 确认
    说明 仅删除当前任务的配置记录,已经生成的表和任务不受影响。