前瞻性技術通常具有創新性,並受到早期採用者的歡迎,從而提供一定的商業價值。
說到資料整合,有人可能會質疑這有什麼好討論的——這不就是簡單的 ETL 嗎?從各種資料庫中提取資料,進行轉換,最後載入到不同的資料倉儲中。
隨著大資料、資料湖、實時數倉、大規模模型等的興起,資料整合架構從資料倉儲時代的ETL,發展到大資料時代的ELT,再到目前的EtLT階段。
無論你是大資料工程師還是資料領域的專業人士,基於資料整合領域的近期技術變化和未來趨勢都至關重要。
ETL 架構
大多數資料領域的專家都熟悉 ETL
一詞。在資料倉儲的鼎盛時期,IBM DataStage、Informatica、Talend 和 Kettle 等 ETL 工具被廣泛使用。
許多公司仍然依賴這些工具從各種資料庫中提取資料、進行轉換並將其載入到不同的資料倉儲中進行報告和分析。
ETL 架構的優點和缺點如下:
ETL架構的優點
-
確保資料的一致性和質量
-
整合複雜資料來源
-
提供清晰的技術架構
-
促進業務規則的實施
ETL 架構的缺點
-
沒有實時處理
-
硬體成本高
-
靈活性有限
-
維護費用昂貴
-
對非結構化資料處理不當
ELT 架構
在大資料時代,ETL 在處理複雜資料來源方面的侷限性以及較差的實時性導致了 ETL 架構的變體 ELT 的出現。
企業開始採用來自各種資料倉儲供應商的 ELT 工具,例如 Teradata 的 BETQ/Fastload/TPT 和 Hadoop Hive 的 Apache Sqoop。
ELT 架構的特點是直接將資料載入到資料倉儲或大資料平臺中,而無需進行復雜的轉換,然後使用 SQL 或 H-SQL 來處理資料。
ELT架構的優缺點如下:
ELT 架構的優勢
-
高效處理大量資料
-
提高開發和運營效率
-
成本效益
-
靈活性和可擴充套件性
-
與新技術的無縫整合
ELT 架構的缺點
-
有限的實時處理支援
-
資料儲存成本高
-
潛在的資料質量問題
-
依賴於目標系統功能
EtLT 架構
隨著資料湖和實時資料倉儲的興起,ELT 架構在實時處理和處理非結構化資料方面的侷限性變得顯而易見。
這導致了新架構 EtLT 的開發。
EtLT 透過整合來自 SaaS、Binlog 和雲元件等來源的實時資料提取,以及在將資料載入到目標儲存之前執行小規模轉換來增強 ELT。
這種演變刺激了全球專業公司的成長,包括 StreamSets、Attunity(被 Qlik 收購)、Fivetran、WhaleStudio 和 Apache 基金會的 SeaTunnel。
以下是EtLT架構的優點和缺點:
EtLT架構的優點
-
實時資料處理能力
-
支援複雜資料來源
-
降低成本的好處
-
增強靈活性和可擴充套件性
-
最佳化效能
-
改善資料質量和治理
EtLT架構的缺點
-
技術複雜性增加
-
依賴於目標系統功能
-
管理和監控方面的挑戰
-
複雜資料變更管理
-
依賴特定工具和平臺
近年來,隨著資料、實時資料倉儲和大規模模型的增長,EtLT 架構逐漸成為資料整合領域的標準。
在這個總體趨勢中,有四個不同的方向
-
隨著 ETL 向 EtLT 轉型,資料整合的重點已從傳統批處理轉向實時資料捕獲和混合批流整合。重點已從單資料庫批處理場景轉移到跨混合雲和 SaaS 環境整合多個資料來源。
-
資料複雜性轉換已經超越了傳統的 ETL 工具,能夠處理資料倉儲中的複雜轉換。在實時資料整合過程中,管理自動模式變更(模式演進)的能力也在不斷增強,包括在 DDL(欄位定義)修改過程中適應輕量級轉換。
-
資料來源型別支援從檔案和傳統資料庫擴充套件到新興資料來源、開源大資料生態、非結構化資料系統、雲資料庫等。這些場景在企業中越來越常見,實時資料倉儲、資料湖、雲環境和大規模模型在不同的用例中發揮著關鍵作用。
-
核心能力和效能指標(例如資料來源多樣性、準確性和故障排除的簡易性)對大多數企業而言至關重要。相反,高吞吐量和實時效能等能力則較少受到關注。
離線資料同步
資料整合的這一基本要求對於每個企業都至關重要,但其效能在不同的架構中有所不同。通常,ETL 架構工具的效能低於 ELT 和 EtLT 工具,尤其是在處理大規模資料時。
實時資料同步隨著實時資料倉儲和資料湖的普及,實時資料同步已成為每個企業資料整合策略中的一個重要考慮因素。越來越多的公司正在採用實時同步解決方案。
批處理流式整合
現代資料整合引擎專為無縫整合批處理和流式工作流程而設計,可提供針對不同企業需求而定製的增強同步方法。
相比之下,傳統引擎通常優先考慮實時或離線場景,這通常會導致批次資料同步效能不佳。批處理和流式整合的統一方法在需要高效資料初始化和混合批處理流式環境的場景中表現出色。
雲原生
國際資料整合工具以激進的策略引領該領域,採用按量付費的計費模式,使企業能夠快速獲取和釋放每個任務的響應式計算資源,構成核心競爭力和利潤來源。
資料型別和常見用例
- 檔案收集
作為每個整合工具的基礎,該功能現已超越標準文字檔案,包括 Parquet 和 ORC 等格式,反映了資料收集標準不斷髮展。
-
大資料收集
隨著 Snowflake、Redshift、Hudi、Iceberg、ClickHouse、Doris 和 StarRocks 等新資料來源的興起,傳統資料整合工具越來越落後。中國和美國的使用者都在同樣採用大資料技術,促使供應商轉向並支援這些新興資料平臺。
-
Binlog 採集
在中國,Binlog 採集已經成為一個新興行業,在資訊化過程中逐漸取代了 DataStage、Informatica 等傳統工具。但 Oracle、DB2 等資料庫的轉型速度較慢,因此海外出現了專門的 Binlog 資料採集公司,以應對 CDC 挑戰。
-
數字化資料收集
快速數字化催生了眾多國內資料庫。調整這些資料庫以進行批次和實時收集對供應商提出了重大挑戰。
-
分片
許多大型企業廣泛採用分片技術來減輕資料庫負載。因此,支援分片已成為專業資料整合工具的基本要求。
-
訊息佇列
隨著資料湖和實時資料倉儲的激增,實時技術正在經歷顯著增長。訊息佇列作為企業實時資料交換的重要組成部分,現已成為先進企業的必備選擇。資料整合工具支援多種基於記憶體和磁碟的訊息佇列型別的能力已成為需求的關鍵功能。
-
非結構化資料
企業越來越依賴 MongoDB 和 Elasticsearch 等非關係資料來源。資料整合工具已適應支援這些型別的資料來源。
-
SaaS 整合
雖然在海外廣受歡迎,但在中國尚未獲得顯著的發展。
-
統一資料排程
將資料整合與排程系統結合起來,特別是透過排程系統協調實時資料以便進行後續的資料倉儲任務,對於建立實時資料倉儲至關重要。
-
實時資料倉儲/資料湖:
這些是目前企業最青睞的場景之一。實現實時資料進入倉庫/資料湖可充分利用下一代資料基礎設施的優勢。
-
資料災備
隨著資料整合能力(包括實時能力和 CDC 支援)的提升,傳統災備領域的整合也開始出現。
然而,由於災備和整合場景在細節上存在很大差異,進入彼此領域的供應商可能會遇到功能上的差距,需要隨著時間的推移不斷迭代改進。
操作和監控
在資料整合中,運維與監控是至關重要的功能,高效的運維與監控對於減少系統運維與開發人員在處理資料問題時的工作量具有至關重要的作用。
流量控制
現代資料整合工具透過各種方法管理流量,包括任務並行、單任務 JDBC 並行以及控制從單個 JDBC 源讀取的資料量。這可確保對源系統的干擾最小。
任務和表級指標
任務和表級別的統計資料對於指導整個資料整合過程的操作和維護人員至關重要。
增量試執行
隨著對實時資料、SaaS 和輕量級轉換的支援,直接執行復雜的資料流變得更具挑戰性。因此,先進的公司已經實施了增量試執行功能,以有效地簡化開發和運營。
表變化事件捕獲
這一實時資料處理領域的新興功能,讓使用者能夠在源系統內的表發生變化時以預定義的方式觸發操作或警報,從而增強實時資料操作的穩定性。
批流整合排程
實時 CDC 和流處理之後,與傳統批次資料倉儲任務的整合變得必不可少。然而,在不中斷資料流操作的情況下確保批次資料的準確啟動仍然是一項重大挑戰,凸顯了整合和批流排程的相互關聯性。
智慧診斷、調優和資源最佳化
在叢集和雲原生環境中,最佳化資源利用率和提供準確的問題解決方案是領先資料整合公司關注的關鍵問題。
然而,在這個領域開發可用於生產的智慧應用程式可能需要大量的時間和精力。
主要功能
雖然資料整合包含許多基本功能,但以下幾點至關重要。缺乏這些功能可能會對企業運營產生深遠影響。
完整/增量同步
完整和增量同步已成為每個資料整合工具的必備功能。從完整模式到增量模式的自動轉換在中小型供應商中仍然不常見,通常需要使用者手動切換。
變更資料捕獲 (CDC)
隨著企業對實時資料的需求不斷增長,CDC 已成為資料整合中的關鍵競爭優勢。支援跨多個資料來源的 CDC 並有效管理其需求和對源資料庫的影響的能力通常決定了資料整合工具的核心競爭力。
資料來源多樣性
支援多種資料來源的能力加劇了資料整合工具之間的競爭。為使用者現有的系統資料來源提供更好的支援通常會在商業競爭中獲得戰略優勢。
檢查點恢復
實時和批次資料整合以支援檢查點恢復的能力對於許多場景中快速從錯誤中恢復以及在特殊情況下促進恢復至關重要。但是,目前只有有限的工具支援此功能。
併發性和速度限制
在資料整合中,工具必須處理高併發性以獲得最佳速度,並在操作較慢時有效減輕對源系統的影響。此功能已成為現代整合工具的必備功能。
多表同步和全庫遷移
該功能不僅包括使用者友好的選擇介面,還包括在引擎級別重用 JDBC 連線或現有整合任務的能力。這種方法最佳化了資源利用率並加速了資料整合過程。
效能最佳化
除了核心功能之外,效能通常還決定著使用者是否需要額外的資源,以及與資料整合工具相關的硬體和雲成本是否可控。
然而,目前認為實現極致效能不那麼重要,通常排在介面支援和核心功能之後,作為第三考慮因素。
-
時效性
分鐘級整合已不再重要,秒級整合越來越受追捧,但毫秒級整合場景仍然比較少見,主要見於專業的容災場景。
-
資料規模
目前場景下資料整合一般在TB級別,PB級別整合多由網際網路巨頭開源工具處理,EB級別整合預計短期內不會出現。
-
高吞吐量
實現高吞吐量很大程度上取決於整合工具能否有效利用網路和 CPU 資源以接近理論資料整合極限。在這方面,基於 ELT 和 EtLT 架構的工具比傳統 ETL 工具具有明顯的優勢。
-
分散式整合
在大規模資料整合中,動態容錯的重要性超過了動態擴充套件和雲原生功能。自動承受硬體和網路故障的能力對於管理廣泛的資料整合任務至關重要。可擴充套件性和雲原生功能是在此背景下衍生的要求。
-
準確性
確保資料整合中的資料一致性是一項多方面的挑戰。除了採用多種技術進行“精確一次”處理和 CRC 驗證外,第三方資料質量檢查工具對於穩健驗證至關重要,而不僅僅依靠自我認證。因此,資料整合工具經常與資料排程工具協作以確保和驗證資料的準確性。
-
穩定性
實現穩定性涉及幾個關鍵功能。它包括確保可用性、任務隔離、資料隔離、許可權和加密控制方面的單個任務的可靠性。至關重要的是,一個任務或部門的問題不會影響其他任務或部門。
-
技術生態
頂級的資料整合工具擁有完善的生態,可以實現多資料來源同步,與上下游排程、監控系統無縫對接。此外,工具的易用性也是影響企業人員成本的重要指標。
趨勢
未來幾年,EtLT架構的廣泛採用將為新的資料整合場景鋪平道路。
-
多雲整合
這一趨勢在全球普遍存在,大多數資料整合都具有跨雲整合功能。然而,在雲採用仍然有限的中國,這方面仍處於早期孵化階段。
-
ETL 整合
隨著傳統 ETL 週期的縮短,許多企業正在從 Kettle、Informatica 和 Talend 等工具過渡到新興的 EtLT 架構。這些架構支援批流整合資料整合,並可容納各種新興資料來源。
-
ELT
目前主流大資料架構大多依賴ELT,隨著實時資料倉儲、資料湖的興起,ELT工具也向EtLT架構演進,以增強對實時資料的支援。
-
EtLT
全球範圍內,JPMorgan、Shein、Shoppe等企業都在擁抱EtLT架構。越來越多的企業將內部資料整合工具融入EtLT架構,並搭配批流一體化排程系統,滿足DataOps相關需求。
-
自動化治理
隨著資料來源和實時資料需求的激增,傳統治理流程難以滿足實時分析的及時性要求。自動化治理解決方案有望在未來幾年在企業中得到廣泛應用。
-
ZeroETL
亞馬遜提出了 ZeroETL 的概念,主張各種引擎直接訪問儲存在 S3 上的資料,而無需中間 ETL 過程。
雖然對於不太複雜且資料量較小的資料場景而言是可行的,但有限的場景支援和效能挑戰可能會阻礙更廣泛的採用。
從大趨勢來看,全球資料的指數級增長,加上大規模模型的出現和各種應用的資料引擎的多樣化,使得實時資料整合成為資料格局的最前沿。
如果說資料是新能源,那麼資料整合就是至關重要的管道,資料引擎的普及,意味著對管道效率、資料來源相容性、可用性的要求越來越高。
本文由 白鯨開源 提供釋出支援!