ETL和EAI比較

funnyok發表於2007-02-13
ETL和EAI比較[@more@]整合出來的文章,僅供參考,:)

什麼是EAI?


企業的業務流程會同時涉及到多個應用系統,因此要求這些系統能夠協同,但介面、架構的不統一往往使得這些本應緊密整合的應用系統成為了一個個“資訊孤島”。於是,企業應用整合(Enterprise
Application Integration,EAI)技術應運而生,它可以透過中介軟體作為粘合劑來連線企業內外各種業務相關的異構系統、應用以及資料來源,從而滿足
E-Commerce、ERP、CRM、SCM、OA、資料庫、資料倉儲等重要系統之間無縫共享和交換資料的需要。EAI 涉及技術廣泛,實施複雜。


基本特徵


EAI 的核心是使用中介軟體連線企業應用。有多種不同型別的中介軟體可以提供
EAI 的功能。在選擇 EAI 中介軟體時需注意以下的基本特徵:




* 透過中介軟體將不同的應用連線起來,保證應用的獨立性,在不需要修改應用自身的業務邏輯的同時,又解決了資料共享問題。


* 對核心共享業務資料模型的處理與支援。


* 實現業務流程自動化。確保各個部門在採用不同的系統的同時可以協同完成同一個工作。


* 支援應用架構的不斷變更。可以方便地重新配製以增加或去除系統而不會影響其它系統。


* 能夠提供實時介面和批處理介面,能夠提供同步和非同步介面。


* 必須保證資料的安全,只有目的應用可以讀取。


* 良好的效能和資料吞吐量,並且具有靈活的可擴充套件性以適應企業的發展。


* 必須具備恢復機制,當資料傳輸過程中發生連線中斷等異常時可以確保資料的恢復。


* 對流程管理提供預定義的通用模型與行業模型。


* 既能夠提供實時介面和批處理介面,又能夠提供同步和非同步介面。


* 能夠提供實時介面和批處理介面,能夠提供同步和非同步介面。




五大層面


一個完整的 EAI 解決方案應當包含以下五個層面:




* 使用者互動:實現應用使用者介面統一的接入與安全機制,利用門戶技術進行構建。


* 應用連線:透過 HUB 或匯流排架構,實現應用與應用之間的連線,完成相關的資料路由與資料格式轉換。


* 業務流程整合:實現業務流程管理,包括工作流管理和自動化流程兩個方面。


* 構建整合:這個層面包含兩個部分,一部分是構建與現有應用相容的新應用,另一部分是對現有資源進行重用以適應新環境的需要。


* 資訊整合:實現資料整合,在異構的資料來源之間實現資料層的直接整合。




相關技術


EAI 解決方案通常涉及到 JCA、JMS、Web
服務以及 XML 等多種企業級技術。這些技術都已經成為業界的標準,從而可以最大化地保護客戶投資。這些技術既可以被包含在相關產品中供使用者透明地使用,也可以由使用者自己在應用程式中加以呼叫。此外,SOA(面向服務的架構)隨著各大廠商的追捧而變得炙手可熱。雖然
SOA 本身不是一個全新的概念, 但由於 Web 服務以及網格計算等技術的成熟,SOA 具備了更好的發展條件。對於
EAI 來說,基於 SOA 的企業應用系統可以隨著企業業務的變化而逐漸變化,能夠實現“柔性化”的軟體系統,從而降低實施 EAI 的成本和風險,因此我們可以說 SOA 的興起給了 EAI 廠商一個新的機會。



什麼是ETL?

ETL即資料抽取(Extract)、轉換(Transform)、裝載(Load)的過程。它是構建資料倉儲的重要環節。資料倉儲是面向主題的、整合的、穩定的且隨時間不斷變化的資料集合,用以支援經營管理中的決策制定過程。資料倉儲系統中有可能存在著大量的噪聲資料,引起的主要原因有:濫用縮寫詞、慣用語、資料輸入錯誤、重複記錄、丟失值、拼寫變化等。即便是一個設計和規劃良好的資料庫系統,如果其中存在著大量的噪聲資料,那麼這個系統也是沒有任何意義的,因為“垃圾進,垃圾出”(garbage
in, garbage out),系統根本就不可能為決策分析系統提供任何支援。為了清除噪聲資料,必須在資料庫系統中進行資料清洗。目前有不少資料清洗研究和ETL研究,但是如何在ETL過程中進行有效的資料清洗並使這個過程視覺化,此方面研究不多。本文主要從兩個方面闡述ETL和資料清洗的實現過程:ETL的處理方式和資料清洗的實現方法。


(1)ETL的處理方式

本文所採用的ETL方法是資料庫段區域中的ETL處理方式,它不使用外部引擎而是使用資料庫作為唯一的控制點。由於源系統SQLserver2000是關聯式資料庫,它的段表也是典型的關係型表。成功地將外部未修改資料載入資料庫後,再在資料庫內部進行轉換。資料庫段區域中的ETL處理方式執行的步驟是提取、裝載、轉換,即通常所說的ELT。這種方式的優點是為抽取出的資料首先提供一個緩衝以便於進行復雜的轉換,減輕了ETL程式的複雜度。


(2)ETL過程中實現資料清洗的實現方法


首先,在理解源資料的基礎上實現資料表屬性一致化。為解決源資料的同義異名和同名異義的問題,可透過後設資料管理子系統,在理解源資料的同時,對不同表的屬性名根據其含義重新定義其在資料探勘庫中的名字,並以轉換規則的形式存放在後設資料庫中,在資料整合的時候,系統自動根據這些轉換規則將源資料中的欄位名轉換成新定義的欄位名,從而實現資料探勘庫中的同名同義。


