数据同步能够保持源端和目标端的数据一致性,实现关键业务的数据实时流动。本文以同步 OceanBase 数据库的数据至 Kafka 为例,介绍如何使用数据传输同步数据。
前提条件
在同步数据之前,您需要确认以下信息:
- 数据传输已具备云资源访问权限。详情请参见 数据传输迁移角色授权。 
- 已为源端 OceanBase 数据库创建专用于数据同步任务的数据库用户,并为其赋予了相关权限。详情请参见 创建数据库用户。 
操作步骤
本文以同步 OceanBase 数据库的数据至 Kafka 为例,更多详情请参见 数据同步 模块的内容。
- 登录 OceanBase 管理控制台 ,购买数据同步任务。 - 详情请参见 购买数据同步任务。 
- 在 数据传输 > 数据同步 页面,单击新购买的数据同步任务后的 配置。  - 如果您需要引用已有的任务配置信息,可以单击 引用配置。详情请参见 引用和清空数据同步任务配置。 
- 在 选择源和目标 页面,配置各项参数。 - 参数 - 描述 - 同步任务名称 - 建议使用中文、数字和字母的组合。名称中不能包含空格,长度不得超过 64 个字符。 - 源端 - 如果您已新建 OceanBase 数据源,请从下拉列表中进行选择。如果未新建,请单击下拉列表中的 新建数据源,在右侧对话框进行新建。参数详情请参见 新建 OceanBase 数据源。 - 目标端 - 如果您已新建 Kafka 数据源,请从下拉列表中进行选择。如果未新建,请单击下拉列表中的 新建数据源,在右侧对话框进行新建。参数详情请参见 新建 Kafka 数据源。 - 标签(可选) - 单击文本框,在下拉列表中选择目标标签。您也可以单击 管理标签,进行新建、修改和删除。详情请参见 通过标签管理数据同步任务。 
- 单击 下一步。在 选择同步类型 页面,选择当前数据同步任务的同步类型。  - 同步类型包括 全量同步 和 增量同步。增量同步 支持 DML 同步(包括 - Insert、- Delete和- Update)和 DDL 同步,您可以根据需求进行自定义配置。详情请参见 自定义配置 DDL/DML。
- 单击 下一步。在 选择同步对象 页面,选择当前数据同步任务需要同步的对象。 - 您可以通过 指定对象 和 匹配规则 两个入口选择同步对象。本文为您介绍通过 指定对象 方式选择同步对象的操作,配置匹配规则的详情请参见 配置和修改匹配规则 中库到消息队列的通配规则说明和配置方式。 说明- 如果您在 选择同步类型 步骤已勾选 DDL 同步,建议通过匹配规则方式选择同步对象,以确保所有符合同步对象规则的新增对象都将被同步。如果您通过指定对象方式选择同步对象,则新增对象或重命名后的对象将不会被同步。 - 同步 OceanBase 数据库的数据至 Kafka 时,支持多表到多 Topic 的同步。 - 在选择区域左侧选中需要同步的对象。 
- 单击 >。 
- 在 将对象映射至 Topic 对话框的 已有 Topic 下拉列表中,搜索并选中需要同步的 Topic。  
- 单击 确定。 - 数据传输支持通过文本导入对象,并支持对目标端对象进行更改 Topic、设置行过滤、移除单个对象或全部对象等操作。目标端对象的结构为 Topic>Database>Table。 说明- 通过 匹配规则 方式选择同步对象时,重命名能力由匹配规则语法覆盖,操作处仅支持设置过滤条件,以及选择分片列和需要同步的列。详情请参见 配置和修改匹配规则。 
 
