雲時代,MySQL到ClickHouse資料同步產品對比推薦
ClickHouse 在執行分析查詢時的速度優勢很好的彌補了 MySQL 的不足,但是對於很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品,看看他們在同步時的差異。
對比結果概述
整體上,NineData(官網: )的資料複製功能在功能、效能表現最突出。其次是Bifrost和ClickHouse自帶的MaterializeMySQL。NineData在增量DDL的處理、欄位對映的準確性、無主鍵表、以及功能豐富度上最強(資料校驗、過濾、限流等),詳細的對比如下圖:
結構對映對比
在做了詳細對比之後,對於基礎型別,只有NineData考慮的更加完整,例如MySQL的datetime需要對映到ClickHouse的DateTime64,否則則可能出現資料丟失。如果使用Biforst或MaterializeMySQL等其他產品均對映到datetime可能會造成一定程度的資料精度丟失。
此外,在對比了MySQL全部資料型別之後,發現NineData支援更完整,例如對JSON型別、幾何資料、地理資訊僅NineData支援。此外,對於基礎型別,也只有NineData考慮更加細緻,使用Biforst或MaterializeMySQL等其他產品則可能導致精度丟失,從而造成資料丟失。
詳細的對比如下圖:
無主鍵表支援
NineData對記錄做了特殊的標記處理,所以很好的支援了無主鍵表的資料同步。而MaterializeMySQL、Biforst均不支援。
詳細的對比如下圖:
增量DDL
對於資料增量同步,支援好各種型別的DDL是保障同步鏈路持續穩定的關鍵,NineData在無主鍵表DDL支援、欄位刪除、欄位名修改等特殊操作均做了適配處理,可以很好的保障複製鏈路的問題。同時,NineData還提供了視覺化的錯誤修復和跳過功能,可以最大限度的保障鏈路持續穩定。
詳細的對比如下圖:
限流、對比、過濾等
除了前面介紹的一般功能之外,為了提升資料質量、保障穩定,NineData還支援了包括資料對比、執行中的限流、資料過濾等功能。具體的說明如下:
同步效能對比
這裡使用 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:///)在功能上領先其他同步工具,特別是欄位型別的全面適配和增量複製期間DDL的支援度,並且在動態限流、資料對比、監控等能力上也支援的最完善。
所以,如果想把MySQL的資料實時同步到ClickHouse, 推薦使用NineData,不僅使用簡單(SaaS),並在滿足功能和效能的前提下,實現了欄位型別的無損轉換和資料的實時複製,很好的解決MySQL 同步資料到ClickHouse的問題。
補充說明
當前各個雲廠商雖然都提供ClickHouse託管服務,但是另一方面雲廠商又都在發展自己的數倉產品,在同步功能支援上通常僅對自家的數倉產品支援比較好,而對ClickHouse同步支援都很薄弱。此外,開源工具Canal也因為不能很好的支援結構同步,使用和維護起來並不方便。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024772/viewspace-2946766/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- clickhouse 同步mysql資料MySql
- clickhouse-mysql資料同步MySql
- FlinkCDCSQL資料同步mysql->clickhouseMySql
- 阿里 Canal 實時同步 MySQL 增量資料至 ClickHouse 資料庫阿里MySql資料庫
- 騰訊雲相關產品推薦
- MySQL 到Oracle 實時資料同步HYXSMySqlOracle
- ClickHouse 與 MySQL 資料庫適用場景對比總結MySql資料庫
- 資料同步:教你如何實時把資料從 MySQL 同步到 OceanBaseMySql
- Clickhouse Engine kafka 將kafka資料同步clickhouseKafka
- MySQL 資料對比MySql
- 透過 Canal 將 MySQL 資料實時同步到 EasysearchMySql
- mysqldump同步生產到生產資料MySql
- 如何看待雲廠商 “扎堆”推雲資料庫產品現象?資料庫
- MySQL 半同步 與Raft對比MySqlRaft
- 資料上雲,我推薦華為雲資料庫!資料庫
- 記憶體資料庫解析與主流產品對比(三)記憶體資料庫
- 記憶體資料庫解析與主流產品對比(二)記憶體資料庫
- 記憶體資料庫解析與主流產品對比(一)記憶體資料庫
- mysql到sqlserver資料庫實時同步工具syncnavigator註冊使用MySqlServer資料庫
- flnkcdc+datastream實現mysql到mysql資料同步ASTMySql
- Mysql資料實時同步實踐MySql
- 常用MQ產品的對比MQ
- APM呼叫鏈產品對比
- 2020主流國產BI產品對比
- 從 MySQL 到 ClickHouse 實時複製與實現MySql
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- docker基礎:mysql容器建立,時間同步,掛載到資料夾DockerMySql
- MySQL資料歸檔小工具推薦--mysql_archiverMySqlHive
- 7本產品經理推薦書籍
- 推薦系統之路 (2):產品聚類聚類
- 資料傳輸 | 利用 DTLE 將 MySQL 資料同步到 DBLEMySql
- Mysql 到 Hbase 資料如何實時同步,強大的 Streamsets 告訴你MySql
- oracle Mysql PostgreSQL 資料庫的對比OracleMySql資料庫
- logstash mysql 準實時同步到 elasticsearchMySqlElasticsearch
- 使用canal增量同步mysql資料庫資訊到ElasticSearchMySql資料庫Elasticsearch
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 六、python讀mysql資料庫資料庫MySqlPython
- 直播強勢來襲:Oracle nologgiing;資料庫上雲;國產資料庫比對Oracle資料庫
- 高效整合:聚水潭採購資料同步到MySQLMySql