其次,透過資料縮減,大幅度縮小資料量。由於源資料量很大,處理起來非常耗時,所以可以優先進行資料縮減,以提高後續資料處理分析效率。

最後,透過預先設定資料處理的視覺化功能節點,達到視覺化的進行資料清洗和資料轉換的目的。針對縮減並整合後的資料,透過組合預處理子系統提供各種資料處理功能節點,能夠以視覺化的方式快速有效完成資料清洗和資料轉換過程。


ETL 即資料抽取(Extract)、轉換(Transform)、裝載(Load)的過程。它是構建資料倉儲的重要環節。資料倉儲是面向主題的、整合的、穩定的且隨時間不斷變化的資料集合,用以支援經營管理中的決策制定過程。資料倉儲系統中有可能存在著大量的噪聲資料,引起的主要原因有:濫用縮寫詞、慣用語、資料輸入錯誤、重複記錄、丟失值、拼寫變化等。即便是一個設計和規劃良好的資料庫系統,如果其中存在著大量的噪聲資料,那麼這個系統也是沒有任何意義的,因為“垃圾進,垃圾出”(garbage
in, garbage out),系統根本就不可能為決策分析系統提供任何支援。為了清除噪聲資料,必須在資料庫系統中進行資料清洗。目前有不少資料清洗研究和ETL研究,但是如何在ETL過程中進行有效的資料清洗並使這個過程視覺化,此方面研究不多。


本文主要從兩個方面闡述ETL和資料清洗的實現過程: ETL的處理方式和資料清洗的實現方法。


(1)ETL的處理方式


本文所採用的ETL方法是資料庫段區域中的ETL處理方式,它不使用外部引擎而是使用資料庫作為唯一的控制點。由於源系統SQLserver2000是關聯式資料庫,它的段表也是典型的關係型表。成功地將外部未修改資料載入資料庫後,再在資料庫內部進行轉換。資料庫段區域中的ETL處理方式執行的步驟是提取、裝載、轉換,即通常所說的ELT。這種方式的優點是為抽取出的資料首先提供一個緩衝以便於進行復雜的轉換,減輕了ETL程式的複雜度。


(2)ETL過程中實現資料清洗的實現方法


首先,在理解源資料的基礎上實現資料表屬性一致化。為解決源資料的同義異名和同名異義的問題,可透過後設資料管理子系統,在理解源資料的同時,對不同表的屬性名根據其含義重新定義其在資料探勘庫中的名字,並以轉換規則的形式存放在後設資料庫中,在資料整合的時候,系統自動根據這些轉換規則將源資料中的欄位名轉換成新定義的欄位名,從而實現資料探勘庫中的同名同義。


其次,透過資料縮減,大幅度縮小資料量。由於源資料量很大,處理起來非常耗時,所以可以優先進行資料縮減,以提高後續資料處理分析效率。


最後,透過預先設定資料處理的視覺化功能節點,達到視覺化的進行資料清洗和資料轉換的目的。針對縮減並整合後的資料,透過組合預處理子系統提供各種資料處理功能節點,能夠以視覺化的方式快速有效完成資料清洗和資料轉換過程。


ETL與EAI 之間的關係
隨著這種整合的增多,企業資訊系統之間需處理的資料量也將越來越大,資料的傳輸將變得越來越複雜。越來越適合用於這種資料處理的工作,並逐漸挑戰傳統
EAI (enterprise application integration)在系統整合中的地位了。


ETL(extraction, transformation and loading)


最初 ETL 的設計是為了方便建立資料市場和資料倉儲,並將它們升級為批處理方式。而下一代的 ETL 工具則在許多功能上做了擴充套件,使其能夠適用於企業的應用整合,並且其中的一些工具將能夠起到
EAI 某些工具的作用。


但是 ETL 還不能取代EAI,下一代ETL在應用整合領域中還只是EAI的補充。但是隨著ETL技術的發展,企業在建立基於批處理資料倉儲的系統整合工具時,將越來越關注對ETL的選擇,同時EAI和ETL之間的界限也將變得越來越模糊。



ETL與EAI 之間的區別


ETL 工具適合資料整合, EAI 工具則適用於流程操作。


下一代 ETL 工具更加適用於解決兩個系統間資料的批次或者實時同步工作,特別是當大量巨大的資料在兩個系統間提取、轉換和儲存時,
ETL 的優勢更加明顯。 EAI 則適用於工作流和商業流程管理的需求,特別是擅長處理大量小事務。


對於互動式流程,如果它沒有擴充套件工作流的需求,沒有複雜資料的轉換的需求,或者需要批次實時資料的合併處理,則工具將是比較好的選擇。
ETL


ETL 工具比較適合於資料整合的工作,如應用系統之間的資料同步和點對點的單步互動工作;需要實時資料處理的工作中包含了大量的資料處理、複雜的資料傳輸和資料運算,它同樣適合採用
ETL 工具。


上面這些工作,即便是有些具體的處理需要透過 EAI 工具程式設計實現,我們還是可以用 ETL 中的工具來處理。因為 ETL工具主要是透過關係型資料庫來實現大量資料操作的,所以使用這類工具來傳輸大塊的資料將取得更好的效果。


EAI 工具無疑是最適合流程整合的工具,如果流程中包含了大量的傳輸,那麼它就必然包含了對業務流程的管理和實時互動的流程。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3137/viewspace-899344/,如需轉載,請註明出處,否則將追究法律責任。

相關文章