- 单击 下一步。在 同步选项 页面,配置各项参数。 - 全量同步 - 在 选择同步类型 页面,选中 全量同步,才会显示下述参数。  - 参数 - 描述 - 读取并发配置 - 该参数用于配置全量同步阶段从源端读取数据的并发数,最大限制为 512.并发数过高可能会造成源端压力过大,影响业务。 - 写入并发配置 - 该参数用于配置全量同步阶段往目标端写入数据的并发数,最大限制为 512。并发数过高可能会造成目标端压力过大,影响业务。 - 全量同步速率限制 - 您可以根据实际需求决定是否开启全量同步速率限制。如果开启,请设置 RPS(全量同步阶段每秒最多可以同步至目标端的数据行数的最大值限制)和 BPS(全量同步阶段每秒最多可以同步至目标端的数据量的最大值限制)。 说明- 此处设置的 RPS 和 BPS 仅作为限速限流能力,全量同步实际可以达到的性能受限于源端、目标端、实例规格配置等因素的影响。 
- 增量同步 - 在 选择同步类型 页面,选中 增量同步,才会显示下述参数。  - 参数 - 描述 - 写入并发配置 - 该参数用于配置增量同步阶段往目标端写入数据的并发数,最大限制为 512。并发数过高可能会造成目标端压力过大,影响业务。 - 增量同步速率限制 - 您可以根据实际需求决定是否开启增量同步速率限制。如果开启,请设置 RPS(增量同步阶段每秒最多可以同步至目标端的数据行数的最大值限制)和 BPS(增量同步阶段每秒最多可以同步至目标端的数据量的最大值限制)。 说明- 此处设置的 RPS 和 BPS 仅作为限速限流能力,增量同步实际可以达到的性能受限于源端、目标端、实例规格配置等因素的影响。 - 增量同步起始位点 - 如果选择同步类型时已选择 全量同步,则不支持修改该参数。 
- 如果选择同步类型时未选择 全量同步,但选择了 增量同步,请在此处指定迁移某个时间节点之后的数据,默认为当前系统时间。详情请参见 设置增量同步位点。 
 
- 高级选项  - 参数 - 描述 - 序列化方式 - 控制数据同步至 Kafka 的消息格式,目前支持 Default、Canal、DataWorks(支持 V2.0)、SharePlex、 DefaultExtendColumnType、Debezium、DebeziumFlatten、DebeziumSmt 和 Avro。详情请参见 数据格式说明。 重要- 目前仅 OceanBase 数据库 MySQL 租户支持 Debezium、DebeziumFlatten、DebeziumSmt 和 Avro。 
- 当选择 DataWorks 时,同步 DDL 不支持 - COMMENT ON TABLE和- ALTER TABLE...TRUNCATE PARTITION。
 - 分区规则 - 同步 OceanBase 数据库的数据至 Kafka Topic 的规则,目前支持 Hash、Table 和 One。 - Hash 表示数据传输使用一定的 Hash 算法,根据主键值或分片列值 Hash 选择 Kafka Topic 的分区。 
- Table 表示数据传输将一张表中的全部数据投递至同一个分区中,以表名作为 Hash 键。 
- One 表示 JSON 消息会投递至 Topic 下的某个分区,目的是为了保持排序。 
 - 业务系统标识(可选) - 仅选择 序列化方式 为 DataWorks 时,会显示该参数,用于标识数据的业务系统来源,以便您后续进行自定义处理。该业务系统标识的长度限制为 1~20 个字符。 
 
- 单击 预检查。 - 在 预检查 环节,数据传输会检测和目标端 Kafka 实例的连接情况。如果预检查报错: - 您可以在排查并处理问题后,重新执行预检查,直至预检查成功。 
- 您也可以单击错误预检查项操作列中的 跳过,会弹出对话框提示您跳过本操作的具体影响,确认可以跳过后,请单击对话框中的 确定。 
 
- 预检查成功后,单击 启动任务。 - 如果您暂时无需启动任务,请单击 保存。后续您只能在 同步任务列表 页面手动启动任务或通过批量操作启动任务。批量操作的详情请参见 批量操作数据同步任务。 - 数据传输支持在数据同步任务运行过程中修改同步对象,详情请参见 查看和修改同步对象及其过滤条件。数据同步任务启动后,会根据选择的同步类型依次执行,详情请参见 查看同步详情。