1. 前言
在事務處理系統中的數據,主要用于記錄和查詢業務情況。隨著數據倉庫(DW)技術的不斷成熟,企業的數據逐漸變成了決策的主要依據。數據倉庫是一種面向決策主題、由多數據源集成、擁有當前及歷史總結數據、以讀為主的數據庫系統,其目的是支持決策。數據倉庫要根據決策的需要收集來自企業內外的有關數據,并加以適當的組織處理,使其能有效地為決策過程提供信息。數據倉庫中的數據是從許多業務處理系統中抽取、轉換而來,對于這樣一個復雜的企業數據環境,如何以安全、高效的方式來對它們進行管理和訪問就變得尤為重要。解決這一問題的關鍵是對元數據進行科學有效的管理。元數據是關于數據、操縱數據的進程和應用程序的結構和意義的描述信息,其主要目標是提供數據資源的全面指南。元數據不僅定義了數據倉庫中數據的模式、來源以及抽取和轉換規則等,而且整個數據倉庫系統的運行都是基于元數據的,是元數據把數據倉庫系統中的各個松散的組件聯系起來,組成了一個有機的整體。
本文首先介紹了元數據的定義、作用和意義;然后討論了數據倉庫系統中元數據管理的現狀和關于元數據的標準化情況;最后提出了建立元數據管理系統的步驟和實施方法。
2. 元數據
2.1 元數據的概念
按照傳統的定義,元數據(Metadata)是關于數據的數據。在數據倉庫系統中,元數據可以幫助數據倉庫管理員和數據倉庫的開發人員非常方便地找到他們所關心的數據;元數據是描述數據倉庫內數據的結構和建立方法的數據,可將其按用途的不同分為兩類:技術元數據(Technical Metadata)和業務元數據(Business Metadata)。
技術元數據是存儲關于數據倉庫系統技術細節的數據,是用于開發和管理數據倉庫使用的數據,它主要包括以下信息:
? 數據倉庫結構的描述,包括倉庫模式、視圖、維、層次結構和導出數據的定義,以及數據集市的位置和內容;
? 業務系統、數據倉庫和數據集市的體系結構和模式;
? 匯總用的算法,包括度量和維定義算法,數據粒度、主題領域、聚集、匯總、預定義的查詢與報告;
? 由操作環境到數據倉庫環境的映射,包括源數據和它們的內容、數據分割、數據提取、清理、轉換規則和數據刷新規則、安全(用戶授權和存取控制)。
業務元數據從業務角度描述了數據倉庫中的數據,它提供了介于使用者和實際系統之間的語義層,使得不懂計算機技術的業務人員也能夠“讀懂”數據倉庫中的數據。業務元數據主要包括以下信息:使用者的業務術語所表達的數據模型、對象名和屬性名;訪問數據的原則和數據的來源;系統所提供的分析方法以及公式和報表的信息;具體包括以下信息:
? 企業概念模型:這是業務元數據所應提供的重要的信息,它表示企業數據模型的高層信息、整個企業的業務概念和相互關系。以這個企業模型為基礎,不懂數據庫技術和SQL語句的業務人員對數據倉庫中的數據也能做到心中有數。
? 多維數據模型:這是企業概念模型的重要組成部分,它告訴業務分析人員在數據集市當中有哪些維、維的類別、數據立方體以及數據集市中的聚合規則。這里的數據立方體表示某主題領域業務事實表和維表的多維組織形式。
? 業務概念模型和物理數據之間的依賴:以上提到的業務元數據只是表示出了數據的業務視圖,這些業務視圖與實際的數據倉庫或數據庫、多維數據庫中的表、字段、維、層次等之間的對應關系也應該在元數據知識庫中有所體現。
2.2 元數據的作用
在數據倉庫系統中,元數據機制主要支持以下五類系統管理功能:(1)描述哪些數據在數據倉庫中;(2)定義要進入數據倉庫中的數據和從數據倉庫中產生的數據;(3)記錄根據業務事件發生而隨之進行的數據抽取工作時間安排;(4)記錄并檢測系統數據一致性的要求和執行情況;(5)衡量數據質量。
與其說數據倉庫是軟件開發項目,還不如說是系統集成項目[1],因為它的主要工作是把所需的數據倉庫工具集成在一起,完成數據的抽取、轉換和加載,OLAP分析和數據挖掘等。如圖1所示,它的典型結構由操作環境層、數據倉庫層和業務層等組成。
其中,第一層(操作環境層)是指整個企業內有關業務的OLTP系統和一些外部數據源;第二層是通過把第一層的相關數據抽取到一個中心區而組成的數據倉庫層;第三層是為了完成對業務數據的分析而由各種工具組成的業務層。圖中左邊的部分是元數據管理,它起到了承上啟下的作用,具體體現在以下幾個方面:
? 便于集成
? 提高系統的靈活性
? 保證數據的質量
? 幫助用戶理解數據的意義
3. 數據倉庫元數據管理現狀
元數據管理的主要任務有兩個方面:一是負責存儲和維護元數據庫中的元數據;二是負責數據倉庫建模工具、數據獲取工具、前端工具等之間的消息傳遞,協調各模塊和工具之間的工作。
由以上幾節我們了解到元數據幾乎可以被稱為是數據倉庫乃至商業智能(BI)系統的“靈魂”,正是由于元數據在整個數據倉庫生命周期中有著重要的地位,各個廠商的數據倉庫解決方案都提到了關于對元數據的管理。但遺憾的是對于元數據的管理,各個解決方案都沒有明確提出一個完整的管理模式;它們提供的僅僅是對特定的局部元數據的管理。當前市場上與元數據有關的主要工具見圖2。
如圖2所示,與元數據相關的數據倉庫工具大致可分為四類:
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等。
4. 元數據管理的標準化
沒有規矩不成方圓。元數據管理之所以困難,一個很重要的原因就是缺乏統一的標準。在這種情況下,各公司的元數據管理解決方案各不相同。近幾年,隨著元數據聯盟MDC(Meta Data Coalition)的開放信息模型OIM(Open Information Model)和OMG組織的公共倉庫模型CWM(Common Warehouse Model)標準的逐漸完善,以及MDC和OMG組織的合并,為數據倉庫廠商提供了統一的標準,從而為元數據管理鋪平了道路。
從元數據的發展歷史不難看出,元數據管理主要有兩種方法:
(1) 對于相對簡單的環境,按照通用的元數據管理標準建立一個集中式的元數據知識庫。
(2) 對于比較復雜的環境,分別建立各部分的元數據管理系統,形成分布式元數據知識庫,然后,通過建立標準的元數據交換格式,實現元數據的集成管理。
凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
、轉載請注明來處和原文作者。非常感謝。