馬 將,楊學敏,2
(1.唐山學院網絡教育中心,河北唐山 063000;2.北京科技大學信息學院,北京 100083)
一種基于T-ETL架構的多源異構數據集成方案
馬 將1,楊學敏1,2
(1.唐山學院網絡教育中心,河北唐山 063000;2.北京科技大學信息學院,北京 100083)
在分析主流數據集成方法的基礎上,結合我校數字化校園建設過程中的具體實踐,提出了一種基于T-ETL的復合式數據集成方案,從而解決了各部門業務系統之間的數據互通問題。研究表明,該方案能保證數據的實時性,降低數據傳輸開銷,消除數據交換中的性能瓶頸和安全隱患,提高了系統的整體性能。
異構數據源;數據聯邦;數據集成
隨著信息化進程的推進,高校各系部紛紛建立了自己獨立的應用系統,這些系統的數據層分散于各個網絡節點,并存在于不同的硬件系統、操作系統乃至不同的數據庫系統中,系統之間彼此獨立,形成了一個個“信息孤島”。由于沒有統一的數據視圖,無法實現信息的共享,嚴重阻礙了校園信息化的進程。
解決這一問題的出路在于實現數據集成。數據集成的核心任務是將互相關聯的分布式異構數據源集成到一起,使用戶能夠以透明的方式訪問這些數據源,并支持不同數據庫系統之間的相互操作,其目的在于屏蔽底層不同的數據源,使用戶不必考慮底層數據模型、系統環境、數據平臺不同等問題,在保證數據完整性、消除數據冗余的同時,能夠通過統一的訪問接口實現對網絡上異構數據源的靈活訪問。
隨著高校數字化的不斷發展,校園信息集成要求能夠無縫集成來自多個異構數據源的結構化、半結構化和非結構化數據。數據源包括關系型數據庫、文件系統、圖像及文檔資源庫之類的數據存儲系統,而且必須很好地支持標準元數據交換、模式映射,并且支持標準數據傳輸格式。這就對信息集成解決方案提出了更高的要求。目前實現信息集成解決方案主流的兩種模式是數據倉儲和數據聯邦。
1.1 數據倉儲
這種模式首先從一個或多個數據源中抽取數據,并對數據進行必要的處理,最終將數據存儲到目標數據倉庫中。最終操作將針對目標數據倉庫中的數據進行。這種模式通常包含 ETL(Extraction2Transformation2Loading)和數據倉庫技術。另外一種變體就是數據復制,它的基本要求是源數據庫和目標數據庫要有完全相同的數據結構(包括數據類型也要完全兼容,否則是無法完成復制的)[1]。這種模式的代表產品如IBM webSphere DWE,Data Stage及Replication Server。該模式支持復雜的數據轉換,適合頻繁查詢的“熱數據”,性能可預測性較高,但實時性依賴于數據更新周期,數據更新周期越短實時性越高。另外,ETL過程本身存在與數據源數據同步的問題,難以支持數據更改。ETL過程的框架結構圖如圖1所示。

