Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          關于“元數(shù)據(jù)”的理解
          ?
          ??? 一直都對元數(shù)據(jù)一知半解,當然理論我都知道,但是主要是沒有實際應用過,所以對這方面的知識還是比較好奇,想多了解一下。最近又看到一篇關于“元數(shù)據(jù)”的文章,發(fā)現(xiàn)寫得不錯,摘錄下來留存。
          ?
          ?
          元數(shù)據(jù)
          ?
          ??? 元數(shù)據(jù)(Metadata):就是數(shù)據(jù)的數(shù)據(jù),用于建立、管理、維護和使用數(shù)據(jù)倉庫。元數(shù)據(jù)管理是企業(yè)級數(shù)據(jù)倉庫中的關鍵組件,貫穿于建立數(shù)據(jù)倉庫的整個過程。
          ?
            元數(shù)據(jù)使得用戶可以掌握數(shù)據(jù)的歷史情況,如數(shù)據(jù)從哪里來?流通時間有多長?更新頻率是多大?數(shù)據(jù)元素的含義是什么?對它已經進行了哪些計算、轉換和篩選等等。在需求不確定情況下,在瞬間萬變的商業(yè)環(huán)境下,元數(shù)據(jù)可以更好的支持需求的變化,降低項目風險。
            元數(shù)據(jù)貫徹于建立數(shù)據(jù)倉庫的整個過程,不只是ETL過程需要元數(shù)據(jù)的支持。
          ?
          ??? metedata

          ?
          元數(shù)據(jù)分類
          ?
            通常把元數(shù)據(jù)分為技術元數(shù)據(jù)(Technical Metadata)業(yè)務元數(shù)據(jù)(Business Metadata)
          ?
          ??? 技術元數(shù)據(jù) 是描述關于數(shù)據(jù)倉庫技術細節(jié)的數(shù)據(jù),這些元數(shù)據(jù)應用于開發(fā)、管理和維護數(shù)據(jù)倉庫,它主要包含以下信息。
          ?
          ??? 1、數(shù)據(jù)倉庫結構的描述,包括倉庫模式、視圖、維、層次結構和導出數(shù)據(jù)的定義,以及數(shù)據(jù)集市的位置和內容;
          ??? 2、業(yè)務系統(tǒng)、數(shù)據(jù)倉庫和數(shù)據(jù)集市的體系結構和模式;
          ??? 3、匯總用的算法,包括度量和維定義算法,數(shù)據(jù)粒度、主題領域、聚合、匯總和預定義的查詢與報告;
          ??? 4、由操作環(huán)境到數(shù)據(jù)倉庫環(huán)境的映射,包括源數(shù)據(jù)和它們的內容、數(shù)據(jù)分割、數(shù)據(jù)提取、清理、轉換規(guī)則和數(shù)據(jù)刷新規(guī)則及安全(用戶授權和存取控制)。
          ?
          ??? 業(yè)務元數(shù)據(jù) 從業(yè)務角度描述了數(shù)據(jù)倉庫中的數(shù)據(jù),它提供了介于使用者和實際系統(tǒng)之間的語義層,使得不懂計算機技術的業(yè)務人員也能夠“讀懂”數(shù)據(jù)倉庫中的數(shù)據(jù)。業(yè)務元數(shù)據(jù)主要包括以下信息:使用者的業(yè)務術語所表達的數(shù)據(jù)模型、對象名和屬性名;訪問數(shù)據(jù)的原則和數(shù)據(jù)的來源;系統(tǒng)所提供的分析方法及公式和報表的信息。
          ?
          ??? 在信息打包過程中,需要用包圖表示維度和類別還有它們之間的傳遞和映射關系,實際上這個操作就是在原業(yè)務系統(tǒng)的基礎上創(chuàng)建了元數(shù)據(jù)。其中的維度、類別還有層次關系是屬于典型的技術型元數(shù)據(jù),而業(yè)務系統(tǒng)中與之對應的術語則屬于業(yè)務元數(shù)據(jù)。比如日期、區(qū)域、產品、客戶年齡和客戶狀況等維度,實際銷售、計劃銷售、預測銷售、計劃偏差和預測偏差等指標皆屬于元數(shù)據(jù)。這些數(shù)據(jù)在分析中起到了極為重要的作用。
          ?
          ?
          元數(shù)據(jù)的作用
          ?
          ??? 從元數(shù)據(jù)的類型和作用來看,元數(shù)據(jù)實際上是要解決何人在何時、何地為了什么原因及怎樣使用數(shù)據(jù)倉庫的問題。再具體化一點,元數(shù)據(jù)在數(shù)據(jù)倉庫管理員的眼中是數(shù)據(jù)倉庫中的包含了所有內容和過程的完整知識庫和文檔,而在最終用戶(即數(shù)據(jù)分析人員)眼中,元數(shù)據(jù)則是數(shù)據(jù)倉庫的信息地圖。
          ?
          ??? 數(shù)據(jù)分析員為了能有效地使用數(shù)據(jù)倉庫環(huán)境,往往需要元數(shù)據(jù)的幫助。尤其是在數(shù)據(jù)分析員進行信息分析處理時,他們首先需要去查看元數(shù)據(jù)。元數(shù)據(jù)還涉及到數(shù)據(jù)從操作型環(huán)境到數(shù)據(jù)倉庫環(huán)境中的映射。當數(shù)據(jù)從操作型環(huán)境進入數(shù)據(jù)倉庫環(huán)境時,數(shù)據(jù)要經歷一系列重大的轉變,包含了數(shù)據(jù)的轉化、過濾、匯總和結構改變等過程。數(shù)據(jù)倉庫的元數(shù)據(jù)要能夠及時跟蹤這些轉變,當數(shù)據(jù)分析員需要就數(shù)據(jù)的變化從數(shù)據(jù)倉庫環(huán)境追溯到操作型環(huán)境中時,就要利用元數(shù)據(jù)來追蹤這種轉變。另外,由于數(shù)據(jù)倉庫中的數(shù)據(jù)會存在很長一段時間,其間數(shù)據(jù)倉庫往往可能會改變數(shù)據(jù)的結構。隨著時間的流逝來跟蹤數(shù)據(jù)結構的變化,是元數(shù)據(jù)另一個常見的使用功能。
          ?
          ??? 元數(shù)據(jù)描述了數(shù)據(jù)的結構、內容、鏈和索引等項內容。在傳統(tǒng)的數(shù)據(jù)庫中,元數(shù)據(jù)是對數(shù)據(jù)庫中各個對象的描述,數(shù)據(jù)庫中的數(shù)據(jù)字典就是一種元數(shù)據(jù)。在關系數(shù)據(jù)庫中,這種描述就是對數(shù)據(jù)庫、表、列、觀點和其他對象的定義;但在數(shù)據(jù)倉庫中,元數(shù)據(jù)定義了數(shù)據(jù)倉庫中的許多對象——表、列、查詢、商業(yè)規(guī)則及數(shù)據(jù)倉庫內部的數(shù)據(jù)轉移。元數(shù)據(jù)是數(shù)據(jù)倉庫的重要構件,是數(shù)據(jù)倉庫的指示圖。元數(shù)據(jù)在數(shù)據(jù)源抽取、數(shù)據(jù)倉庫開發(fā)、商務分析、數(shù)據(jù)倉庫服務和數(shù)據(jù)求精與重構工程等過程都有重要的作用,元數(shù)據(jù)在整個數(shù)據(jù)倉庫開發(fā)和應用過程中的巨大影響。因此,設計一個描述能力強并且內容完善的元數(shù)據(jù),對數(shù)據(jù)倉庫進行有效地開發(fā)和管理具有決定性意義。
          ?
          ?
          ?
          *******************************************************
          ?
          ??? 在數(shù)據(jù)倉庫中,元數(shù)據(jù)的概念被強化了,在每個數(shù)據(jù)倉庫項目的總體架構圖中,幾乎都有”元數(shù)據(jù)治理”模塊來橫貫其他模塊。顯然,這表示它是一種基礎模塊,可以服務于諸如OLAP、ETL等其他模塊。但實際上,卻很少見一個完成了的數(shù)據(jù)倉庫項目中有獨立的元數(shù)據(jù)部分。大多項目,元數(shù)據(jù)都是分散在各種BI工具中。
          ??? 這些分散的元數(shù)據(jù)是不一致的,例如對一張表的結構定義,可能出現(xiàn)在ER設計工具中,當然也會在數(shù)據(jù)庫的數(shù)據(jù)字典中,還有可能在ETL工具的源、目標定義中。如此多的重復定義,當然會發(fā)生數(shù)據(jù)不一致現(xiàn)象,卻也正好為元數(shù)據(jù)治理工具留下廣闊空間,它們的作用就是集中治理這些分散的元數(shù)據(jù),就像數(shù)據(jù)倉庫一樣,從不同的源采集數(shù)據(jù),有ETL,也有清洗,甚至重新建模。

          ??? 元數(shù)據(jù)(metadata)這個詞現(xiàn)在到處泛濫。其實我對元數(shù)據(jù)充其量只能說有自己的理解而已,并不能確信這個理解是正確的。
          ?
          ??? 我認為,數(shù)據(jù)結構分為三個層次(UML可是四層哦):
          ??? 實例層:直接描述特異化的數(shù)據(jù)場景;
          ??? 元數(shù)據(jù)層:描述實例的結構的一組數(shù)據(jù);
          ??? 元數(shù)據(jù)的元數(shù)據(jù)層:描述元數(shù)據(jù)的結構的一組數(shù)據(jù)。
          ??? 元數(shù)據(jù)就是用來描述實例或者描述元數(shù)據(jù)的一種結構。
          ??? 元數(shù)據(jù)的特征有這樣幾個:第一是元數(shù)據(jù)一定不依賴業(yè)務反而被業(yè)務所依賴,相當業(yè)務的多變性,元數(shù)據(jù)是相對穩(wěn)定的;第二是元數(shù)據(jù)具有廣泛的可復用性,而業(yè)務的可復用性極差;第三是元數(shù)據(jù)注重結構,而業(yè)務注重行為。
          ?
          ??? 在Xml中,元數(shù)據(jù)就是模式(Schema),在數(shù)據(jù)庫中,元數(shù)據(jù)就是數(shù)據(jù)庫對象定義,包括表、視圖、關系約束、存貯過程、觸發(fā)器、函數(shù)、數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色等等定義。在對象空間,元數(shù)據(jù)就是類型、接口、方法、方法參數(shù)、屬性的定義。在結構化程序空間,元數(shù)據(jù)就是函數(shù)及函數(shù)的參數(shù)。
          ?
          ??? 我之所以反復強調參數(shù),是因為我們在定義一個接口或者方法的參數(shù)時總是非常隨便,但定義一個Xml文檔模式或者數(shù)據(jù)庫對象時總是小心翼翼的,很受束縛。這顯然有一定的不合理之處。仔細推敲,我的結論就是:第一,我們設計每個方法的參數(shù)時,特別是設計每個虛擬方法的參數(shù)時一定要小心一點,盡量不要濫用參數(shù)重構。第二,我們在設計一個Xml文檔結構或者數(shù)據(jù)庫結構的時候可別那么畏首畏尾的,就象平時寫程序時設計一個方法的參數(shù)那樣。這樣就平衡了。
          ?
          ??? 總結以往多年的數(shù)據(jù)庫設計,我歸納為兩個原則和兩個方法:
          ??? 降冗優(yōu)先原則(降冗是數(shù)據(jù)庫設計時的首要要素);
          ??? 平行引用原則(所有的關系都必須是單向的并且不能交叉);
          ??? 依職責拆分方法(同一基數(shù)不同職責或者不同的維護方法或者不同的維護期必須拆分);
          ??? 依基數(shù)合并方法(同一基數(shù)且職責相同必須合并)。
          ?
          ??? 忽然發(fā)現(xiàn),其實這些原則和方法在整個元數(shù)據(jù)層都適用,不僅僅只針對數(shù)據(jù)庫設計。
          ?
          *******************************************************
          ?
          posted on 2008-10-06 20:05 decode360 閱讀(217) 評論(0)  編輯  收藏 所屬分類: 11.BI
          主站蜘蛛池模板: 察隅县| 宜昌市| 西乌珠穆沁旗| 垫江县| 望奎县| 简阳市| 旺苍县| 忻州市| 镇巴县| 永康市| 大城县| 息烽县| 仙游县| 两当县| 肇源县| 常德市| 乐至县| 读书| 松潘县| 灵寿县| 双辽市| 盐亭县| 沅江市| 东源县| 西华县| 和平县| 中方县| 东平县| 孟州市| 栖霞市| 肥东县| 道真| 裕民县| 青海省| 岑巩县| 龙州县| 巴林右旗| 时尚| 上虞市| 彩票| 安溪县|