從 ETL 到 NoETL 的數(shù)據(jù)架構演進——Denodo 的創(chuàng)新解決方案
一、數(shù)據(jù)架構的演變背景介紹
在探討數(shù)據(jù)架構演變之前,先來看一下當前數(shù)據(jù)使用的趨勢。
從多個數(shù)據(jù)研究機構(如 IDC、IDG、Gartner 等)的統(tǒng)計數(shù)據(jù)來看,數(shù)據(jù)量的膨脹是不可避免的趨勢。與此同時,數(shù)據(jù)種類也日益增多。在傳統(tǒng)的 ETL 時代,企業(yè)可能僅依賴少數(shù)幾種數(shù)據(jù)庫類型,但如今,分布式數(shù)據(jù)架構、云上數(shù)據(jù)等多種形式,使得大企業(yè)面臨著平均多達四百多種不同類型的數(shù)據(jù)源,以滿足企業(yè)分析需求。
另一個顯著趨勢是數(shù)據(jù)的民主化,也稱為自主服務,越來越多的客戶期望將數(shù)據(jù)交給業(yè)務單位(BU)進行自主分析。過去,數(shù)據(jù)倉庫(數(shù)倉)或商業(yè)智能(BI)項目大多由 IT 部門主導,但這種方式已逐漸難以滿足用戶需求,因為用戶期望能夠自主獲取和分析數(shù)據(jù),而不僅僅依賴于預設的報表或有限的維度數(shù)據(jù)。
回顧數(shù)據(jù)架構的演變歷程,早期數(shù)據(jù)缺乏集中管理,直至 20 世紀 90 年代,進入數(shù)倉時代,ETL 開始在企業(yè)中發(fā)揮重要作用。進入 2000 年后,隨著數(shù)倉的建設成本及企業(yè)數(shù)據(jù)量、種類的不斷增加,如物聯(lián)網(wǎng)(IoT)數(shù)據(jù)的出現(xiàn),數(shù)據(jù)湖等概念應運而生。盡管數(shù)據(jù)湖允許企業(yè)將數(shù)據(jù)以原始格式存儲在數(shù)據(jù)庫中,但這也導致了數(shù)據(jù)分散的問題,即使有數(shù)據(jù)倉庫、數(shù)據(jù)湖的存在,企業(yè)仍面臨跨系統(tǒng)數(shù)據(jù)整合的挑戰(zhàn)。到了 2010 年代,Gartner 提出了邏輯數(shù)據(jù)倉庫的概念,即未來的數(shù)據(jù)倉庫可以是邏輯上的概念,而不一定需要將所有數(shù)據(jù)實際存儲在一個物理存儲體中,這是數(shù)據(jù)管理模式的重大轉變。
當提及這一概念時,Denodo 提出一個簡潔的口號:“停止收集,開始連接”。以往企業(yè)致力于收集數(shù)據(jù),將不同平臺、系統(tǒng)的數(shù)據(jù)匯聚至一個物理倉儲,用于分析,而無論采用數(shù)倉還是數(shù)據(jù)湖等方式,基本都需開展ETL工作。然而當邏輯數(shù)倉概念出現(xiàn)后,我們開始思考是否能夠轉變思路,不再執(zhí)著于將所有數(shù)據(jù)收集整合,而是優(yōu)先嘗試建立連接,至于為何如此,后續(xù)將進一步探討。
傳統(tǒng) ETL 旨在解決數(shù)據(jù)孤島問題,即將不同系統(tǒng)的數(shù)據(jù)整合到一個統(tǒng)一的分析平臺。然而,ETL 在實際應用中存在一些問題。例如,在企業(yè)合并時,原有的 ETL 系統(tǒng)往往難以復用,需要重新構建。
無論是 ETL 還是 ELT,都有眾多工具可以實現(xiàn)高效的批量數(shù)據(jù)轉移,大多數(shù)企業(yè)都有能力在內部實施。但其也存在流程復雜,時間和人力成本較高等問題。
二、NoETL 的概念與架構
NoETL 概念的產(chǎn)生源于實際需求。
從數(shù)據(jù)使用困境來看,傳統(tǒng)的數(shù)倉和數(shù)據(jù)復制搬移集成方式在面對企業(yè)數(shù)字化轉型過程中的新需求時顯得力不從心。例如,業(yè)務部門提出的一次性問題或基于外部趨勢的臨時性分析需求,通過傳統(tǒng) IT 方式響應時間過長且實際效用不大。此外,大量未知數(shù)據(jù)(如第三方或政府發(fā)布的一次性數(shù)據(jù))難以通過傳統(tǒng) ETL 方式整合,以及數(shù)據(jù)科學家在探索創(chuàng)新過程中所需的外部數(shù)據(jù)也難以融入傳統(tǒng) ETL 架構。
在實際工作中,許多數(shù)據(jù)具有臨時性,有時并不需要持久存儲。面對臨時性需求以及探索性需求,采用 ETL 方式將數(shù)據(jù)加載到一個地方后用戶才能使用,這種做法極為繁瑣。此外,為滿足簡單或短暫需求而進行數(shù)據(jù)搬移時,所需的能力成本和維護成本相當高昂。例如,一個數(shù)倉可能包含數(shù)千甚至上萬張表,但實際上并不知道哪些數(shù)據(jù)正在被使用,可能為了每月僅查看一次的內容而每天搬運數(shù)據(jù),合理性存疑。
“NoETL” 概念正是針對這一問題,通過數(shù)據(jù)虛擬化和實時處理等技術,避免傳統(tǒng)的加載流程,無需把大量數(shù)據(jù)復制到數(shù)倉或數(shù)湖。
從架構角度來看,以往要做一個分析系統(tǒng),需要執(zhí)行的ETL 操作可能涉及更多環(huán)節(jié),如 Stage、Data Warehouse、Data Mart 等等,一直到前端呈現(xiàn),整個流程頗為冗長。而虛擬化技術(它可視為 NoETL 的一種實現(xiàn)方式),其特點在于不再進行層層的數(shù)據(jù)搬移,前端使用者能夠實時查看數(shù)據(jù)并且進行整合操作。如前所述,“NoETL”的關鍵差異在于數(shù)據(jù)是否需要加載到存儲中,它也需要進行數(shù)據(jù)轉換(transformation),并且特別注重即時服務,這是該架構的核心需求。
接下來,將進一步介紹 Denodo 對數(shù)據(jù)虛擬化的實現(xiàn),隨后也會探討不同廠商在“NoETL”技術應用方面存在的差異。
三、數(shù)據(jù)虛擬化
Denodo 是一個邏輯上的軟件平臺,其面向的數(shù)據(jù)消費者可通過各種 BI 工具或 API 進行操作,背后涉及龐雜的數(shù)據(jù)類型。Denodo 能夠連接 200 多種不同的數(shù)據(jù)源,這些數(shù)據(jù)源種類繁雜,隨地區(qū)、國家及產(chǎn)品而異。
在邏輯架構方面,所有實體可對應到邏輯上的一張視圖(view),其可能對應的是 Oracle表、SAP 的 API、Kafka 的主題或云上 API 等等。接著,類似于 ETL 中的抽?。╡xtraction)環(huán)節(jié),Denodo 會讀取這些數(shù)據(jù),之后進行轉換(transform),多數(shù) NoETL 工具廠商采用 SQL 進行開發(fā),Denodo 本身也基于 SQL。相比傳統(tǒng) ETL,NoETL 工具對技術能力的要求大大降低,因為熟悉 SQL 語法的人員較多。
Denodo 存在業(yè)務層與邏輯層,類似于數(shù)據(jù)倉庫中的各環(huán)節(jié),如清洗層、轉換層、星型模式(star schema)直至報告層等等,在邏輯概念中同樣存在,只是表現(xiàn)為衍生的派生圖(derived view),通過建立視圖來滿足不同需求。
數(shù)據(jù)消費者下達 SQL 或 API 查詢后,Denodo 會解析 API 或 SQL,依據(jù)業(yè)務語義層確定所需數(shù)據(jù)源,解析邏輯語法后從不同數(shù)據(jù)庫抓取必要的數(shù)據(jù)并整合,消費者無需依賴 IT 整理業(yè)務需求。例如上圖案例中,涉及到營銷平臺上的營銷活動數(shù)據(jù)、數(shù)據(jù)倉庫中的消費數(shù)據(jù),通過 Denodo 可以實現(xiàn)整合分析。
不過,在實際運營中,由于需從不同數(shù)據(jù)源獲取數(shù)據(jù),可能面臨性能問題。為此,可根據(jù)業(yè)務需求設置緩存(cache),如日常報表可使用緩存提升性能,臨時緊急需求可通過指定參數(shù)直接獲取原始數(shù)據(jù)。在 AI 使用場景下,如數(shù)據(jù)科學家進行全量模式分析且數(shù)據(jù)量巨大時,可調用外部 MPP 引擎協(xié)助運算。
當前市場上虛擬化工具眾多,事實上,虛擬化技術并非近年才出現(xiàn),就 Denodo 而言,公司自 1999 年起的 25 年來一直從事相關業(yè)務。只是近年來,傳統(tǒng) ETL 相關需求發(fā)生了變化,使得虛擬化技術受到更多關注。
Gartner 指出,虛擬化主要由以下幾類廠商提供:其一為獨立廠商,專門打造相關機制;其二是傳統(tǒng) ETL 即數(shù)據(jù)集成廠商,他們也具備提供部分此類能力;其三則是數(shù)據(jù)庫廠商,憑借數(shù)據(jù)庫連接能力擴展虛擬化功能;此外,部分報表工具和 API 工具也具備部分數(shù)據(jù)虛擬化能力。不同廠家產(chǎn)品各具優(yōu)劣,具體取決于應用場景。例如,若企業(yè)已有 ETL,可根據(jù)自身需求選擇是否采用獨立的專門工具來實現(xiàn)虛擬化功能。
一般而言,提供部分虛擬化能力或擴展虛擬化能力的廠商,在安全、建模、數(shù)據(jù)目錄、自助服務等方面缺乏能力,或者缺乏基于 Presto 的 MPP 引擎,相對來說耗費資源、成本高昂、數(shù)據(jù)交付速度緩慢,無法在復雜的數(shù)據(jù)生態(tài)中高效運作。Denodo 是數(shù)據(jù)虛擬化當之無愧的全球領導者,多年蟬聯(lián) Gartner 數(shù)據(jù)集成工具魔力象限領導者位置、Forrester 企業(yè)數(shù)據(jù)編織領導者位置。
ETL 與虛擬化在數(shù)據(jù)領域存在緊密關聯(lián),二者均屬于數(shù)據(jù)集成范疇,在 Gartner 的分類中也有所體現(xiàn)。倘若當前需求側重于大量數(shù)據(jù)復制以及歷史數(shù)據(jù)累積,比如某些系統(tǒng)即便能連接原始數(shù)據(jù),但交易數(shù)據(jù)存儲時長有限(如僅一兩年),仍需進行累積,并且涉及復雜的清洗轉換工作,例如執(zhí)行數(shù)據(jù)質量檢查或復雜運算時,建議采用 ETL 架構來實施。
而數(shù)據(jù)虛擬化則可以簡化數(shù)據(jù)訪問。以往獲取數(shù)據(jù)可能需要訪問諸多數(shù)據(jù)源,且在 Hadoop 上的認證等設定極為復雜。而通過 Denodo,可以提供統(tǒng)一視圖,這類似于構建了企業(yè)整體的概念性業(yè)務模型,其背后可融合結構化與非結構化數(shù)據(jù)庫。如果企業(yè)中有實時性報表及分析需求,那么數(shù)據(jù)虛擬化技術將更具應用價值。
傳統(tǒng) ETL 項目與數(shù)據(jù)虛擬化項目相比有諸多差異值得關注。
首先,傳統(tǒng) ETL 所實施的項目穩(wěn)定性相對較高,而虛擬化的優(yōu)勢則體現(xiàn)在執(zhí)行速度較快。從成本角度來看,無論是專業(yè)工程師人力成本還是應急投資成本等均是需要考量的因素。Forrester 曾進行分析,結果顯示采用數(shù)據(jù)虛擬化技術后,項目交付時間大幅縮短,約減少了 65%。同時,我們面臨著模型頻繁變動的情況。例如一個數(shù)據(jù)倉庫模型可能經(jīng)過一兩年構建完成,但不久后便需再次調整,這凸顯了靈活性的重要性。而虛擬化項目在靈活性上更具優(yōu)勢。另外,在跨國客戶場景中,還會遇到數(shù)據(jù)復制受限的問題,比如一些跨國企業(yè)就面臨此類情況。在可靠性方面,由于網(wǎng)絡因素影響,原始數(shù)據(jù)可能受到?jīng)_擊,若要確保虛擬化項目中數(shù)據(jù)可靠,存在一定難度。并且對于復雜的清洗工作,可能仍需借助 ETL 來完成。最后,數(shù)據(jù)的新鮮度也是一個要點,虛擬化項目中的數(shù)據(jù)更接近實時。
四、數(shù)據(jù)虛擬化的實際應用案例
接下來將簡要介紹一些案例,旨在讓大家了解如何運用 NoSQL 來解決問題。Denodo 本身具備諸多關鍵技術,有著廣泛的應用場景。這些案例展示了使用 Denodo 產(chǎn)品所達成的成果。在許多情況下,Denodo 所扮演的角色類似于商業(yè)智能工具,能夠為數(shù)據(jù)科學家和業(yè)務用戶等提供支持。
第一個案例是國內一家新能源車制造廠商,其業(yè)務涉及工廠的一次性扣料相關工作,由于擁有多個不同的工廠和庫房,在生產(chǎn)線上處理此類事務時面臨挑戰(zhàn)。過去,他們采用傳統(tǒng)的 ETL 方法,后續(xù)雖然使用了低代碼平臺,但仍需編寫代碼。而使用 Denodo 處理相同業(yè)務、整合不同數(shù)據(jù)時,完全采用無代碼的拖拉方式,就能實現(xiàn)跨數(shù)據(jù)源及不同數(shù)據(jù)種類的轉換。
這個案例是一家臺灣的工業(yè)電腦廠商。該廠商希望構建一個企業(yè)級數(shù)據(jù)庫,因為他們認為數(shù)據(jù)庫可集中存儲所有所需數(shù)據(jù)。他們的平臺連接了三十多種數(shù)據(jù)源,涵蓋 DB、MES 等生產(chǎn)線工廠數(shù)據(jù)以及外部 API 數(shù)據(jù),并且還和臺灣、內地及國外的一些工廠相連。起初,這個廠商曾期望構建一個數(shù)據(jù)湖,但最終采用了通過 Denodo 進行連接的邏輯架構,這種架構如同中央廚房一般,可將各類數(shù)據(jù)源視作產(chǎn)地直售的產(chǎn)品,數(shù)據(jù)進入后進行業(yè)務名詞定義、產(chǎn)品分類(domain)以及其他業(yè)務分類,最終由數(shù)據(jù)消費者自主使用數(shù)據(jù)。
從全球領先的車輛租賃和車隊管理企業(yè)案例中可以看到其具備傳統(tǒng) ETL 遷移數(shù)倉的特點,并且在整個企業(yè)與消費者之間,通過一種邏輯架構來實現(xiàn)數(shù)據(jù)編織。
數(shù)據(jù)編織對于集團型企業(yè)具有顯著優(yōu)勢。如前文所述,對于大型企業(yè),鑒于其在全球范圍內設有多個數(shù)據(jù)中心的情況,借助 Denodo 平臺能夠實現(xiàn)各數(shù)據(jù)中心的串聯(lián)。如此一來,企業(yè)內的任何業(yè)務單位,無論身處何地,均可訪問全球范圍內的數(shù)據(jù)。
某些政府單位會做得更復雜一些。如新加坡政府各個部門通過 Denodo 平臺將不同的數(shù)據(jù)進行串聯(lián),實現(xiàn)了數(shù)據(jù)的即時整合與訪問,這種方式被稱為數(shù)據(jù)合并(Data Merge)。在這一過程中,并不需要將所有部門的數(shù)據(jù)物理地遷移至 Denodo 中存儲,而是在需要使用數(shù)據(jù)時,才從各自部門中調取所需信息。
五、未來發(fā)展與展望
在最后一個章節(jié)中,將探討對未來發(fā)展的展望。
目前,通過使用 Denodo 平臺,我們能夠實現(xiàn)實時數(shù)據(jù)訪問,減少數(shù)據(jù)復制,并擴大數(shù)據(jù)覆蓋范圍。同時,還可以建立一套完整且嚴格的數(shù)據(jù)安全治理體系。這是當前數(shù)據(jù)虛擬化的現(xiàn)狀,那么未來的發(fā)展趨勢是怎樣的呢?
首先,我們必須繼續(xù)強化實時數(shù)據(jù)處理的能力。隨著數(shù)據(jù)種類和類型的日益增多,我們面臨的需求也更加復雜,因此需要實施更長期的數(shù)據(jù)生命周期管理和推進數(shù)據(jù)自主化。當然,也會有更多的人工智能技術被引入,以支持非技術用戶也能輕松訪問和理解數(shù)據(jù)。特別是檢索增強生成技術(RAG)的應用將成為重要趨勢。在臺灣,一些企業(yè)客戶已經(jīng)開始探索這一領域,例如,用戶可以通過以自然語言與聊天機器人對話的方式來獲取所需數(shù)據(jù)。
綜上所述,ETL 與 NoETL 的主要區(qū)別在于數(shù)據(jù)的實時性和靈活性。展望未來,Denodo 的發(fā)展方向將逐步轉向利用 AI 技術提供輔助。值得注意的是,NoETL 并非旨在完全取代傳統(tǒng)的 ETL 方法,而是提倡企業(yè)在數(shù)據(jù)管理實踐中結合兩者的優(yōu)點,靈活運用實時數(shù)據(jù)處理與批處理技術,以實現(xiàn)更加高效的數(shù)據(jù)管理策略。我個人認為,NoETL 的概念并不是否定 ETL 的重要性,而是強調在數(shù)據(jù)整合領域,除了 ETL 之外,還有其他方法和技術可以利用,以適應不斷變化的數(shù)據(jù)環(huán)境和業(yè)務需求。
感謝各位的聆聽,謝謝!
六、Q&A
Q1:請問在 Denodo 中跨多種數(shù)據(jù)源的復雜關聯(lián)查詢是如何實現(xiàn)并保證查詢性能的?
A1:在 Denodo 長達 25 年的技術積累中,有一個在本次分享中未詳細討論的重要技術點,即查詢優(yōu)化。在之前的介紹中,我們提到了一張說明圖,該圖展示了如何將業(yè)務語義層的請求優(yōu)化至不同的數(shù)據(jù)源中提取數(shù)據(jù)。這是 Denodo 的一大核心優(yōu)勢所在。面對海量數(shù)據(jù),如果沒有高效的優(yōu)化機制,在數(shù)據(jù)源層面進行必要的整理和轉換后再在平臺上進行整合,往往會成為性能的瓶頸,導致大量不必要的數(shù)據(jù)遷移。
得益于在該領域多年的深耕細作,Denodo 的獨特之處在于其強大的查詢優(yōu)化器,能夠確保在分布式數(shù)據(jù)架構中快速獲得所需結果,而無需大規(guī)模移動數(shù)據(jù)。
Q2:展望未來,您更看好傳統(tǒng)的 ETL 還是更加靈活的 NoETL 方向的發(fā)展?在整體主流趨勢上,您認為將更偏向于哪一方?
A2:我強調選擇 ETL 或 NoETL 應基于具體的業(yè)務需求場景。正如之前提到的,包括 Denodo 在內的許多現(xiàn)有客戶都在使用 ETL。我認為 ETL 是企業(yè)基礎架構的一部分,是不可或缺的。然而,隨著業(yè)務需求的多樣化和創(chuàng)新,NoETL 的應用場景將會逐漸增加。但是,對于那些不需要通過數(shù)據(jù)創(chuàng)造更多價值和收入的機構來說,它們可能不會強烈感受到采用 NoETL 的必要性,比如一些政府部門只需要制作日報、月報。
Q3:請問在語義管理過程中需要大量的人工進行配置嗎?
A3:以臺灣某客戶的項目為例,該項目并未擴大團隊規(guī)模,而是完全依靠現(xiàn)有的IT 人員完成。Denodo 憑借其在該領域近二十年的經(jīng)驗,不僅提供了強大的工具支持,還帶來了一系列成熟的產(chǎn)品方法論。例如,在構建不同的域和應用層時,Denodo 提供了一套實施架構指導,幫助用戶高效完成項目。在這個過程中,確實需要進行一些業(yè)務定義工作,這部分工作通常需要人工完成,因為在早期階段,系統(tǒng)中往往未保存這些信息,且相關信息可能分散在多個業(yè)務系統(tǒng)中,需要手動收集。值得一提的是,Denodo 現(xiàn)已通過 AI 技術的整合,能夠對表結構或 SQL 查詢提供初步建議。這意味著,用戶不必從零開始構建語義層,而是可以通過 AI 快速獲得基礎建議,之后再根據(jù)具體情況進一步討論和調整。這種方式大大減少了初期的工作量,尤其是在數(shù)據(jù)治理方面,盡管最終仍需人工審核和確認,但 AI 的介入顯著提升了效率和準確性。