圖1 ETL過程的框架結構
1.2 數據聯邦
數據聯邦是在維持各異構數據庫自治的前提下,在數據層對多源異構的成員數據庫進行部分集成,并提供對異構成員數據庫的共享和透明訪問,而數據仍然保留在它原來的存儲位置。聯邦技術能夠統一地訪問以任何模式存儲的數字信息,具有透明性、異構性、底層聯邦數據源的自治性、可擴展性和開放性等主要特征。采用 EtaMatrix,Wrapper或Aqualogics這樣的數據聯合器,就不再需要構建集中式數據倉庫。數據訪問指令進而轉換為數據源所支持的SQL,通過數據源的客戶端提交執行,然后將結果返回給信息集成服務器處理。聯邦數據服務器帶有一個標準的數據庫系統,用于管理全局數據字典[2]。這種模式的代表產品如 IBM Web-Sphere Federation Server。
數據聯邦模式由于沒有本地數據存儲,缺乏統一的中心數據庫實體,故其每次處理用戶請求都需要實時從數據源獲取數據,這樣比較容易保證與數據源的數據同步,從而能容易地支持數據更改,但集成時需要在相關數據源間建立鏈接,當集成數據源數量眾多時,加入新的數據源就需要建立大量的鏈接,數據傳輸量大,其可用性不僅依賴于聯邦服務器,還依賴于數據源及網絡的可用性。再者,數據聯邦也無法處理某些數據轉換和清洗[3]。
高校數字校園的數據集成平臺是一個面向應用、安全可靠、操作便捷、技術先進、規范統一、靈活、可擴展的數據庫平臺,為學校提供高效的共享平臺和開放的數字化環境。異構數據集成平臺主要解決如下幾個技術問題。①屏蔽多源異構數據:建立一個全局的模型,實現透明訪問能力。②數據類型匹配:局部數據源對數據類型的描述可能是不同的,那么就要在全局模式下進行區別與識別,并進行統一的匹配與表示。③查詢的分解與轉換:集成系統應能將全局查詢分解成為針對不同數據源的局部查詢,并轉換成為針對局部數據源的查詢語言。
3.1 設計思路
鑒于數字校園對數據集成的較高要求,單一的集成方法不能滿足實際需求,這就需要將兩種模式進行組合,彼此取長補短,從而提供數字校園最佳的信息集成解決方案。
3.1.1 數據標準
數據標準主要包括了數據庫開發標準、編碼標準以及信息標準。其中數據庫開發標準主要指在開發過程中所用到的開發標準,如數據庫表的命名約束、存儲過程、自定義方法等標準;編碼標準是在所有系統中涉及到的數據的編碼標準,在編碼標準中除了依據國家相關的編碼標準命名之外還要結合各個應用定義自己的編碼標準;信息標準主要指各種公用數據的命名規范、格式等。
數據的標準化和數字格式表示的一致性是數字化校園建設的重點,更是復合式數據集成方案實施的基礎,必須圍繞標準實體間的層次隸屬關系和元數據信息進行設計和建模。
3.1.2 增量數據的ETL過程
利用數據源的增量數據對數據倉庫進行維護,可以有效地提高ETL效率。現有通用 ETL工具在增量抽取方面存在一些問題,如不能抽取多個異構數據源的增量數據以及在處理增量數據時造成數據丟失的異常問題。
當前針對數據倉庫增量式刷新的文獻中,關于實現增量式維護的方法一般都基于已經獲取了的增量數據源。但是,不同的數據源類型和具體的數據倉庫環境,其增量數據捕獲的方式也有所不同。常用的捕獲數據源變化數據方式可分為兩類:一是從專門的輔助表中獲取,獲取完畢后刪除該輔助表中的數據,如觸發器方式、快照方式等;另外一類是通過某種方式直接從數據源中獲取,如時間戳方式、日志方式等。
3.2 框架結構
基于高校的實際需求,可以采用圖2的方案。框架中的中心數據庫是共享數據中心的核心部分,它通過配套的工具和服務從數據源中抽取共享數據,保存了通過 ETL工具抽取自各數據源的且處理過的全部數據信息,達到擁有統一和全局的數據模式和數據結構。

