clickhouse 同步mysql_疫情期间,写了个 MySQL 同步到 ClickHouse 的小工具。

因工作需要,调研了很多 OLAP 系统,像 Druid、Presto、Kylin、ClickHouse 等,最终选定了 ClickHouse,其优点:快、安装简单、依赖少。

于是开启了踩坑之旅。

网上搜了很多从 MySQL 同步数据到 ClickHouse 的工具,好吧,确实很少,推荐最多的是https://github.com/Altinity/clickhouse-mysql-data-reader,无奈其不支持更新和删除,遂弃之;

找到了阿里开源的 canal,搭建了半天,先用 docker 死活搭建不成功,貌似里面启动了一个 MySQL 服务器,我本机也搭了个,冲突了,服!于是下载安装,可算装上了,一番配置过后,参考http://www.wuzhq.com/2019/12/16/mysql2clickhouse/这篇文章,结果同步报错,貌似语法解析错误什么的,弃之;

然后找到了https://github.com/yymysql/mysql-clickhouse-replication,原理是解析 MySQL binlog 同步,clone 下来一番修补总算是可以用上了。无奈其只支持 python2,代码也比较冗长,介于实在是无工具可用,于是打算对此重新改造。

基于 mysql-clickhouse-replication 修改优化,增加命令行操作,打包上传至 pypi,增加 python3&pypy3 支持。

只需要一行命令:mysql2ch --log-pos-to=file,你就可以享受从 MySQL 到 ClickHouse 的同步快感。

顺便推荐一个 BI 工具,metabase,配合 ClickHouse,你就可以对你的数据,想怎么玩儿,就怎么玩~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值