作為阿里早期的開源產品,DataX是一款非常優秀的資料整合工具,普遍被用於多個資料來源之間的批次同步,包括類似Apache DolphinScheduler的Task型別也對DataX進行了適配和增強,可以直接在DolphinScheduler裡面利用通用的資料來源呼叫DataX進行資料批次同步。
作為DolphinScheduler的社群支持者和商業版本的提供者,白鯨開源在升級到商業版WhaleScheduler的時候也遇到使用DataX的使用者,因為白鯨開源也在主力維護者另外一個Apache頂級社群 Apache SeaTunnel,它對應的商業版是WhaleTunnel。所以,經常有客戶會詢問,WhaleTunnel比DataX優勢在哪裡啊? 效能到底如何?今天這裡用一個客戶實際的POC案例來實景對弈下,以及終端使用者為什麼選擇WhaleTunnel替換了開源的DataX。
功能差異
首先,從功能上,我們來對比下商業版WhaleTunnel和DataX的差異點。可以看到WhaleTunnel作為一個商業資料整合工具,不僅具備了Apache SeaTunnel開源的多線功能,還在資料來源數量、視覺化、DDL變更和運維監控方面都做了增強,對比DataX來講,更是在叢集穩定性、批流一體、資料來源以及視覺化上有明顯優勢:
對比項 | WhaleTunnel(商業) | DataX |
---|---|---|
部署難度 | 容易 | 容易 |
執行模式 | 分散式,也支援單機 | 單機 |
健壯的容錯機制 | 無中心化的高可用架構設計,有完善的容錯機制 | 易受網路閃斷、資料來源不穩定等因素影響 |
支援的資料來源豐富度 | 支援批次和CDC 165種資料來源: MySQL、PostgreSQL、Oracle、SQLServer、SAP Hana、Hive、S3、OSS】檔案、RedShift、PolarDB HBase、Doris、Clickhouse等實時和批次資料來源還在快速增長 |
支援批次資料來源:MySQL、ODPS、PostgreSQL、 Oracle、Hive 等 20+ 種批次資料來源 |
商業版聯結器 | 針對多種常見資料來源,Doris、StarRocks、GaussDB、Redshift、偶數等單獨與原廠共同定製開發底層商業版聯結器,效能大幅超過開源版聯結器 | 開源版聯結器 |
記憶體資源佔用 | 少 | 多 |
資料庫連線佔用 | 少(可以共享 JDBC 連線) | 多 |
自動建表 | 支援 | 不支援 |
整庫同步 | 支援 | 不支援 |
斷點續傳 | 支援 | 不支援 |
JDBC 連線池複用 | 支援 | |
DDL變更支援 | 強,支援多種資料來源DDL變更 | 不支援 |
視覺化設計 | 支援完全視覺化資料來源管理、資料Mapping定義任務定義、運維監控、告警 | 不支援 |
多引擎支援 | 基於商業擴充套件的SeaTunnel Zeta引擎 | 只能執行在DataX自己的引擎上 |
資料轉換運算元(Transform) | 支援Copy、Filter、Replace、Split、SQL 、自定義 UDF等運算元。 商業專有Transform:新增列,改型別,刪除列,改列名,Transform支援DDL變更適配,在DDL變更場景也支援Transform自適應。 |
支援補全,過濾等運算元,可以 groovy自定義運算元 |
單機效能 | 比DataX高30%-80% | 較好 |
批次同步 | 支援 | 支援 |
增量同步 | 支援 | 支援 |
實時同步 | 支援 | 不支援 |
CDC同步 | 支援 | 不支援 |
批流一體 | 支援 | 不支援 |
精確一致性 | 所有JDBC訪問的資料庫(比如MySQL, SQLServer, PG, Oracle等)、Kafka、Hive、HDFS、File , SFTP, FTP等聯結器支援 | 不支援 |
可擴充套件性 | 外掛機制非常易擴充套件 | 易擴充套件 |
進度監控及統計資訊 | 豐富的視覺化監控,同步進度、速率,表同步情況,任務錯誤情況,同步條數等監控資訊,DDL變更提醒、資料模型變更提醒等。 | 無監控介面,可以在DolphinScheduler級別實現任務級別的監控 |
告警 | 支援DDL變更告警,資料延遲告警,資料異常報警等 | 不支援 |
Web UI | 全部視覺化建立資料對映以及同步任務,並與商業版本排程WhaleScheduler整合,支援完全視覺化資料來源管理、任務定義、運維監控、告警等 | 無 |
與排程系統整合度 | 與商業版本排程WhaleScheduler深度整合,支援各種排程傳引數用於同步,比如日曆,牌等資訊 | 已經與DolphinScheduler整合 |
效能差異
具體到效能方面,到底孰弱孰強,我們直接上使用者具體測試的實際場景來看(這是在徵求某零售客戶許可後公佈的測試POC資料內容,已混淆其中的各項業務相關內容):
測試內容:
- 單表(80個欄位,數千萬條記錄)
- 源資料庫:Oracle
- 目標資料庫:Apache Doris
- WhaleTunnel與DataX並行度:10
WhaleTunnel採用視覺化介面配置,DataX採用WhaleScheduler中的DataX任務進行配置。
這是WhaleTunnel測試配置截圖:
那麼測試結果如何呢?
這是WhaleTunnel同步的效能速率:
這是同樣配置服務下,單臺DataX同步Insert的速率:
這是同樣配置服務下,單臺DataX同步upsert的速率:
可以看到,同樣的資料,在同樣的並行度情況下有如下測試結論:
可以看到,在這個場景下,因為WhaleTunnel在源聯結器讀取速度、商業引擎以及商業寫入聯結器方面都有大幅最佳化,在同樣並行度的Insert場景下,速度是DataX的2.2倍;而Upsert場景下,WhaleTunnel速度是DataX的2.6倍。而這只是WhaleTunnel單臺伺服器的場景,WhaleTunnel還支援叢集部署來提高並行度效能,同時WhaleTunnel叢集還支援CDC實時資料同步,可以說功能上完全就是新一代的資料整合工具。
結論
綜上,可以看到WhaleTunnel在開源版的Apache SeaTunnel之上增加了大量商業版功能,並對視覺化開發、引擎、介面、Transform、DDL、運維監控做了大量最佳化和開發。而兩者基於新一代資料整合引擎SeaTunnel Zeta,在批次同步、實時同步方面都是在行業當中的佼佼者。與DataX相比,WhaleTunnel更適用於多種場景、多資料來源的資料同步,同時也可以幫助使用者全面從DolphinScheduler+DataX的組合中平滑升級到WhaleScheduler+WhaleTunnel的新一代DataOps平臺裡,滿足使用者多雲、混合雲、多資料來源的批次、CDC實時的資料整合工作需求。
如果對資料整合和同步工具商業版WhaleTunnel感興趣,可掃描下方二維碼溝通諮詢。
本文由 白鯨開源 提供釋出支援!