论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
云时代,MySQL到ClickHouse数据同步产品对比推荐 ...
云时代,MySQL到ClickHouse数据同步产品对比推荐
王柳
论坛元老
|
2023-4-19 14:13:43
|
显示全部楼层
|
阅读模式
楼主
主题
1911
|
帖子
1911
|
积分
5733
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
ClickHouse 在执行分析查询时的速度优势很好的弥补了 MySQL 的不足,但是对于很多
开发
者和DBA来说,如何将MySQL稳定、高效、简单的同步到 ClickHouse 却很困难。本文对比了 NineData、MaterializeMySQL(ClickHouse自带)、Bifrost 三款产品,看看他们在同步时的差异。
对比结果概述
整体上,NineData(官网:
https://www.ninedata.cloud/
)的数据复制功能在功能、性能表现最突出。其次是Bifrost和ClickHouse自带的MaterializeMySQL。NineData在增量DDL的处理、字段映射的准确性、无主键表、以及功能丰富度上最强(数据校验、过滤、限流等),详细的对比如下图:
MySQL到ClickHouse数据同步产品对比结果概述
结构映射对比
在做了详细对比之后,对于基础类型,只有NineData考虑的更加完整,例如MySQL的datetime需要映射到ClickHouse的DateTime64,否则则可能出现数据丢失。如果使用Biforst或MaterializeMySQL等其他产品均映射到datetime可能会造成一定程度的数据精度丢失。
此外,在对比了MySQL全部数据类型之后,发现NineData支持更完整,例如对JSON类型、几何数据、地理信息仅NineData支持。此外,对于基础类型,也只有NineData考虑更加细致,使用Biforst或MaterializeMySQL等其他产品则可能导致精度丢失,从而造成数据丢失。
详细的对比如下图:
无主键表支持
NineData对记录做了特殊的标记处理,所以很好的支持了无主键表的数据同步。而MaterializeMySQL、Biforst均不支持。
详细的对比如下图:
无主键表支持情况
增量DDL
对于数据增量同步,支持好各种类型的DDL是保障同步链路持续稳定的关键,NineData在无主键表DDL支持、字段删除、字段名修改等特殊操作均做了适配处理,可以很好的保障复制链路的问题。同时,NineData还提供了可视化的错误修复和跳过功能,可以最大限度的保障链路持续稳定。
详细的对比如下图:
增量DDL对比结果
限流、对比、过滤等
除了前面介绍的一般功能之外,为了提升数据质量、保障稳定,NineData还支持了包括数据对比、运行中的限流、数据过滤等功能。具体的说明如下:
增量DDL 限流、对比、过滤等对比结果
同步性能对比
这里使用 sysbench工具生成了5000万行记录进行全量性能对比,再生成约1800万次DML(约5GB Binlog)进行增量性能对比。
对比中,全量同步 NineData 性能为36.2W RPS(每秒同步记录数)为最高;增量同步则是 ClickHouse 自带的同步工具 MaterializeMySQL 最高,需要注意,MaterializeMySQL 在错误处理上比较简单,如果报错则需要全部重新同步。
详细的对比如下:
全量同步
通过sysbench生成10张表,每张表500W记录(5000W行),数据文件大小约为12G:
同步性能对比
增量同步
通过sysbench生成5G大小的BinLog日志(约1800W次DML),再进行增量同步:
增量同步
总结
NineData
(
https://www.ninedata.cloud/
)在功能上领先其他同步工具,特别是字段类型的全面适配和增量复制期间DDL的支持度,并且在动态限流、数据对比、监控等能力上也支持的最完善。
所以,如果想把MySQL的数据实时同步到ClickHouse,
推荐使用NineData
,不仅使用简单(SaaS),并在满足功能和性能的前提下,实现了字段类型的无损转换和数据的实时复制,很好的解决MySQL 同步数据到ClickHouse的问题。
补充说明
当前各个云厂商虽然都提供ClickHouse托管服务,但是另一方面云厂商又都在发展自己的数仓产品,在同步功能支持上通常仅对自家的数仓产品支持比较好,而对ClickHouse同步支持都很薄弱。此外,开源工具Canal也因为不能很好的支持结构同步,使用和维护起来并不方便。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
王柳
论坛元老
这个人很懒什么都没写!
楼主热帖
Keytool配置 Tomcat的HTTPS双向认证 ...
NSIS官方认证插件集成安装包 ...
【小程序】图解小程序平台架构及其特征 ...
[网鼎杯 2020 朱雀组]Think Java——wp ...
校园网组网方案的设计
太方便了,钉钉上就可完成代码发布审批 ...
利用Python生成随机密码,灰常简单 ...
腾讯开源的 3 个 GitHub 项目,足够良 ...
Ansible 学习笔记 - 批量巡检站点 URL ...
Google Earth Engine(GEE)——Kmeans ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
Mysql
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表