简述
CloudCanal 2.1.0.x 版本开始反对 StarRocks 作为对端的数据迁徙同步能力
本文通过 MySQL->StarRocks 的数据迁徙同步案例简要介绍这个源端的能力。链路特点:
- 构造迁徙、全量迁徙、增量同步(数据)、数据校验俱全
- 流程全自动化
应用须知
- 反对的 StarRocks 版本为: 1.18.x、1.19.x、2.0.x
- 反对的源端数据源类型为: Oracle/PostgreSQL/Greenplum/MySQL,本文次要以 MySQL 源端为例阐明应用办法。
- 校验工作只反对主键模型的 StarRocks 表,源端表须要有主键
技术点
基于 StreamLoad 的导入形式
StarRocks 提供了多种导入形式。CloudCanal 采纳了 StreamLoad 的形式进行导入,源端的音讯会转成字节流,通过 HTTP 协定发往 StarRocks。
相比间接通过 SQL 写入的形式,StreamLoad 形式会有更好的性能,写入的数据间接经 FE 转发给 BE 解决。如果间接采纳 SQL 写入,在 FE 侧,会有额定的 SQL 解析开销。
tips: CloudCanal 默认采纳 \u0001、\u0003 作为 StreamLoad 导入的列分隔符和行分隔符。
丰盛的配置
CloudCanal 提供了 StreamLoad 可配置的丰盛参数,包含:
-
connectionTimeoutSec 参数
- 示意导入申请的超时工夫(单位:秒)
-
loadExecMemLimitMb 参数
- 示意导入内存限度
-
timezone 参数
- 默认东八区,指定导入所应用的时区
- 该参数会影响所有导入波及的和时区无关的函数后果。
可配置的写入进展管制
过快的写入会导致 StarRocks 来不及 compaction,从而产生异样。CloudCanal 提供了两个工作参数,反对在一批数据写入后主动进展一段时间,防止这种问题。参数为:
-
fullBatchWaitTimeMs 参数
- 全量批之间写入进展距离,单位毫秒,默认 10ms
-
increBatchWaitTimeMs 参数
- 增量批之间写入进展距离,单位毫秒,默认 100ms
CloudCanal 工作详情页,点击 参数批改,即可调整
主键模型
StarRocks 作为实时数仓,采纳 主键模型 或者 聚合模型 较多。CloudCanal 默认采纳 主键模型,可能实时同步源端的 INSERT/UPDATE/DELETE。
tips: 表构造对于实时数仓理论读写性能影响十分大,CloudCanal 默认提供的构造迁徙能力并没有提供诸如 分区 、 分桶 等设置,用户如需应用,可依照需要提前创立好表构造,再通过 CloudCanal 进行数据迁徙同步。
UPDATE/DELETE 操作的解决
基于 StreamLoad 的写入形式,理论写入对端的操作均为 INSERT。CloudCanal 同步时会主动将 UPDATE/DELETE 转成 INSERT 语句,并批改 __ops 值,StarRocks 会主动进行 compaction。
本义反对
StarRocks 不反对 \n 等特殊符号写入,CloudCanal 工作通过参数设置 (enableEscape 参数) 开启主动本义。
操作示例
- CloudCanal 社区版部署, 参见 社区版装置文档
- 筹备好源端和指标端数据库以及对应的测试数据
增加数据源
- 登录 CloudCanal 平台
- 数据源治理 -> 新增数据源
- 抉择自建数据库中 StarRocks
- Client 地址:为 StarRocks 提供给 MySQL Client 的服务端口,CloudCanal 次要用其查问库表的元数据信息
- Http 地址:Http 地址次要用于接管 stream load 的 http 申请
工作创立
- 工作治理 -> 工作创立
- 抉择 源 和 指标 数据库
- 点击 下一步
- 抉择 增量同步 ,并且启用 全量数据初始化
- 不勾选 DDL 同步(暂不反对)
- 点击下一步
- 抉择订阅的表,构造迁徙主动创立的表为主键模型的表,因而暂不反对无主键表
- 点击下一步
- 配置列映射
- 点击下一步
- 创立工作
- 查看工作状态。工作创立后,会主动实现构造迁徙、全量、增量阶段。
工作性能调优(option)
对于高流量的场景,倡议应用 4G 及以上的工作规格配置,并且对相干参数进行调优,调优建设在工作无 GC 问题、对端 StarRocks 没有 compaction 瓶颈的状况下。
- 工作详情 -> 性能列表 -> 参数设置
- 全量迁徙参数调整
- 增量同步参数调整
总结
本文简略介绍了如何应用 CloudCanal 进行 MySQL 到 StarRocks 的数据迁徙同步。各位读者敌人,如果你感觉还不错,请点赞、评论加转发吧。
常见 FAQ
默认工作参数配置下,如果导入数据过于频繁可能会工作异样,这时候能够调节上文提到的 fullBatchWaitTimeMs 和 increBatchWaitTimeMs 参数或者调整 StarRocks 的 Server 侧的合并策略。下图为 StarRocks 官网提供的常见问题 FAQ
更多精彩
- 5 分钟搞定 MySQL 到 ClickHouse 宽表构建和同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 ElasticSearch 宽表构建和同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 ClickHouse 实时数据同步进阶篇 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 ElasticSearch 迁徙同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 MySQL 异构在线数据迁徙同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 TiDB 的数据同步 – CloudCanal 实战
- 5 分钟搞定 SQLServer 到 MySQL 数据迁徙同步 -CloudCanal 实战 – CloudCanal 实战
退出 CloudCanal 粉丝群把握一手音讯和获取更多福利,请增加咱们小助手微信:suhuayue001
CloudCanal- 收费好用的企业级数据同步工具,欢送品鉴。
理解更多产品能够查看官方网站:http://www.clougence.com
CloudCanal 社区:https://www.askcug.com/