透過SQL與XML,將異質資料整合成單一資料觀點
聯合資料庫的延伸
與XML的整合
Wrapper的擴充性與開發環境

資訊整合是IBM的隨選運算藍圖三大元素之一。資料整合的方式分為本機的資料合併和分散式來源的整合,資料合併交由ETL(Extract、Transform、Load)和複製工具合併,供生產性的應用、資料倉儲和作業型的資料儲存,而分散式來源的整合會使用EII(Enterprise Information Integration)目錄合併技術,用在即時的資料查詢,如股票報價、現有存貨。

資訊整合的目標主要是針對資料來源、資料格式、資料查詢方式的統整,目前本機與企業內部網路之間,或遠端透過網際網路存取單一資料來源,是一件很普遍而且重要的企業應用。資料格式分為結構化的關聯式資料庫或非關聯形態資料,及非結構性的文字檔、電子郵件等各種零散的資料來源;查詢資料時,關鍵字逐一搜尋是最基礎的檢索方法,擷取大量資料內容時,就必須透過結構化查詢語言(SQL)、XML的XQuery,Web Services或資料格式專用的API等方式,取得資料搜尋結果。DB2 Information Integrator的目的就是要將資料來源、格式、查詢,無論是聯合(Federation)或是合併置放(Consolidation and Placement)後,以現有的各種方式存取異質資料。

資料的分散式或集中化存取與查詢,很難去論斷其優劣與否,由於企業無法輕易改變現有的IT環境,Information Integrator使異質資料操作環境能夠彼此對應、轉換和快取,透過商業含義、關係、位置、格式等中間資料(Meta Data)的敘述的一致性,通盤解決所有的資料溝通問題。在資料聯合與合併兩者之間,不必然得選一邊站,資料聯合受限於先天被遠端網路與伺服器運算能力的差異,無法百分之百保證效能,但是資料聯合增加了資料合併的資料來源與目標,相對地資料合併採用的副本與快取機制,則彌補了前述資料聯合的不確定性。

DB2 Information Integrator能對應與轉換的資料類型,包括關聯式資料庫:DB2、Infomix、Oracle、Sybase、Microsoft SQL Server、Teradata、及ODBC的資料來源;檔案格式如結構化的XML、Excel、OLE DB及非結構化的文件檔、特殊格式的科學資料與生命科學需要的函數資料;應用程式的資料來源,如Web Services;Lotus Extend Search來源,如Domino的內容儲存庫、電子郵件資料庫與LDAP目錄。而快取的雙向存取資料,可以應用MQT(Materialized Query Table)手動設定處理快取機制。資料的複製用於將資料置入作業型資料儲存(Operational Data Store,ODS),或在中央與衛星系統內的子集資料庫間散布資料,並不是指複雜的逐一資料轉換與搬移,而是即時性資料互動傳送需求。

聯邦式的聯合資料庫為企業建立單一、整合的資訊儲存外觀,將原始位置與格式隱藏在標準查詢介面後,對使用者來說就像只有單一資料庫來源一樣。聯邦式資料庫的系統結構,包括要操作的DB2 案例(instance)與聯合資料庫、資料來源,以及存取聯合資料庫和資料來源的使用者及應用程式,可傳送分散式要求給單一 SQL敘述中的多重資料來源。例如,將DB2 UDB表格中的資料、Oracle 表格及 Sybase綱要結合在單一 SQL 敘述中。

若要透過聯合伺服器來存取遠端資料來源,使用者必須建立下列必要的物件:外層(Wrapper)檔案庫,用來識別存取的資料來源;伺服器定義,設定資料來源資訊;暱稱(Nicknames),用來識別特定資料來源物件如表格、XML 檔或 Lotus Extended Search 應用程式;使用者對映,能夠用來識別使用者位址身分驗證;資料類型對映,從關聯性資料庫的資料類型對映至DB2;函數對映,將資料來源的函數對映至DB2;索引規格,便於存取資料來源表格的索引。

聯合資料的查詢延伸功能,不僅具備整合資料來源的功能,更難得的是會權衡資料庫與物件的參數,如資料庫狀態、索引、資料來源的資料函數、伺服器與網路效能的處理速度最佳化,稱之為Cost-Based Optimization。其他DB2本身的改寫、解析查詢,產生查詢的執行計畫都會改善聯合資料庫的處理效能。

DB2 UDB本身已經支援了從SQL到XML的轉換,Information Integrator的出現,銜接了從XML到SQL反向的存取。2000年下半,ANSI H2與ISO SC32/WG3認可了SQL/XML的計畫,並且由Oracle、IBM、Microsoft、Sybase等公司成立H2.3的工作群組,目標是擴充XML對SQL的存取能力。SQL/XML的目的是將SQL的識別名稱、資料類型、數值、表格、大綱、與目錄對映到XML上。

DB2提供六種函數將SQL發行到XML上。XMLELEMENT函數,可以從多個獨立變數建立XML的元素; XMLATTRIBUTES函數,在XMLELEMENT內用來指定XML元素的屬性;XMLFOREST函數,顧名思義就是在造林,建構XML元素的的順序;XMLCONCAT函數,將XML元素連接成一個清單;XMLAGG函數,從回傳元素的組合中回傳一組連接的XML元素;XML2CLOB函數,回傳XML數值的CLOB(Character Large Object)描述,供應用程式的介面使用用來暫時存取XML的資料形態。

XML如果要讓SQL存取時,在聯合資料庫上必須以Wrapper作為與XML檔案溝通的橋樑,而且不需要另行載入XML檔案。II讓使用者用暱稱,就可以在查詢中區別XML的資料與關聯性表格運用等其他類型的資料,也確保XML格式維持原樣,不受資料同步影響,至於非關聯性資料,則需要安裝對應的Wrapper,以使用資料間相互存取的特性。XML如果作為資料來源,必須在II設定XML檔案的檔案路徑、目錄位置、遠端的URI網址或甚至是XML檔案內的欄位與表格名稱;XML檔案的資料大綱與結構,需要建立暱稱以作為資料來源類別的區分。

應用Wrapper時,DB2設定的順序分別是建立Wrapper、伺服器、暱稱集合和views。Wrapper和指定的輸入點的分享資料,也能代表一組資料來源,並且能夠藉由DB2 UDB動態載入聯合資料庫供存取。比起其單一化的資料庫連結程式,Wrapper封裝了資料來源的資訊,並且能夠很輕易地加入不一定常使用的外界資料來源。

Wrapper的開發,II目前的版本只提供C++的SDK,下一個版本將會支援Java。Wrapper整合到其他開發工具,是以plugin的方式,如Microsoft Visual Studio、WSAD(WebSphere Studio Application Developer)產生程式碼,在DB2內建立與安裝Wrapper。Wrapper SDK也提供標準介面給Web Service開發者。

Information Integrator的目的並不是以DB2 UDB壟斷資料的現有存取架構,然後偷天換日地半強迫企業更換資料庫的一種陰謀,事實上這樣的整合困難度太高,也不切企業實際需求;II是在異質資料庫間搭起橋樑,甚至可以聰明地判斷資料處理的最佳控制點,是在最後端的資料庫儲存,或者是在Information Integrator端。資料庫管理者只要學會DB2 UDB的聯合資料庫的運用,一法通,萬法通,這才是DB2 II的企圖心。而Wrapper的定位是讓會寫作SQL指令的資料庫使用者,就可以使用SQL5指令,存取異質資料庫與XML;一旦遇到Wrapper不支援的資料庫,才會面臨到必須自行開發的狀況。如果企業的資料類型仍在使用FoxPro或Dbase的資料時,恐怕就必須自行開發,或是等待ISV廠商的研發。資料類型的競爭時時刻刻都在發生,XML雖然是未來大家眾望所歸的格式,但是企業仍必須先克服自身資料庫架構的建立與整合;B2B間的資料交換,使企業新面臨到來往廠商EDI資料格式的開發需求,如果II與協同的ISV廠商能夠漸漸支援到更廣泛資料格式的運用,將會使企業異質資料的整合更為順利。文⊙李宗翰

熱門新聞

Advertisement