1. 程式人生 > >選用Kettle開源ETL工具應注意的問題

選用Kettle開源ETL工具應注意的問題

Kettle是一個Java編寫的ETL工具,從4.2版本開始遵守Apache Licence 2.0協議,最新穩定版為7.1。。Kettle2006年初加入了開源的BI公司Pentaho, 正式命名為:Pentaho Data Integeration,簡稱“PDI”。自2017920日起,Pentaho已經被合併於日本日立集團下的新公司: Hitachi Vantara。企業版Kettle不是免費獨立的,而是整合在Pentaho Business Analytics商業套件中。

因為ETL屬於偏底層的資料基礎性工作,國內的專案甲方使用者往往並不太懂這方面的具體需求和技術要求,因而也不太關注專案開發服務商使用了什麼底層產品,對於這類資料產品在功能性、易用性、交換效能、資料實時性、可靠穩定性、可運維管理性等方面缺乏具體的指標要求,通常不會要求通過嚴格的

POC測試選型,再加上Kettle基礎版是開源免費的,因此許多整合商/開發商在專案中為了想節省成本而盲目使用,結果往往是適得其反,造成了前期投入了相當大的開發人力成本及後期高昂的運維成本而達不到預期效果,騎虎難下。根據筆者二十多年的專案實施經驗及大資料領域所面臨的新要求,總結了選用kettle應注意的問題:

  1. Kettle不支援實時資料同步場景。儘管kettle可以使用trigger方式獲取表級的增量資料,但源端的應用系統方一般不會同意使用這種侵入性很強的方式,而且trigger方式無法保證事務複製的完整性和時間次序性。
  2. Kettle交換效能往往達不到要求。由於kettle採用了二十多年前老舊的
    Java呼叫技術,在任務多、資料量大的場景下,往往消枆過大的計算資源,交換效能急劇下降,造成系統阻塞的狀況出現。
  3. KettleETL 處理流程與目標輸出耦合性強,新的資料要求往往會造成處理流程的重新設計,靈活性差,導致時間週期和成本不斷增加。新出現的ELT(把T-處理放在了末端數倉中處理)技術架構和方案,將抽取、載入過程與轉換過程分開,並將所有需要的全量和實時增量資料快速載入至數倉,意味著在數倉結構設計中更具有靈活性來考慮新的變化需求,有利於專案的運維和管理,將專案的風險最小化。
  4. 日益增加的異構資料來源環境,包括各種關係型資料庫、結構化及非結構化資料、以及NoSQLMPP資料庫
    /倉庫和大資料平臺Hadoop/Kafka的應用環境,Kettle缺乏對新資料來源的有效支援能力。
  5. 免費版的Kettle缺乏必要的資料異常處理和監控運維等管理功能服務,專案開發商/服務商在專案成本及時間的約束下,難於滿足這類管理功能需求,造成後續系統運維質量及使用者滿意度的下降。
  6. 在企業私有云和混合雲的計算環境下,Kettle等傳統產品的C/S架構難於滿足構建雲與邊緣端的資料交換,並支援遠端多使用者共享使用的要求。

作者李清 QQ:450353867,畢業於上海交通大學,現任北京數貝軟體科技有限公司(www.synball.com) CTO,負責TurboDX 異構資料複製同步、交換整合、ELT系列產品的研發。TurboDX系列產品已成功應用於許多企業/政府的大資料應用專案中。