关于数据库:5分钟搞定MySQLPostgreSQLOracle到StarRocks数据迁移同步CloudCanal实战

7次阅读

共计 2403 个字符,预计需要花费 7 分钟才能阅读完成。

简述

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/

正文完
 0