數據提取、轉換與加載(ETL,Extract-Transform-Load)工具能夠使組織內的不同數據更易于訪問、更有意義、也更能被其他數據系統所使用。通常情況下,面對由此產生的自寫代碼、自建系統的相關成本和復雜性時,企業會直接去選擇購置ETL工具。
第一種選擇:您可以根據自身的情況,選擇各種開源的ETL工具(請參考https://www.alooma.com/blog/open-source-etl-tools-comparison),來進行自行搭建。不過您往往會發現自己需要有更多的功能、靈活性與技術支持。
第二種選擇:與現有供應商合作,選擇一種能夠很好地處理當前數據源和數據流的解決方案。此處所說的現有供應商,一般是一些大品牌的廠商。
第三種選擇:最新的ETL平臺。這些通常是基于云端的解決方案,能夠為現有數據源到云端數據倉庫的各種數據提供端到端的ETL支持。它們也是針對日益增長的、基于網絡的大數據流量所構建的。
本文將深入分析各種現有ETL工具的優、缺點,并快速瀏覽各種最新的ETL平臺。
現有ETL工具概述
現有的ETL工具通常由業界知名公司(微軟,IBM等)所設計,因此其預裝的客戶群也比較龐大。
這些工具一般由一整套的工具所組成,并且能夠針對具體的問題被予以定制。由于許多公司將其數據存儲在傳統的單一數據庫和系統之中,因此這些工具的制造商能夠提供用相應的數據遷移工具,并支持現有的批處理方法。
常見的ETL工具
下面雖不是一份完整的清單,但它涵蓋了主要的工具產品。
1.IBM InfoSphere Information Server
作為一款ETL工具,IBM InfoSphere Information Server是IBM Information Platforms Solutions套件和IBM InfoSphere的一部分。它使用圖形符號來構建數據的整合方案,并具備各種版本(包括服務器版,企業版和MVS版)。
Informatica PowerCenter是一款ETL產品套件的總稱,它包括PowerCenter客戶端工具、服務器和存儲數據庫。
該軟件將數據存儲在庫中,以便客戶端工具和服務器能夠訪問到。各種操作一般在服務器上被執行,其服務器分別連接到源與目標系統上以獲取數據,然后通過各種轉換,最終將數據加載到目標系統之中。
3.iWay軟件
Information Builders的iWay集成套件具有將應用程序與數據相集成的功能。客戶可以使用它們來管理結構化、與非結構化的信息。該套件包括有iWay數據遷移器、iWay服務管理器和iWay通用適配器框架。
4.Microsoft SQL Server Integration Services
Microsoft SQL Server集成服務(SSIS)是一個高性能的數據集成方案平臺,它包含了用于數據倉庫的各種ETL包。
5.OpenText
OpenText集成中心是一個具有整合能力的平臺,各個企業能夠通過它來提取、增強、改造、整合數據,并且可以將數據內容從一個或多個存儲庫遷移到任何新的目標之上。
6.Oracle GoldenGate
Oracle GoldenGate是一款比較全面的軟件包,它能夠實現在異構的IT環境中進行實時的數據集成與復制。
7.Pervasive軟件
Pervasive的數據集成平臺是一款企業級的數據集成軟件方案,它能夠幫助公司在任何類型的數據源和應用程序之間建立起連接。同時,它還能支持各種實時集成的場景。
8.Pitney Bowes軟件
Pitney Bowes能夠提供大量針對數據集成的工具和解決方案。其Sagent Data Flow是一款靈活的整合引擎,它能夠采集不同來源的數據,并提供一套全面的數據轉換工具,以增強其核心的業務價值。
9.SAP Business Objects Data Services
以前被稱為Business Objects Data Integrator的SAP業務對象數據服務(BODS)是一款可被用于數據集成、質量控制、分析和處理的ETL工具。它能夠幫助您將可信的數據整合并轉換到各個數據倉庫的系統之中, 以產生分析報告。
10.SAS Data Management
SAS數據管理建立在SAS平臺之上,它是SAS投向ETL市場的一個工具。該平臺由一個包含了(20多種)SAS工具和服務的大型套件所組成。
11.Sun Java Composite Application Platform Suite
Sun的ETL與數據集成工具是大型Java復合應用程序平臺套件(CAPS)中的一部分。它是Oracle公司的一款標準化企業服務總體套件(Enterprise Service Bus software suite)。Java CAPS的組件能夠整合現有應用程序,并能在面向服務的架構環境中提供新的業務服務。
12.SYBASE
Sybase ETL包括Sybase ETL Development和Sybase ETL Server。
Sybase ETL Development是一款用于創建和設計數據轉換項目與作業的GUI工具。該工具提供了一個完整的模擬與調試環境,旨在加速ETL轉換流程的開發。Sybase ETL Development包含有一臺用于控制實際處理流程的ETL開發服務器,它能夠連接到各個數據庫,并執行相關過程。
Sybase ETL Server是一種可擴展的分布式網格引擎,它使用轉換流(由Sybase ETL Development所設計)來連接到各個數據源,通過提取數據,然后將數據加載到目標之上。
13.Syncsort
SyncSort的云解決方案能夠訪問并整合來自各種來源的數據,從而于將數據遷移到各個云端的存儲數據庫之中。
現有ETL工具的局限性
現有工具最大的局限性在于:它們被設計為“批量進行工作”,即:采集數據、上傳數據、采集更多的數據、再上傳之。這種批量加載數據在某些情況下的確適用,但是在某些單獨的方法上會存在一些問題。
數據批處理與轉換工具很難實現跨平臺的數據源采集,特別是在涉及到變更數據捕獲(CDC,Change Data Capture)的情況時。當上傳批量數據出現問題時,您需要跟蹤問題、排除故障并盡快重新提交作業。而這種批量處理方式是非常致命的,因為如果在數據倉庫中存在著超過24小時的、被API調用與分配的數據;或者需要同時備份傳入的數據,那么這些CDC信息就可能因此而丟失或被覆蓋,從而造成巨大的問題。
而面對越來越多的數據流和其他類型的數據源時,尤其是在需要盡快提供最新數據的需求下,這些批處理的工具集就更加不適合了。
最新ETL工具的概述
最新的ETL工具套件是以實時流量數據處理和云計算為基礎所構建的。它們與先進的云端數據倉庫有著很好的集成,并能夠支持持續增長的數據源和數據流。
如今的趨勢是:基于云的ETL服務。它們通常能夠提供對實時數據、智能模式檢測等方面的支持。
隨著對實時數據訪問需求的出現,諸如Kafka之類的最新模型,都能夠實現基于數據流的處理和分布式的消息隊列。以Alooma為代表的公司,通過新的技術提供了基于SaaS平臺和本地的解決方案。面對數據流,最新的ETL平臺能夠在完成加載的數據倉庫內部,進行不同級別的轉換,并通過Python、Java等代碼以實現完全控制。
而對于數據的完整性,最新的ETL平臺通過強大的內置安全網絡,能夠實現各種錯誤的處理和報告。
常見的最新ETL平臺和工具
下面列出了常見的最新ETL平臺和工具:
1.Alooma
Alooma是一個為云服務構建的企業數據管道(data pipeline)平臺。Alooma能夠提供一種現代的、可擴展的、基于云端的ETL解決方案,它可以實時地將來自任何數據源的數據匯集到任何一個數據倉庫之中。
錯誤處理:處理、監控/報告、整流(restreaming)
轉換:支持Python轉換的ETL
2.Confluent
Confluent是一個基于Apache Kafka的全面數據流平臺。它能夠在數據流中發布、訂閱、存儲并處理數據。Confluent提供了其平臺的開源版本。
錯誤處理:僅監控
轉換:ETL,Kafka Streams API
3.Fivetran
Fivetran是一款SaaS類型的數據集成工具。它能夠從不同的云服務、數據庫和商業智能(BI)工具中提取數據,并將其加載到數據倉庫之中。
錯誤處理:僅監控
轉型:有限的ELT
4.FlyData
FlyData是一款SaaS類型的數據遷移工具。它可用于管理MySQL、PostgreSQL、MariaDB、Percona的數據加載過程,并以CSV/TSV/JSON的格式記錄到Amazon的Redshift數據倉庫之中。
錯誤處理:緩沖式處理
轉型:有限的ELT
5.Matillion
Matillion能夠提供云端數據的集成。它是一款專為Amazon Redshift、Google BigQuery和Snowflake構建的ETL工具。
錯誤處理:僅通過代碼支持,但并非內置
轉換:圖形化構建的ETL
6.SnapLogic
SnapLogic提供了數據集成平臺即服務(data integration platform-as-a-service)的工具,可用于連接各種云端數據源、SaaS應用和本地的商業軟件應用。
錯誤處理:支持,但并非內置
轉換:圖形化構建的ETL
7.Stitch Data
Stitch是一款云端優先(cloud-first)的、開發者專用工具,可用于快速地移動數據。
錯誤處理:手動,記錄在拒絕表(rejection table)中
轉型:有限的準ETL
8.StreamSets
StreamSets是原生云(cloud-native)的產品集合,可用于控制數據漂移,以及與數據、數據源、數據基礎架構、數據處理有關的變化問題。
錯誤處理:有錯誤記錄處理
轉換:代碼類和GUI的ETL
9.Striim
Striim(發音為“stream”)是一個實時的流媒體分析和數據集成平臺。
錯誤處理:僅監控
轉換:內置和具有Java功能的ETL
-
ETL工具
+關注
關注
0文章
3瀏覽量
7286 -
數據分析
+關注
關注
2文章
1461瀏覽量
34166
發布評論請先 登錄
相關推薦
評論