圖2 基于T-ETL架構的異構數據集成平臺框架
在該用例中,將數據聯邦模式部署在數據倉儲模式之前,構成了一種T-ETL的架構,該架構具有能夠充分利用數據聯邦模式集成異構數據源的能力。圖2中所示的ETL工具沒有提供數據源3對應的接口,而聯邦服務器能夠集成該數據源,這樣能夠擴展數據倉儲模式的集成范圍,而且通過部署聯邦服務器有可能降低ETL的數據傳輸量。由于數據源數據量龐大,數據倉儲模式不一定需要從數據源獲取所有數據,故需要對數據進行過濾,只獲取必需的數據存儲在本地數據倉庫中。部署在前端的聯邦服務器可以對數據進行初步的過濾,從而降低ETL數據傳輸量,而且數據聯邦模式中有些產品能夠實現不同數據源數據的連接操作。如IBM Websphere Federation Server能夠支持多個數據源數據的連接。而數據倉儲模式中的ETL工具通常只能將連接下推到單個同構的數據源,而無法支持多數據源的連接。正是由于這個原因,ETL產品在執行連接處理之前,需要先從多個數據源提取數據,并將數據裝載到一個目標數據倉庫中。通過在前端部署聯邦服務器能夠利用數據聯邦模式的這一能力,通過靈活組合使ETL開發人員可以選擇最適當的方式來達到數據整合目的。如圖2所示,通過聯邦服務器可以實現對數據源2和數據源3的連接操作,而不需要將數據源2和數據源3中的數據全部集中到數據倉庫中來進行連接操作。
本文所采用的ETL工具為 Kettle ETL,它是一款純Ja-va編寫的開源ETL工具。Kettle可以通過網絡遠程獲取數據,并控制其上數據庫信息的流動,利用工具本身的緩沖區為雙方數據庫搭橋。Kettle中的腳本文件transformation完成針對數據的基礎轉換,job腳本則完成整個工作流的控制[4]。對于簡單的清洗,如數據類型、數據長度、精度、刻度等,可以直接將各種輸入步驟的列字段的數據類型設置正確,同時在錯誤處理中忽略錯誤。“過濾”步驟可以簡單的將符合某個條件的數據過濾。對于自定義的清洗需要在各種輸入步驟中將所有的字段都設置為String,這樣可以讀取到所有的數據,再使用javascrip t步驟來寫具體的腳本。此外還可以利用正則表達式進行數據匹配,通過“數據庫查詢”“映射”“流查詢”這3步,將不符合規范的數據轉換為符合要求的數據[56]。
聯邦數據庫系統是一個分布式的數據庫環境,對于終端用戶和應用程序來說可以把它看做一個虛擬數據庫。Web-Sphere Federation Server9.0提供了放置、發布、集成、搜索、清除以及訪問數據的功能和特性。聯邦者想從遠程數據庫獲取數據,它需要關聯到該服務器上的數據類型映射和函數映射,如同其它客戶機程序那樣進行認證。“用戶映射(U ser Mapping)”提供了建立數據請求憑證的機制,將本地db2用戶標識映射到遠程服務器上的用戶標識。
研究表明,在域間距離、數據傳輸量、訪問連接次數等參數一致的前提下,基于 T-ETL架構的異構數據集成平臺在較大文件的數據訪問中能表現出較高的綜合性能,額外開銷的影響也逐漸減弱,跨域數據傳輸的性能逐漸逼近域內傳輸的性能。表1列出了基于T-ETL架構的異構數據集成平臺的集成性能分析。與單一的數據集成方案相比性能更加穩定,存取效率高,吞吐量大,安全性好,易于擴展,能夠滿足集成數據的動態變化,更加符合當前我校數字校園數據集成方面的實際需求。

表1 基于T-ETL架構的異構數據集成平臺的集成性能分析
數據集成為應用集成提供了重要基礎,是實現共享數據中心、構建數字校園的關鍵環節。本文結合高校數字化建設的特點,借鑒企業主流數據集成方案,設計了這種高性能復合式的集成平臺。基于T-ETL架構的異構數據集成平臺不是兩種集成技術的簡單組合,而是在分析高校數據集成需求及現狀的基礎上,對兩種集成技術的整合和最優化配置。今后還應該在數據中心的基礎上,研究主題數據庫和OLAP數據庫的抽取,完成整個共享數據中心數據集成平臺的框架設計和實現。
[1] 張寧,賈自艷.數據倉庫中 ETL技術的研究[J].計算機工程與應用,2002(24):213-216.
[2] 趙英杰.數據網絡中聯邦數據服務關鍵技術的研究與實現[D].國防科學技術大學,2005(11).
[3] 李俊,李勇.聯邦式異構數據庫應用系統的集成框架和實現技術的研究[J].計算機應用研究,2001,4(4):19-21.
[4] 深圳市神盾信息技術有限公司.Kettle 3.0用戶手冊[S].2008.
[5] 郭志懋,俞榮華.一個可擴展的數據清洗系統[J].計算機工程,2003(3):95-98.
[6] Ralph Kimball,Margy Ross.The Data warehouse ETL Toolkit:Practical Techniques fo r Extracting,Cleaning, Confo rming,and Delivering Data[J].John Wiley and Sons,2002:238-268.
(責任編校:夏玉玲)
Solution of the Multi-source Heterogeneous Data Integration Platform Based on T-ETL Framework
MA Jiang1,YANGXue2min1,2
(1.Netwo rk Center Tangshan College,Tangshan 063000,China;2.Information College Beijing University of Sci-ence&Technology,Beijing 100083,China)
After analyzing the main way of data integration,a compound solution based on T-ETL architecture is proposed with regard to the process of digital campus construction practice,which resolves the business interoperability issues in different business system s.Research show s that this framework can guarantee real-time property of data transmission,decrease spending,remove performance bottleneck as w ell as potential safety hazard and imp rove the overall performance.
heterogonous data sources;data federate;data integration
TP311.13-
A
1672-349X(2010)06-0051-03
2010-10-12
唐山市教育科學研究十一五規劃立項課題(TSYB065)
馬將(1984-),男,助教,碩士,研究方向為數據集成與中間件技術。