一键实时整库同步方案支持全增量一体化同步,先将 MySQL 全量数据同步迁移,然后再实时同步增量数据至目标端 StarRocks 中。
您也可以选择单独进行实时增量数据同步,该场景适用于已经通过其他方式将全量数据同步至 StarRocks,本文为您介绍如何创建一键实时同步至 StarRocks 任务。
说明
同步方案产生的一次性全量批式任务个数,与方案中设置的数据来源表个数有关。
在配置实时整库同步解决方案前,您需在数据源管理界面中,配置来源端 MySQL 和目标端 StarRocks 相应的数据源。详见 MySQL 数据源配置、StarRocks 数据源配置。
源端 MySQL 数据库中,创建以下表结构,并插入 5 条示例数据:
创建 MySQL 表:
CREATE TABLE `mysql_sr_table1` ( `Id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `Name` char(10) DEFAULT NULL, `Address` varchar(400) DEFAULT NULL, `Create_Time` bigint(20) DEFAULT NULL, `Event_Time` bigint(20) DEFAULT NULL, `Price` double DEFAULT NULL, `Tinyint_Info` tinyint(4) DEFAULT NULL, `Num_Small` smallint(6) DEFAULT NULL, `Num_Medium` mediumint(9) DEFAULT NULL, `Num_Big` bigint(20) DEFAULT NULL, `Num_Float` float(13,3) DEFAULT NULL COMMENT '浮点数', `Num_Decimal` decimal(15,5) DEFAULT NULL COMMENT '定点小数类型', `Year_Info` year(4) DEFAULT NULL, `Time_Info` time DEFAULT NULL, `Date_Info` date DEFAULT NULL, `Datetime_Info` datetime DEFAULT NULL, `Timestamp_Info` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `Tinytext_Info` tinytext COMMENT '短文本字符串', `Text_Info` text COMMENT '长文本数据', `Longtext_Info` longtext COMMENT '极大文本数据', PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=456014264 DEFAULT CHARSET=utf8;
插入模拟示例数据:
insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (1,'数据开发','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。'); insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (2,'数据集成','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。'); insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (3,'数据运维','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。'); insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (4,'数据质量','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。'); insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (5,'数据安全','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。');
数据源配置操作准备完成后,您可开始进行实时整库同步方案配置:
基本配置参数说明如下表所示。其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*方案名称 | 输入整库实时同步方案名称,如 MySQL2StarRock。只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需在127个字符以内。 |
方案描述 | 输入此方案的描述信息,方便后续维护管理。 |
*保存至 | 下拉选择方案保存路径,此路径为数据开发项目中的任务路径。创建方式详见任务目录树管理。 |
*链路类型 | 下拉选择来源和目标端数据源类型,此处来源类型选择 MySQL,目标数据源类型选择 StarRocks。 |
方案基本配置完成后,单击右下角下一步按钮,进行方案的数据来源配置。
在数据来源配置界面中,完成数据来源设置与库表映射规则匹配策略:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
数据源设置 | |
*数据源 | 下拉选择数据源管理中创建的 MySQL 数据源。若此前仍未创建相应数据源,您可单击右侧数据源管理按钮,前往数据源管理界面,进行数据源的创建。 |
*数据表 | 在左侧您可选择 MySQL 数据库:
|
映射规则 | |
*库表匹配策略 | 支持选择与来源库表同名匹配:
|
数据来源配置完成后,单击右下角下一步按钮,进行方案的数据缓存配置。
整库实时同步解决方案,目前支持“使用缓存”、“无需缓存,直接同步”这两种缓存配置方式:
说明
火山引擎中 RDS 云数据库已默认开启 Binlog 协议,若源端为其他云数据库或自建数据库,您需确认数据库是否已开启 Binlog。
本次实例中,以直接同步 Binlog 日志的方式进行实时同步,确认数据缓存同步方式后,单击右下角下一步按钮,进入数据目标设置。
在数据目标配置界面中,完成数据源目标端设置与映射相关配置:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
数据源设置 | |
*数据源 | 下拉选择数据源管理中创建成功的 StarRocks 数据源。若此前仍未创建相应数据源,您可单击右侧数据源管理按钮,前往数据源管理界面,进行数据源的创建。 |
映射配置 | |
*刷新源表和目标表映射 | 单击刷新源表和目标表映射按钮,自动加载源表和目标表信息,您可以在列表中进行以下操作:
说明 表建立方式支持使用已有表和自动建表两种方式:
|
数据目标配置完成后,单击右下角下一步按钮,进行方案运行参数配置。
离线全量同步
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*离线集成任务资源组 | 下拉选择 DataLeap 项目控制台中已绑定的独享数据集成资源组:
|
默认 Quota 数 | 设置可同时提交执行的集成任务数量,可根据独享集成资源组规格进行配置,如资源组的大小为 40CU,则 Quoto 配置需必须小于 20(40/2),否则会因资源问题导致任务执行时异常。 |
*期望最大并发数 | 设置离线任务同步时,可以从源端并行读取或并行写入目标端的最大线程数。 |
集成高级参数设置 | 打开高级参数输入按钮,根据实际业务要求,以 Key\Value 形式,在编辑框中输入离线任务所需的高级参数。支持参数详见高级参数。 |
实时增量同步
设置解决方案中实时增量任务的运行参数情况。
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
配置项 | 说明 |
---|---|
*实时集成任务资源组 | 下拉选择 DataLeap 项目控制台中已绑定的独享数据集成资源组,选择的资源组,需要确保能与源端、目标端数据源连通,您可单击右侧的连通性测试按钮,进入测试窗口,单击连通性测试按钮,测试选择的资源组是否可以和两侧数据源连通成功。 |
*资源设置 | 可通过自定义和默认两种设置方式,进行实时任务运行资源的设定,如单TaskManager CPU数量、单TaskManager内存大小、JobManager CPU数量等。 说明 默认设置中,各运行资源设置如下:
|
集成高级参数设置 | 打开高级参数输入按钮,根据实际业务要求,以 Key\Value 形式,在编辑框中输入实时任务所需的高级参数。支持参数详见高级参数。 |
Flink 运行参数设置 | 支持输入 Flink 相关的动态参数和执行参数,具体参数设置详见 Flink 官方文档。 |
调度设置
离线全量任务还需要任务调度资源组,来支持任务下发分配至独享数据集成资源组中运行,目前调度资源组仅支持选择公共调度资源组。
提交方案
方案运行配置完成后,单击右下角提交方案按钮,进行方案的提交,在弹窗中,勾选方案立即执行,并单击确定按钮,完成实时数据同步解决方案的创建。
方案创建完成后,进入到方案列表界面,便可查看方案的执行概况。
一次性全量批任务和增量流任务执行成功后,您可前往 StarRocks 集群目的端数据库中,验证数据的实时接收情况。
登录到 StarRocks 集群后,执行以下语句,进入到 StarRocks 数据库中:
说明
StarRocks 数据库用户名密码信息和其余更多操作,详见 StarRocks 基础使用说明。
mysql -h 127.0.0.1 -P9030 -u root -p
执行以下语句,进入目的端数据库并查询 mysql_sr_table1 表数据:
use dts_test_do_not_delete; select * from mysql_sr_table1;
可以在 StarRocks 表中看到历史的全量数据。
登录 MySQL 数据库,继续往数据库中插入以下数据:
insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (6,'数据地图','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。'); insert into mysql_sr_table1 (Id, Name, Address, Create_Time, Event_Time, Price, Tinyint_Info, Num_Small, Num_Medium, Num_Big, Num_Float, Num_Decimal, Year_Info, Time_Info, Date_Info, Datetime_Info, Tinytext_Info, Text_Info, Longtext_Info) values (7,'数据服务','六盘水市安次荆门路i座_282720', 1679898262, 1679897962, 87496.4557384283, 102, 4002, 676701, 59534049432157, -19505.969, -5508358693.40114, 2023, '14:24:22', '2023-03-27', '2023-03-27 14:24:22', 'KKKKKKKKKK', '大数据研发治理套件(DataLeap)是火山引擎自研的一站式大数据中台解决方案,集数据集成、开发、运维、治理、资产管理能力于一身。DataLeap致力于为企业解决多业务场景、多业务系统下的数据共享、数据治理、资产管理等难题,帮助企业提升数据研发效率,降低运维管理成本,挖掘数据价值,为企业决策提供数据支撑。', 'DataLeap产品能够平滑地和大多数自有开源底座对接,强大的研发套件能够释放技术团队在繁多的开源组件和系统上的研发投入,在短时间内完成大数据平台的搭建,同时DataLeap提供企业级的数据安全方案,保障数据安全合规使用。同时,字节提供先进的配套价值交付咨询服务,能够协助客户建立可持续的治理方法论,帮助服务企业整体的数据治理能力跃进几年水平,少走很多弯路,在逐步趋向健康的数据底座上,具备用数据切实的解决业务问题的条件。');
MySQL 数据插入执行完成后,您便可在 StarRocks 数据库表中,查询到实时插入的数据:
数据验证无误后,您可以对已创建的任务进行管理,如同步方案的编辑、重启、暂停、添加任务监控等操作,方案编辑操作时,您也可对方案进行加减表、修改运行资源等操作。详见:实时整库同步解决方案管理。
数据写入 StarRocks 过程中的常见问题,详见 StarRocks 常见问题。