一键实时整库同步方案支持全增量一体化同步,本实践中,先将 MySQL 源端全量数据通过离线任务同步方式迁移,然后再通过实时同步增量任务,将增量数据采集至目标端 ByteHouse 云数仓版(ByteHouse CDW)数据库表中。
您也可以选择单独进行实时增量数据同步,该场景适用于您已经通过其他方式将全量数据同步至 ByteHouse CDW,本文为您介绍如何创建一键实时同步,将全量和增量数据同步至 ByteHouse CDW 数据库中。
在配置实时整库同步解决方案前,您需在数据源管理界面中,配置来源端 MySQL 数据源。详见 MySQL 数据源配置。
在配置实时整库同步解决方案前,您需在数据源管理界面中,配置目标端 ByteHouse CDW数据源。详见 ByteHouse云数仓版 数据源配置。
注意
ByteHouse CDW 数据源在配置解决方案时必须配置 API token 信息。
ByteHouse 云数仓版网络配置方式
网络配置方式 | 操作方式 |
---|---|
火山引擎内网 | ByteHouse CDW 同时也支持通过 VPC 内网形式访问连接,主账号需进入 ByteHouse CDW 租户管理界面绑定相关网络信息。操作流程如下:
更多绑定操作,详见设置网络信息。 |
数据源配置操作准备完成后,您可开始进行实时整库同步方案配置:
登录 DataSail 控制台。
在左侧导航栏中选择数据同步方案,进入同步方案配置界面。
单击目录树中项目选择入口,选择已创建的 DataLeap 项目。
单击右上角新建数据同步解决方案按钮,下拉选择实时整库同步按钮,进入整库实时同步方案配置界面。按照以下配置,完成方案新建。
基本配置参数说明如下表所示。其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*方案名称 | 输入整库实时同步方案名称,如 MySQL2BHCDW。只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需在127个字符以内。 |
方案描述 | 输入此方案的描述信息,方便后续维护管理。 |
*保存至 | 下拉选择方案保存路径,此路径为数据开发项目中的任务路径。创建方式详见任务目录树管理。 |
*链路类型 | 下拉选择来源和目标端数据源类型,此处来源类型选择 MySQL,目标数据源类型选择 ByteHouse云数仓版。 |
方案基本配置完成后,单击右下角下一步按钮,进行方案的数据来源配置。
在数据来源配置界面中,完成数据来源设置与库表映射规则匹配策略:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
数据源设置 | |
*数据源 | 下拉选择数据源管理中创建的 MySQL 数据源。若此前仍未创建相应数据源,您可单击右侧数据源管理按钮,前往数据源管理界面,进行数据源的创建。 |
*表选择模式 | 支持通过指定表或正则方式进行表的选择,本文通过指定表模式来实践:
说明 指定表模式,后续无法自动响应新增表 DDL 消息。
|
*数据表 | 在左侧您可选择 MySQL 数据库:
说明
|
映射规则 | |
*库表匹配策略 | 选择与来源库表同名的匹配策略:
说明 目前 ByteHouse 目标端暂不支持自动创建目标数据库,您需先在目标端 ByteHouse CDW 集群中创建目标库。 |
数据来源配置完成后,单击右下角下一步按钮,进行方案的数据缓存配置。
使用缓存,可对同步任务进行缓冲,在性能和稳定性上有所提升,适合对稳定性要求高以及数据量大的场景,但需额外增加缓存数据源及相应成本,请按需配置。
整库实时同步解决方案,目前支持“使用缓存”、“无需缓存,直接同步”这两种缓存配置方式:
本次实例中,以直接同步 Binlog 日志的方式进行实时同步,确认数据缓存同步方式后,单击右下角下一步按钮,进入数据目标设置。
在数据目标配置界面中,完成数据源目标端设置与映射相关配置:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 | |
---|---|---|
数据源设置 | ||
*数据源 | 下拉选择数据源管理中创建成功的 Bytehouse CDW 数据源。 | |
映射配置 | ||
高级配置 | 使用已有表配置 | 当目标表已存在,即下方“表建立方式”为“使用已有表”时,若此时源表与目标表中已有字段列不一致时,可通过列匹配规则,根据实际场景进行列映射规则设置,目前支持自动映射、同名取交映射两种匹配规则配置:
|
高级参数配置 | 您可为同步解决方案配置全局的高级参数,以 key-value 的形式输入。 | |
*刷新源表和目标表映射 | 单击刷新源表和目标表映射按钮,自动加载源表和目标表信息,您可以在列表中进行以下操作:
|
数据目标配置完成后,单击右下角下一步按钮,进行方案运行参数配置。
MySQL2ByteHouse_CDW 解决方案通道,支持配置 DDL 策略,若您的实际业务场景中会遇到较多来源端新增表、新增列等 DDL 操作场景时,您可配置使用。
不同数据源中不同的 DDL 消息目前可能支持的处理策略不同,整体处理策略如下:
目前不同 DDL 消息处理策略情况如下:
DDL 消息 | 自动处理 | 忽略变更 | 日志告警 | 任务出错 |
---|---|---|---|---|
新建表 | ✅ | ✅ | ✅ | ✅ |
删除表 | ✅ | |||
重命名表 | ✅ | |||
新增列 | ✅ | ✅ | ✅ | ✅ |
删除列 | ✅ | |||
重命名列 | ✅ | |||
修改列类型 | ✅ | |||
清空表 | ✅ |
注意
DDL 策略配置完成后,单击右下角下一步按钮,进行任务运行配置。
离线全量同步
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*离线集成任务资源组 | 下拉选择 DataLeap 项目控制台中已绑定的独享数据集成资源组:
|
*默认 Quota 数 | 设置可同时提交执行的集成任务数量,可根据独享集成资源组规格进行配置,如资源组的大小为 40CU,则 Quoto 配置需必须小于 20(40/2),否则会因资源问题导致任务执行时异常。 |
*期望最大并发数 | 设置离线任务同步时,可以从源端并行读取或并行写入目标端的最大线程数。 |
脏数据设置 | 您可以在此通过以下两种方式设置脏数据的处理方式:
|
集成高级参数设置 | 打开高级参数输入按钮,根据实际业务要求,以 Key\Value 形式,在编辑框中输入离线任务所需的高级参数。支持参数详见高级参数。 |
实时增量同步
设置解决方案中实时增量任务的运行参数情况。
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*实时集成任务资源组 | 下拉选择 DataLeap 项目控制台中已绑定的独享数据集成资源组,选择的资源组,需要确保能与源端、目标端数据源连通,您可单击右侧的连通性测试按钮,进入测试窗口,单击连通性测试按钮,测试选择的资源组是否可以和两侧数据源连通成功。 |
*资源设置 | 可通过自定义和默认两种设置方式,进行实时任务运行资源的设定,如单TaskManager CPU数量、单TaskManager内存大小、JobManager CPU数量等。 说明 说明:
|
集成高级参数设置 | 打开高级参数输入按钮,根据实际业务要求,以 Key\Value 形式,在编辑框中输入实时任务所需的高级参数。支持参数详见高级参数。 |
Flink 运行参数设置 | 支持输入 Flink 相关的动态参数和执行参数,具体参数设置详见 Flink 官方文档。 |
调度设置
选择全量离线任务运行时所使用的调度资源组,主要用来支持离线全量任务执行时,将任务下发分配至独享数据集成资源组中运行,即离线集成任务需调度资源组和独享数据集成资源组来共同承载任务的运行。
目前调度资源组仅支持选择公共调度资源组。
提交方案
方案运行配置完成后,单击右下角提交方案按钮,进行方案的提交,在弹窗中,勾选方案立即执行,并单击确定按钮,完成实时数据同步解决方案的创建。
方案创建完成后,进入到方案列表界面,便可查看方案的执行概况。
单击运维操作列的执行详情按钮,进入解决方案执行详情界面:
在执行详情界面,等待所有步骤执行完成,您可根据步骤完成情况,查看各个步骤的执行详情:
您可在“一次性全量批任务启动”步骤执行详情中,查看批式任务的运维与执行日志情况。批式任务运维操作详见离线任务运维。
在“增量流任务启动”步骤详情中,查看增量流式任务的运维、执行日志和 Application Url 等任务详情。
单击更多 > Application Url 按钮,进入查看增量流式任务的执行详情,您可在该界面中看到实时同步成功数据量、失败数据量、数据量大小等详情。
一次性全量批任务和增量流任务执行成功后,您可前往 ByteHouse云数仓版目的端数据库中,验证数据的实时接收情况。
前往 ByteHouse 控制台 ,打开SQL工作表,详见SQL工作表使用说明。
执行以下语句,查询 对应表数据进行验证
use dts_test_do_not_delete; select * from mysql_2_bhcdw_cdc;
数据验证无误后,您可以对已创建的任务进行管理,如同步方案的编辑、重启、暂停、添加任务监控等操作。
DataSail 实时任务报警设置最佳实践