CloudCanal 是一款可視化的數據同步、遷移工具,可以幫助企業構建高質量數據管道,具備實時高效、精確互聯、穩定可拓展、一站式、混合部署、復雜數據轉換等優點。
應用場景
CloudCanal 可以幫助企業實現以下數據應用場景:
- 數據同步:通過消費源端數據源增量操作日志,準實時在對端數據源重放,以達到數據同步目的,具備斷點續傳、DDL 同步、元數據映射裁剪、自定義代碼數據處理、操作過濾、數據條件過濾、高性能對端寫入等特點。
- 數據遷移:將指定數據源數據全量搬遷到目標數據源,支持多種數據源,具備斷點續傳、順序分頁掃描、并行掃描、元數據映射裁剪、自定義代碼數據處理、批量寫入、并行寫入、數據條件過濾等特點,對源端數據源影響小且性能好,同時滿足數據輕度處理需求。
- 數據校驗和訂正:將源端和對端數據分別取出,逐字段對比,可選擇差異數據訂正,功能可單獨使用,也可配合數據遷移或數據同步使用,滿足用戶數據質量驗證與修復的需求。
- 結構遷移和同步:幫助用戶快速將源端結構執行到對端的功能,具備類型轉換、數據庫方言轉換、命名映射等特點,可獨立使用,也可作為數據遷移或數據同步準備步驟。
CloudCanal 目前已經支持的數據源包括:MySQL、Oracle、PostgreSQL、SQL Server、RDS for MySQL、ElasticSearch、Hive、Kafka、RocketMQ、RDS for PG、ADB for PG、Greenplum、RabbitMQ、TiDB、PolarDB、ClickHouse、PolarDB-X、Redis、Kudu、MongoDB、StarRocks、OceanBase、Doris、SelectDB、SAP Hana、MariaDB、Hudi、Aurora、RedShift、IBM Db2、達夢數據庫、高斯數據庫、AutoMQ、DocumentDB 等。
系統架構
CloudCanal 系統主要分為三個組件部分:
- Console:集中化的管控服務,以 web 服務集群存在;承載產品化功能,包括數據源/機器/數據任務生命周期管理、容災調度、監控告警、元數據管理等。
- Sidecar:部署于具體數據遷移同步機器上,承擔包括獲取需要運行的任務配置、啟停數據任務進程、收集和上報任務狀態、執行任務的健康檢查等工作。
- CloudCanal Core:部署于具體數據遷移同步機器上,執行具體的數據遷移、同步、校驗、訂正任務。
其中,CloudCanal Core 由以下功能模塊組成:
- 數據源插件:包含各個數據庫、消息、數據倉庫等數據源數據讀寫、元數據獲取邏輯和對應驅動。各個插件通過 Java 類加載機制隔離,任務運行時只加載對應數據源插件。
- 核心:包含內核代碼骨架、操作過濾、元數據映射、DDL 轉換、自定義數據處理等部分。
- 支撐:包含元數據、任務配置、位點、監控指標,以及和管控交互的邏輯。
產品優勢
CloudCanal 相比同類產品的優勢如下:
- 實時高效:數據同步功能延遲普遍小于 5 秒 , 期間完成增量數據解析、攢批、操作過濾、數據轉換、元數據映射、數據寫入等動作。
- 精確互聯:對于數據鏈路兩端的數據類型、結構規范、讀寫特點做了精確匹配與轉換,讓每一個數據源種類、版本差異 得到妥善解決。
- 穩定可擴展:產品內核精簡,單進程架構,系統分布式、高可用部署。產品通過組合各個職能的任務進程,實現大規模、分布式、高質量數據管道集群。
- 一站式:匯集結構遷移、數據遷移、數據同步、數據校驗與訂正、修改訂閱等功能,通過有限狀態機讓功能自動流轉和運行。一站式支持用戶數據準備與長期同步過程的一系列工作。
- 混合部署:支持各個公有云、本地機房私有部署,首要關注用戶數據安全,有效支持異地、云上云下、多云之間數據安全同步需求。
- 復雜數據轉換:產品默認包含元數據映射、裁剪、過濾等標準能力,同時支持 用戶上傳業務代碼 進行數據復雜處理。
版本對比
CloudCanal 目前提供三種版本的產品,分別為社區版、商業試用版、商業版,三種版本的特點與功能對比如下: