????? 在事務處理系統中的數據,主要用于記錄和查詢業務情況。隨著數據倉庫(DW)技術的不斷成熟,企業的數據逐漸變成了決策的主要依據。數據倉庫是一種面向決策主題、由多數據源集成、擁有當前及歷史總結數據、以讀為主的數據庫系統,其目的是支持決策。數據倉庫要根據決策的需要收集來自企業內外的有關數據,并加以適當的組織處理,使其能有效地為決策過程提供信息。數據倉庫中的數據是從許多業務處理系統中抽取、轉換而來,對于這樣一個復雜的企業數據環境,如何以安全、高效的方式來對它們進行管理和訪問就變得尤為重要。解決這一問題的關鍵是對元數據進行科學有效的管理。元數據是關于數據、操縱數據的進程和應用程序的結構和意義的描述信息,其主要目標是提供數據資源的全面指南。元數據不僅定義了數據倉庫中數據的模式、來源以及抽取和轉換規則等,而且整個數據倉庫系統的運行都是基于元數據的,是元數據把數據倉庫系統中的各個松散的組件聯系起來,組成了一個有機的整體。
一、元數據
1、元數據的概念
按照傳統的定義,元數據(Metadata)是關于數據的數據。在數據倉庫系統中,元數據可以幫助數據倉庫管理員和數據倉庫的開發人員非常方便地找到他們所關心的數據;元數據是描述數據倉庫內數據的結構和建立方法的數據,可將其按用途的不同分為兩類:技術元數據(Technical Metadata)和業務元數據(Business Metadata)。
技術元數據
是存儲關于數據倉庫系統技術細節的數據,是用于開發和管理數據倉庫使用的數據,它主要包括以下信息:
數據倉庫結構的描述,包括倉庫模式、視圖、維、層次結構和導出數據的定義,以及數據集市的位置和內容;
業務系統、數據倉庫和數據集市的體系結構和模式;
匯總用的算法,包括度量和維定義算法,數據粒度、主題領域、聚集、匯總、預定義的查詢與報告;
由操作環境到數據倉庫環境的映射,包括源數據和它們的內容、數據分割、數據提取、清理、轉換規則和數據刷新規則、安全(用戶授權和存取控制)。
業務元數據
從業務角度描述了數據倉庫中的數據,它提供了介于使用者和實際系統之間的語義層,使得不懂計算機技術的業務人員也能夠“讀懂”數據倉庫中的數據。業務元數據主要包括以下信息:使用者的業務術語所表達的數據模型、對象名和屬性名;訪問數據的原則和數據的來源;系統所提供的分析方法以及公式和報表的信息;具體包括以下信息:
企業概念模型:這是業務元數據所應提供的重要的信息,它表示企業數據模型的高層信息、整個企業的業務概念和相互關系。以這個企業模型為基礎,不懂數據庫技術和SQL語句的業務人員對數據倉庫中的數據也能做到心中有數。
多維數據模型:這是企業概念模型的重要組成部分,它告訴業務分析人員在數據集市當中有哪些維、維的類別、數據立方體以及數據集市中的聚合規則。這里的數據立方體表示某主題領域業務事實表和維表的多維組織形式。
業務概念模型和物理數據之間的依賴:以上提到的業務元數據只是表示出了數據的業務視圖,這些業務視圖與實際的數據倉庫或數據庫、多維數據庫中的表、字段、維、層次等之間的對應關系也應該在元數據知識庫中有所體現。
2、元數據的作用
在數據倉庫系統中,元數據機制主要支持以下五類系統管理功能:(1)描述哪些數據在數據倉庫中;(2)定義要進入數據倉庫中的數據和從數據倉庫中產生的數據;(3)記錄根據業務事件發生而隨之進行的數據抽取工作時間安排;(4)記錄并檢測系統數據一致性的要求和執行情況;(5)衡量數據質量。
與其說數據倉庫是軟件開發項目,還不如說是系統集成項目,因為它的主要工作是把所需的數據倉庫工具集成在一起,完成數據的抽取、轉換和加載,OLAP分析和數據挖掘等。它的典型結構由操作環境層、數據倉庫層和業務層等組成。
其中,第一層(操作環境層)是指整個企業內有關業務的OLTP系統和一些外部數據源;第二層是通過把第一層的相關數據抽取到一個中心區而組成的數據倉庫層;第三層是為了完成對業務數據的分析而由各種工具組成的業務層。圖中左邊的部分是元數據管理,它起到了承上啟下的作用,具體體現在以下幾個方面:
便于集成
提高系統的靈活性
保證數據的質量
幫助用戶理解數據的意義
二、數據倉庫元數據管理現狀
元數據管理的主要任務有兩個方面:一是負責存儲和維護元數據庫中的元數據;二是負責數據倉庫建模工具、數據獲取工具、前端工具等之間的消息傳遞,協調各模塊和工具之間的工作。
由以上幾節我們了解到元數據幾乎可以被稱為是數據倉庫乃至商業智能(BI)系統的“靈魂”,正是由于元數據在整個數據倉庫生命周期中有著重要的地位,各個廠商的數據倉庫解決方案都提到了關于對元數據的管理。但遺憾的是對于元數據的管理,各個解決方案都沒有明確提出一個完整的管理模式;它們提供的僅僅是對特定的局部元數據的管理。當前市場上與元數據相關的數據倉庫工具大致可分為四類:
1.
數據抽取工具
:把業務系統中的數據抽取、轉換、集成到數據倉庫中,如Ardent的DataStage、CA(原Platinum)的Decision Base和ETI的Extract等。這些工具僅提供了技術元數據,幾乎沒有提供對業務元數據的支持。
2.
前端展現工具
:包括OLAP分析、報表和商業智能工具等,如MicroStrategy的DSS Agent、Cognos的PowerPlay、Business Objects的BO,以及Brio等。它們通過把關系表映射成與業務相關的事實表和維表來支持多維業務視圖,進而對數據倉庫中的數據進行多維分析。這些工具都提供了業務元數據與技術元數據相對應的語義層。
3.
建模工具
:為非技術人員準備的業務建模工具,這些工具可以提供更高層的與特定業務相關的語義。如CA的ERwin、Sysbase的PowerDesigner以及Rational的Rose等。
4.
元數據存儲工具
:元數據通常存儲在專用的數據庫中,該數據庫就如同一個“黑盒子”,外部無法知道這些工具所用到和產生的元數據是如何存儲的。還有一類被稱為元數據知識庫(Metadata Repository)的工具,它們獨立于其它工具,為元數據提供一個集中的存儲空間。包括微軟的Repository,CA的Repository,Ardent的MetaStage和Sybase的WCC等。
三、元數據管理的標準化
沒有規矩不成方圓。元數據管理之所以困難,一個很重要的原因就是缺乏統一的標準。在這種情況下,各公司的元數據管理解決方案各不相同。近幾年,隨著元數據聯盟MDC(Meta Data Coalition)的開放信息模型
OIM
(Open Information Model)和OMG組織的公共倉庫模型
CWM
(Common Warehouse Model)標準的逐漸完善,以及MDC和OMG組織的合并,為數據倉庫廠商提供了統一的標準,從而為元數據管理鋪平了道路。
從元數據的發展歷史不難看出,元數據管理主要有兩種方法:
(1) 對于相對簡單的環境,按照通用的元數據管理標準建立一個集中式的元數據知識庫。
(2) 對于比較復雜的環境,分別建立各部分的元數據管理系統,形成分布式元數據知識庫,然后,通過建立標準的元數據交換格式,實現元數據的集成管理。
下面我們分別介紹數據倉庫領域中兩個最主要的元數據標準:MDC的OIM標準和OMG的CWM標準。
1、MDC的OIM存儲模型
MDC成立于1995年,是一個致力于建立與廠商無關的、不依賴于具體技術的企業元數據管理標準的非贏利技術聯盟,該聯盟有150多個會員,其中包括微軟和IBM等著名軟件廠商。1999年7月MDC接受了微軟的建議,將OIM作為元數據標準。
OIM的目的是通過公共的元數據信息來支持不同工具和系統之間數據的共享和重用。它涉及了信息系統(從設計到發布)的各個階段,通過對元數據類型的標準描述來達到工具和知識庫之間的數據共享。OIM所聲明的元數據類型都采用統一建模語言UML(Universal Modeling Language)進行描述,并被組織成易于使用、易于擴展的多個主題范圍(Subject Areas),這些主題范圍包括:
分析與設計(Analysis and Design):主要用于軟件分析、設計和建模。該主題范圍又進一步劃分為:UML包(Package)、UML擴展包、通用元素(Generic Elements)包、公共數據類型(Common Data Types)包和實體關系建模(Entity Relationship Modeling)包等。
對象與組件(Object and Component):涉及面向對象開發技術的方方面面。該主題范圍只包含組件描述建模(Component Description Modeling)包。
數據庫與數據倉庫(Database and Warehousing):為數據庫模式管理、復用和建立數據倉庫提供元數據概念支持。該主題范圍進一步劃分為:關系數據庫模式(Relational Database Schema)包、OLAP模式(OLAP Schema)包、數據轉換(Data Transformations)包、面向記錄的數據庫模式(Record-Oriented Database Schema)包、XML模式(XML Schema)包和報表定義(Report Definitions)包等。
業務工程(Business Engineering):為企業運作提供一個藍圖。該主題范圍進一步劃分為:業務目標(Business Goal)包、組織元素(Organizational Elements)包、業務規則(Business Rules)包、商業流程(Business Processes)包等。
知識管理(Knowledge Management):涉及企業的信息結構。該主題范圍進一步劃分為:知識描述(Knowledge Descriptions)包和語義定義(Semantic Definitions)包。
上述主題范圍中的包都是采用UML定義的,可以說UML語言是整個OIM標準的基礎。雖然OIM標準并不是專門針對數據倉庫的,但數據倉庫是它的主要應用領域之一。目前市場上基于該標準的元數據管理工具已經比較成熟,例如微軟的Repositry和CA的Repositry均采用了OIM標準。
2、OMG組織的CWM模型
OMG是一個擁有500多會員的國際標準化組織,著名的CORBA標準即出自該組織。公共倉庫元模型(Common Warehouse Metamodel)的主要目的是在異構環境下,幫助不同的數據倉庫工具、平臺和元數據知識庫進行元數據交換。2001年3月,OMG頒布了CWM 1.0標準。CWM模型既包括元數據存儲,也包括元數據交換,它是基于以下三個工業標準制定的:
(1)
UML
:它對CWM模型進行建模。
(2)
MOF
(元對象設施):它是OMG元模型和元數據的存儲標準,提供在異構環境下對元數據知識庫的訪問接口。
(3)
XMI
(XML元數據交換):它可以使元數據以XML文件流的方式進行交換。
CWM為數據倉庫和商業智能(BI)工具之間共享元數據,制定了一整套關于語法和語義的規范。它主要包含以下四個方面的規范:
(1) CWM元模型(Metamodel):描述數據倉庫系統的模型;
(2) CWM XML:CWM元模型的XML表示;
(3) CWM DTD:DW/BI共享元數據的交換格式
(4) CWM IDL:DW/BI共享元數據的應用程序訪問接口(API)
下面重點討論CWM元模型的組成,它與OIM規范一樣,也是由很多包組成的。組成CWM元模型的包結構如圖4所示。
(1)
元模型(MetaModel)包
:構造和描述其它CWM包中的元模型類的基礎。它是UML的一個子集,由以下四個子包組成:
a) 核心(Core)包:它的類和關聯是該模型的核心,其它所有的包都以它為基礎。
b) 行為(Behavioral)包:包括描述CWM對象行為的類與關聯,并且它為描述所定義的行為提供了基礎。
c) 關系(Relationships)包:包括描述CWM對象之間關系的類與關聯。
d) 實例(Instance)包:包括表示CWM分類器(Classfier)的類與關聯。
(2)
基礎包(Foundation)
:它包括表示CWM概念和結構的模型元素,這些模型元素又可被其他CWM包所共享,它由以下六個子包組成:
a) 業務信息(Business Information)包:包括表示模型元素業務信息的類與關聯。
b) 數據類型(Data Types)包:包括表示建模者可以用來創建所需數據類型的結構的類與關聯。
c) 表達式(Expressions)包:包括表示表達式樹的類與關聯。
d) 關鍵字和索引(Keys and Indexes)包:包括表示鍵和索引的類與關聯。
e) 軟件發布(Software Deployment)包:包括軟件如何在數據倉庫中發布的類與關聯。
f) 類型映射(Type Mapping)包:包括表示不同系統之間數據類型映射的類與關聯。
(3)
資源包(Resource)
:用于描述數據資源的包,它包括以下四個子包:
a) 關系(Relational)包:包括表示關系型數據資源的元數據的類與關聯。
b) 記錄(Record)包:包括表示記錄型數據資源的元數據的類與關聯。
c) 多維(Multidimensional)包:包括表示多維數據資源的元數據的類與關聯。
d) XML包:包括表示XML數據資源的元數據的類與關聯。
(4)
分析(Analysis)包
:它由以下五個子包組成:
a) 轉換(Transformation)包:包括表示數據抽取和轉換工具的元數據的類與關聯。
b) OLAP包:包括表示OLAP工具的元數據的類與關聯。
c) 數據挖掘(Data Mining)包:包括表示數據挖掘工具的元數據的類與關聯。
d) 信息可視化(Information Visualization)包:包括表示信息可視化工具的元數據的類與關聯。
e) 業務術語(Business Nomenclature)包:包括表示分類業務的元數據的類與關聯。
(5)
管理(Management)包
:用于描述數據倉庫管理的包,它包括以下兩個子包:
a) 倉庫過程(Warehouse Process)包:包括表示倉庫過程的元數據的類與關聯。
b) 倉庫操作(Warehouse Operation)包:包括表示倉庫操作結果的元數據的類與關聯。
在數據抽取過程中,數據從各個業務系統中被統一轉換存儲到中央數據倉庫中。CWM中的轉換模型定義了數據在源和目的之間移動的過程,其中不僅包括源和目標之間的參數,還包括轉換中的業務邏輯。這些業務邏輯可能包括一些商業規則、類庫甚至是用戶腳本。數據倉庫如果有一個規范的轉換模型將給工具軟件廠商和專業服務提供商帶來極大的好處,例如,按照統一的規范廠商可以設計一個通用的模型從標準ERP包中抽取數據。工具廠商甚至可以隨軟件提供成熟的模型,集成商也可以將一個模型應用到多個項目中。
最終用戶同樣也能從CWM中受益,在使用商業智能分析軟件進行多維分析的時候,用戶往往會對數據的含義和來源產生疑問。CWM能夠提供這些信息,用戶可以清楚地看到數據來自哪個系統,并且是如何組成的。
3、CWM與OIM之間的關系
上兩節分別介紹了與數據倉庫相關的兩個主要標準,CWM實際上是專門為數據倉庫元數據而制定的一套標準,而OIM并不是針對數據倉庫元數據的。OIM所關注的元數據的范圍比CWM要廣,CWM只限定于數據倉庫領域,而OIM模型包括有:分析與設計模型、對象與組件、數據庫與數據倉庫、商業工程、知識管理等五個領域。OIM與CWM在建模語言的選擇(都選擇UML當做自己的描述語言)、數據庫模型的支持、OLAP分析模型的支持、數據轉換模型的支持方面都比較一致;但是OIM并不是基于元對象設施(MOF)的,這意味著用OIM所描述的元數據需要通過其它的接口才能訪問,而CWM所描述的元數據可以通過CORBA IDL來訪問;在數據交換方面,OIM必須通過特定的轉換形成XML文件來交換元數據,而CWM可以用XMI來進行交換。盡管如此,由于OMG與MDC兩個組織的合并,CWM也會與OIM相互兼容以保護廠商已有的投資。
需要說明的是,MDC與OMG組織已經合并,今后所有的工具都將遵循統一的CWM標準,不過支持CWM的工具才剛剛出現,而支持OIM標準的工具已經相對成熟。
四、元數據管理系統的設計與實現
1、設計原則
數據倉庫環境下的元數據管理系統的建設是十分困難的。但是在實際項目的實施過程中,這個環節又是非常重要的。當前情況下,OMG組織的CWM標準將會成為數據倉庫元數據領域事實上的標準,在元數據管理系統的建立過程中應盡量參考這個標準,這樣使系統的可擴展性增強。可是在與之相關的工具成熟之前,我們完全可以采用OIM中的元模型(因CWM對OIM是兼容的)以及支持它的元數據管理工具進行元數據管理系統的建設,而且元數據所包含的范圍很廣。我們在建立元數據管理系統的時候,絕對不能盲目追求大而全,要堅持目標驅動的原則,在實施的時候要采取增量式、漸進式的建設原則。具體的建設步驟如下:
(1) 如果是在建設數據倉庫系統的初期,那么首先要確定系統的邊界范圍,系統范圍確定的原則是首先保障重點,不求大,只求精。
(2) 系統邊界確定以后,把現有系統的元數據整理出來,加入語義層的對應。然后存到一個數據庫中,這個數據庫可以采用專用的元數據知識庫,也可以采用一般的關系型數據庫。
(3) 確定元數據管理的范圍。比如,我們只想通過元數據來管理數據倉庫中數據的轉換過程,以及有關數據的抽取路線,以使數據倉庫開發和使用人員明白倉庫中數據的整個歷史過程。
(4) 確定元數據管理的工具,采用一定的工具可以完成相應的工作。當前相關工具有微軟的Repositry,它帶有相應的編程接口,可以借助于它來完成元模型出入庫的功能;與之相似的還有Platinum的OEE;另外還有Sybase的Wcc,它可以通過MDC以前的一個老標準――MDIS來集成抽取工具與轉換工具,在一個窗口中就可以表示數據抽取與轉換,并且可以把語義層以MDIS的格式導出到一個前端工具當中(比如Cognos的Improptu)。
2、元數據存儲模式
元數據存在的狀況是有差異的,系統層元數據應隨數據庫存在,且由建立在分布式網絡數據庫管理系統統一管理;數據集層次元數據可以隨數據庫存在也可隨數據集存在;數據特征層次的元數據只能隨數據集存在。
簡單地,元數據存貯有兩種形式:
其一是以數據集為基礎
,即每一個數據集有一個對應的元數據文檔,每一個元數據文件中包含對相應數據集的元數據內容。
另一種存在方式是以數據庫為基礎
(即元數據庫),給一個數據庫有一個元數據文件,該文件為一表格數據,它由若干項組成,每一項表示元數據的一個要素,其記錄為每一個數據集的元數據內容。
兩種存貯方式各有優缺點,對于第一種存儲模式,其好處是調用數據時其相應的元數據也作為一個獨立的文件被傳輸,相對數據庫有較強的獨立性,在對元數據進行檢索時可以利用數據庫的功能實現,也可以將元數據文件調到其它數據庫系統中進行操作;其問題是:每一數據集都有一個元數據文檔,那么在規模巨大的數據庫中則會有大量的元數據文件,管理上極為不便。在第二中存在模式中,由于庫中只有一個元數據文件,管理極為方便,添加或刪除數據集只把該文件中添加或刪除相應的記錄項即可;但如果想獲取某數據集的元數據時,實際得到的只是關系表格數據的一個記錄,則要求數據用戶使用的系統中可以接受這種特定形式的數據。因此推薦使用元數據庫的方式。
元數據庫是用于存儲元數據的地方,元數據庫最好選用主流的關系數據庫管理系統,支持CWM標準。一個元數據庫還包含那些用于操作和查詢元數據的機制;建立元數據庫的主要好處是提供了統一的關鍵數據結構和業務規則,易于將企業內部的多個數據集市有機的結合起來;特別是,現在一些客戶傾向建立多個數據集市,而不是一個龐大無比的數據倉庫。可以考慮在建立數據倉庫(或數據集市)之前,先建立一個用于描述數據的、用于應用集成的元數據庫,做好數據倉庫實施的初期支持工作,對后續開發和維護有很大的幫助。在擁有不同廠商、不同功能和不同元數據庫的環境下,要實現兩種產品之間的元數據同步是非常富有挑戰性的工作。因為必須從一種產品中獲得足夠詳細的元數據,將其映射到另一種產品中,再指出兩者意義或編碼的差別;通常系統有數百、數千個元數據,必須對每個元數據重復這一過程。
在整個數據倉庫環境中,元數據管理工具可以從各個數據倉庫組件中收集元數據,存儲到元數據庫中,然后向業務用戶傳遞和展示正確的信息。采集、集成和描述元數據可以擴展到十分廣泛的范圍,可以在設計和建模的過程中,可以在數據轉換、清洗和過濾的過程中,也可以在數據移植的過程中;可以從數據庫/數據存儲軟件,和前端展示工具中得到元數據。
元數據庫為整個企業的寶貴信息提供了詳細的記錄,保存數據存儲位置和商業含義、生成和維護數據的主體、數據驅動的應用處理、與其它數據的關系以及數據的轉換過程等。元數據庫保證了數據倉庫數據的一致性和準確性,為企業進行數據質量管理提供數據依據。
另外,元數據庫還支持強大的查詢和報表生成工具,用戶使用報表工具可以查詢元數據庫,從元數據庫獲得重要的決策支持信息。
3、元數據管理模式
元數據管理涉及到各個層次的元數據,管理的內容包括元數據的獲取、元數據的更新、使用和面向應用項目的元數據使用處理等多個方面。元數據的管理涉及數據庫、數據處理軟件、數據使用系統、面向應用的數據分析等各個環節。下面給出了一種普通意義的以元數據信息系統為基礎的元數據管理模式。
通常意義上的元數據管理是指元數據通過各種途徑形成后,對其內容的添加、刪除、更新等涉及內容改變的操作和元數據內容檢索、查詢、放置、組織等常規性元數據操作,從這種意義上元數據的管理可以通過兩種方式實現,即系統管理模式和用戶管理模式。系統管理模式是面向數據庫的,由數據庫管理系統專業人員完成,數據用戶只有使用權,沒有元數據的操作權,數據應用項目中新生成的數據集的元數據也有應用系統傳遞給數據庫管理員,然后由數據庫管理員統一管理。這種方式中,數據在處理過程中形成的動態元數據很難及時記錄下來。另一種管理方式是用戶管理模式,它是面向應用項目的,即允許某些數據用戶在數據應用元數據的變動信息直接反饋給元數據庫,這樣則能保證元數據的動態更新和新生成數據集元數據的及時捕獲及寫入元數據文件。但這種模式中數據用戶的權限要適當的控制,以避免數據庫的破壞。通常對元數據的管理是采用兩者結合的模式。
總之,建立元數據管理系統一定要堅持關注標準,又不被標準所束縛的原則,建立符合自身目標的元數據管理系統。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
