5分钟搞定MySQL/PostgreSQL/Oracle到StarRocks数据迁移同步-CloudCanal实战
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5分钟搞定MySQL/PostgreSQL/Oracle到StarRocks数据迁移同步-CloudCanal实战相关的知识,希望对你有一定的参考价值。
参考技术ACloudCanal 2.1.0.x 版本开始支持 StarRocks 作为对端的数据迁移同步能力
本文通过 mysql->StarRocks 的数据迁移同步案例简要介绍这个源端的能力。链路特点:
StarRocks 提供了多种导入方式。CloudCanal 采用了 StreamLoad 的方式进行导入,源端的消息会转成字节流,通过 HTTP 协议发往 StarRocks。
相比直接通过 SQL 写入的方式,StreamLoad 方式会有更好的性能,写入的数据直接经 FE 转发给 BE 处理。如果直接采用 SQL 写入,在 FE 侧,会有额外的 SQL 解析开销。
CloudCanal 提供了 StreamLoad 可配置的丰富参数,包括:
过快的写入会导致 StarRocks 来不及 compaction,从而产生异常。CloudCanal 提供了两个任务参数,支持在一批数据写入后自动停顿一段时间,避免这种问题。参数为:
CloudCanal 任务详情页,点击 参数修改 ,即可调整
StarRocks 作为实时数仓,采用 主键模型 或者 聚合模型 较多。CloudCanal默认采用 主键模型 ,能够实时同步源端的 INSERT / UPDATE / DELETE 。
基于 StreamLoad 的写入方式,实际写入对端的操作均为 INSERT。CloudCanal 同步时会自动将 UPDATE/DELETE 转成INSERT语句,并修改 __ops 值,StarRocks 会自动进行compaction。
StarRocks 不支持 \\n 等特殊符号写入,CloudCanal 任务通过参数设置( enableEscape 参数) 开启自动转义。
对于高流量的场景,建议使用 4G 及以上的任务规格配置,并且对相关参数进行调优,调优建立在任务无 GC 问题、对端 StarRocks 没有 compaction 瓶颈的情况下。
本文简单介绍了如何使用 CloudCanal 进行MySQL到StarRocks 的数据迁移同步。各位读者朋友,如果你觉得还不错,请点赞、评论加转发吧。
默认任务参数配置下,如果导入数据过于频繁可能会任务异常,这时候可以调节上文提到的fullBatchWaitTimeMs和increBatchWaitTimeMs参数或者调整StarRocks的Server侧的合并策略。下图为StarRocks官方提供的常见问题FAQ
CloudCanal-免费好用的企业级数据同步工具,欢迎品鉴。
了解更多产品可以查看 官方网站 : http://www.clougence.com
CloudCanal社区 : https://www.askcug.com/
Mysql5.7.26解压版(免安装版)简单快速配置步骤,5分钟搞定(win10-64位系统)
第一次安装mysql环境的时候,总会遇到各种各样的坑,在尝试了安装版和解压版的数据库之后,感觉mysql的解压版更加的简单方便,省去好多时间做专业的事情
我这里选择的是5.7.26版本,解压版下载地址:
https://dev.mysql.com/downloads/mysql/5.7.html
因为我是win10 64位系统,所以选择的是 Windows (x86, 64-bit), ZIP Archive
1、解压缩:将下载到的压缩包解压缩到自己喜欢的位置,例如我所解压的位置是D:\mysql-5.7.26-winx64
2、添加环境变量
在系统变量里添加MYSQL_HOME环境变量,变量值为MySQL的根目录,例如我的是D:\mysql-5.7.26-winx64
找到path,选择编辑,在原有值末尾添加;%MYSQL_HOME%\bin
3、添加配置文件my.ini 新建一个文本文件,修改后缀名为.ini,修改文件名称为my。具体的文件的内容为
[mysqld]
basedir=D:\mysql-5.7.26-winx64
datadir=D:\mysql-5.7.26-winx64\data
port = 3306
character_set_server=utf8
具体的变量basedir和datadir的值根据自己的数据库的路径来进行相应的修改
4、初始化数据库:
以管理员自身份打开CMD执行以下命令(!!!!注意必须以管理员身份打开!!!!,否则报错)
mysqld --initialize --user=mysql --console
在控制台消息尾部会出现随机生成的初始密码,记下来(因为有特殊字符,很容易记错,最好把整个消息保存在记事本里)
5、将MySQL添加到系统服务
以管理员自身份打开CMD执行以下命令(!!!!注意必须以管理员身份打开,否则报错!!!!)
mysqld --install mysql
net start mysql
安装成功,则显示“服务已启动成功”
6、启动MySQL并修改密码
在CMD控制台里执行命令 mysql -u root -p
回车执行后,输入刚才记录的随机密码
输入命令
set password for [email protected] = password(‘root‘);
此时root用户的密码修改为root
7.下载mysql管理工具,sqlyog 或 navicat for mysql网上很多百度下个就可以了
以上是关于5分钟搞定MySQL/PostgreSQL/Oracle到StarRocks数据迁移同步-CloudCanal实战的主要内容,如果未能解决你的问题,请参考以下文章
Mysql5.7.26解压版(免安装版)简单快速配置步骤,5分钟搞定(win10-64位系统)