一文讀懂元數據管理!
一、什么是元數據?
元數據(metadata)是關于數據的組織、數據域及其關系的信息,簡言之,元數據就是描述數據的數據。概念總是生澀,對于沒有IT背景的人來說比較抽象,不容易理解,下面舉幾個例子。
- 示例1:歌詞中的元數據
有一首很多80后耳熟能詳的歌曲叫《小芳》,歌詞中有這么一句:“村里有個姑娘叫小芳,長得好看又善良。” 我們對這句歌詞做一下分析。姓名:小芳;性別:姑娘(女);長相:好看;性格:善良;住址:村里。歌詞里面,“小芳”是被描述的對象,而“姓名”“性別”“長相”“性格”“住址”就是描述“小芳”的元數據。 - 示例2:戶口本中的元數據
戶口本中除了有姓名、身份證號、出生日期、住址、民族等信息外,還有家庭關系,如夫妻關系、父子關系、兄弟關系等。這些信息就是描述一個人的元數據,通過戶口本中的元數據,我們不僅能夠了解一個人的基本信息,還能夠了解其家庭關系。 - 示例3:圖書館中的元數據
圖書館都會用一個叫作“圖書目錄”的文件夾來管理藏書,圖書目錄包含圖書名稱、編號、作者、主題、簡介、擺放位置等信息,用來幫助圖書管理員管理和快速查找圖書。元數據就如同圖書館的圖書目錄一樣,能夠幫助數據管理員管理數據。 - 示例4:元數據好比字典
字典包含一個字的注音、含義、組詞、舉例等基本信息及其字體結構、相關引用、出處等。另外,我們可以通過拼音或偏旁部首查到這個字。所有這些信息都是對這個字的詳細描述,它們就是描述這個字的元數據。 - 示例5:元數據就像地圖
地圖是按一定比例運用線條、符號、顏色、文字注記等描繪顯示地球表面的自然地理、行政區域、社會經濟狀況的圖。通過地圖,你能夠找到自己所處的地理位置,了解你從哪里來,到哪里去,途中要路過哪些地方。元數據也具備這樣的特點,它能夠幫助企業了解自己有哪些數據,這些數據存放在哪里,數據的來源、去向及加工路徑等。
元數據與數據的不同之處在于:元數據描述的不是特定的實例或記錄,IT部門和業務部門都需要高質量的元數據來理解現有數據;元數據是比一般意義上的數據范疇更加廣泛的數據,不僅表示數據的類型、名稱、值等信息,還提供數據的上下文描述,比如數據的所屬業務域、取值范圍、數據間的關系、業務規則、數據來源等。
可以用5W1H模型來理解元數據,如下表所示:
知識類型 | 定義 | 技術示例 | 業務示例 |
Who | 誰 | 誰負責數據接口的開發? | 誰是財務域、業務域的負責人? |
What | 干什么或是什么 | CRM和DW之間的數據血緣關系是什么? | 企業市場管理業務域的指標體系包含哪些指標? |
When | 什么時候 | 提取、轉換和加載(ETL)作業什么時候運行? | 我正在分析的數據上次刷新是什么時候? |
Where | 在哪里 | 所有類型的銷售訂單都分布存儲在哪個系統的哪些數據表當中? | 在哪里可以找到按營銷活動顯示我們的社交媒體分析的報告? |
How | 怎么樣,怎么做 | 如何設置數據質量的管理規則? | 如何獲得產品的競爭優勢? |
Why | 為什么 | 出現數據質量問題的根本原因是什么? | 為什么老客戶會不斷流失? |
二、元數據的類型
按照不同應用領域或功能,元數據一般大致可為三類:業務元數據、技術元數據和操作元數據。
1. 業務元數據
業務元數據描述數據的業務含義、業務規則等。通過明確業務元數據,讓人們更容易理解和使用業務元數據。元數據消除了數據二義性,讓人們對數據有一致的認知,避免“自說自話”,進而為數據分析和應用提供支撐。
常見的業務元數據有:
- 業務定義、業務術語解釋等;
- 業務指標名稱、計算口徑、衍生指標等;
- 業務規則引擎的規則、數據質量檢測規則、數據挖掘算法等;
- 數據的安全或敏感級別等。
2. 技術元數據
技術元數據是對數據的結構化,方便計算機或數據庫對數據進行識別、存儲、傳輸和交換。技術元數據可以服務于開發人員,讓開發人員更加明確數據的存儲、結構,從而為應用開發和系統集成奠定基礎。技術元數據也可服務于業務人員,通過元數據理清數據關系,讓業務人員更快速地找到想要的數據,進而對數據的來源和去向進行分析,支持數據血緣追溯和影響分析。
常見的技術元數據有:
- 物理數據庫表名稱、列名稱、字段長度、字段類型、約束信息、數據依賴關系等;
- 數據存儲類型、位置、數據存儲文件格式或數據壓縮類型等;
- 字段級血緣關系、SQL腳本信息、ETL抽取加載轉換信息、接口程序等;
- 調度依賴關系、進度和數據更新頻率等。
3. 操作元數據
操作元數據描述數據的操作屬性,包括管理部門、管理責任人等。明確管理屬性有利于數據管理責任到部門和個人,是數據安全管理的基礎。
常見的操作元數據有:
- 數據所有者、使用者等;
- 數據的訪問方式、訪問時間、訪問限制等;
- 數據訪問權限、組和角色等;
- 數據處理作業的結果、系統執行日志等;
- 數據備份、歸檔人、歸檔時間等。
三、元數據管理的目標
企業元數據管理的本質是有效利用企業數據資產,讓數據發揮出盡可能大的價值。元數據管理可以幫助業務分析師、系統架構師、數據倉庫工程師和軟件開發工程師等相關干系人清楚地知道企業擁有什么數據,它們存儲在哪里,如何抽取、清理、維護這些數據并指導用戶使用。
以下元數據管理目標是企業的普遍訴求。
1. 建立指標解釋體系
滿足用戶對業務和數據理解的需求,建立標準的企業內部知識傳承的信息承載平臺,建立業務分析知識庫,實現知識共享。
能夠回答以下問題:
- 企業有哪些數據?
- 什么是企業有效客戶?有效客戶和客戶有何區別?
- 什么是產品的生命周期?
- 這個數據還叫什么名字?
- 數據倉庫中的存儲過程是誰寫的?它用來干什么?現在還有在用嗎?
典型應用:數據資源目錄、業務術語表
2. 提高數據溯源能力
讓用戶能夠清晰地了解數據倉庫中數據流的來龍去脈、業務處理規則、轉換情況等,提高數據的溯源能力,支持數據倉庫的成長需求,降低因員工換崗造成的影響。
3. 數據質量稽核體系
通過非冗余、非重復的元數據信息提高數據完整性、準確性。元數據管理解決的問題是如何將業務系統中的數據分門別類地進行管理,建立報警、監控機制,出現故障時能及時發現問題,為數據倉庫的數據質量監控提供基礎素材。
四、元數據管理的技術
從技術層面來看,元數據管理的技術主要包括元數據采集、元數據管理、元數據應用和元數據接口等。
1. 元數據采集
在數據治理項目中,常見的元數據有數據源的元數據、數據加工處理過程的元數據、數據倉庫或數據主題庫的元數據、數據應用層的元數據、數據接口服務的元數據等。
元數據采集服務提供各類適配器來滿足以上各類元數據的采集需求,并將元數據整合處理后統一存儲于中央元數據倉庫,實現元數據的統一管理。在這個過程中,數據采集適配器十分重要,元數據采集不僅要能夠適配各種數據庫、各類ETL、各類數據倉庫和報表產品,還需要適配各類結構化或半結構化數據源。
1)關系型數據庫
通過元數據適配器采集來自Oracle、DB2、SQL Server、MySQL、Teradata、Sybase等關系型數據庫的庫表結構、視圖、存儲過程等元數據。關系型數據庫一般都提供了元數據的橋接器,例如Oracle的RDBMS,可實現元數據信息的快速讀取。
2)NoSQL數據庫
元數據采集工具應支持來自MongoDB、CouchDB、Redis、Neo4j、HBase等NoSQL數據庫中的元數據,NoSQL數據庫適配器多半利用了自身管理和查詢Schema的能力。
3)數據倉庫
對于主流的數據倉庫,可以基于其內在的查詢腳本,定制開發相應的適配器對其元數據進行采集。例如MPP數據庫Greenplum,其核心元數據都存儲在pg_database、pg_namespace、pg_class、pg_attribute、pg_proc這幾張表中,通過SQL腳本就可以對其元數據進行采集。Hive表結構信息存儲在外部數據庫中,同時Hive提供類似show table、describe table之類的語法對其元數據信息進行查詢。
當然,也可以利用專業的元數據采集工具來采集數據倉庫系統的元數據。
4)云中的元數據
隨著公有云的日趨成熟,通過提供安全的云連接,將云端企業元數據管理用作核心IT基礎架構的擴展,尤其是在中小企業之間,已經成為現實。云端企業元數據管理通過各種上下文改善信息訪問,并將實時元數據管理、機器學習模型、元數據API推進流數據管道,可以更好地管理企業數據資產。
5)其他元數據適配器
- 建模工具:PowerDesigner、ERwin、ER/Studio、EA等建模工具適配器。
- ETL工具:PowerCenter、DataStage、Kettle等ETL工具適配器。
- BI工具:Cognos、Power BI等前端工具中的二維報表元數據采集適配器。
- Excel適配器:采集Excel格式文件的元數據。
當然,目前市場上的主流元數據產品中還沒有哪一個能做到“萬能適配”,在實際應用過程中都需要進行或多或少的定制化開發。
2. 元數據管理
從技術的角度看,元數據管理一般包括元模型管理、元數據審核、元數據維護、元數據版本管理、元數據變更管理等功能。
1)元模型管理
元模型管理即基于元數據平臺構建符合CWM規范的元數據倉庫,實現元模型統一、集中化管理,提供元模型的查詢、增加、修改、刪除、元數據關系管理、權限設置等功能,支持概念模型、邏輯模型、物理模型的采集和管理,讓用戶直觀地了解已有元模型的分類、統計、使用情況、變更追溯,以及每個元模型的生命周期管理。同時,支持應用開發的模型管理。
支持元模型的全生命周期管理。元模型生命周期中有三個狀態,分別是:設計態、測試態和生產態。
- 設計態的元數據模型,通常由ERWin、PowerDesigner的等設計工具產生。
- 測試態的元數據模型,通常是關系型數據,如Oracle、DB2、MySQL、Teradata等;或非關系型數據庫,如MongoDB、HBase、Hive、Hadoop等。
- 生產態的元數據模型,本質上與測試態元數據差異不大。
通過元數據平臺對應用開發三種狀態的統一管理和對比分析,能夠有效降低元數據變更帶來的風險,為下游ODS、DW的數據應用提供支撐。
2)元數據審核
元數據審核主要是審核采集到元數據倉庫但還未正式發布到數據資源目錄中的元數據。審核過程中支持對數據進行有效性驗證并修復一些問題,例如缺乏語義描述、缺少字段、類型錯誤、編碼缺失或不可識別的字符編碼等。
3)元數據維護
元數據維護就是對信息對象的基本信息、屬性、被依賴關系、依賴關系、組合關系等元數據的新增、修改、刪除、查詢、發布等操作,支持根據元數據字典創建數據目錄,打印目錄結構,根據目錄發現、查找元數據,查看元數據的內容。元數據維護是最基本的元數據管理功能之一,技術人員和業務人員都會使用這個功能查看元數據的基本信息。
4)元數據版本管理
在元數據處于一個相對完整、穩定的時期,或者處于一個里程碑結束時期,可以對元數據定版以發布一個基線版本,以便日后對存異的或錯誤的元數據進行追溯、檢查和恢復。
5)元數據變更管理
用戶可以自行訂閱元數據,當訂閱的元數據發生變更時,系統將自動通知用戶,用戶可根據指引進一步在系統中查詢到變更的具體內容及相關的影響分析。元數據管理平臺提供元數據監控功能,一旦監控到元數據發生變更,就在第一時間通知用戶。
3. 元數據應用
1)數據資產地圖
按數據域對企業數據資源進行全面盤點和分類,并根據元數據字典自動生成企業數據資產的全景地圖。該地圖可以告訴你有哪些數據,在哪里可以找到這些數據,能用這些數據干什么。
數據資產地圖支持以拓撲圖的形式可視化展示各類元數據和數據處理過程,通過不同層次的圖形展現粒度控制,滿足業務上不同應用場景的圖形查詢和輔助分析需要:
▲圖:數據資產地圖示例
2)元數據血緣分析
元數據血緣分析會告訴你數據來自哪里,經過了哪些加工。其價值在于當發現數據問題時可以通過數據的血緣關系追根溯源,快速定位到問題數據的來源和加工過程,減少數據問題排查分析的時間和難度。
▲圖:元數據血緣分析示例
3)元數據影響分析
元數據影響分析會告訴你數據去了哪里,經過了哪些加工。其價值在于當發現數據問題時可以通過數據的關聯關系向下追蹤,快速找到有哪些應用或數據庫使用了這個數據,從而最大限度地減小數據問題帶來的影響。這個功能常用于數據源的元數據變更對下游ETL、ODS、DW等應用的影響分析。
血緣分析是向上追溯,影響分析是向下追蹤,這是這兩個功能的區別。
4)元數據冷熱度分析
元數據冷熱度分析會告訴你哪些數據是企業常用數據,哪些數據屬于僵死數據。其價值在于讓數據活躍程度可視化,讓企業中的業務人員、管理人員都能夠清晰地看到數據的活躍程度,以便他們更好地駕馭數據,處置或激活僵死數據,從而為數據的自助式分析提供支撐。
5)元數據關聯度分析
元數據關聯度分析會告訴你數據與其他數據的關系,以及它們的關系是怎樣建立的。關聯度分析是從某一實體關聯的其他實體及其參與的處理過程兩個角度來查看具體數據的使用情況,形成一張實體和所參與處理過程的網絡,如表與ETL程序、表與分析應用、表與其他表的關聯情況等,從而進一步了解該實體的重要程度。
4. 元數據接口
建立元數據查詢、訪問的統一接口規范,以將企業核心元數據完整、準確地提取到元數據倉庫中進行集中管理和統一共享。
元數據接口規范主要包括接口的編碼方式、接口響應、接口協議、接口安全、連接方式、技術實現、調用方式、報文格式等方面的內容。
- 接口編碼方式:接口編碼方式必須在接口的頭信息中注明,常用的接口編碼方式有UTF-8、GBK、GB2312、ISO-8859-1。
- 接口響應格式:元數據接口常用的報文格式,XML或JSON
- 接口協議:REST/SOAP協議
- 連接方式:POST
- 接口安全:Token身份認證
- 接口地址:????http://url/service?[query]????
寫在最后的話
數據已經成為增強企業競爭力的核心要素,有效地管理和使用數據成為企業的剛需。越來越多的企業使用元數據管理工具來管理云計算、物聯網、數據湖中所產生的數據,以便更容易地理解、更快地查找和更有效地管理企業數據,以實現數據的價值。
本文摘編自《一本書講透數據治理:戰略、方法、工具與實踐》,經出版方授權發布。關于元數據管理,書中還包括:元數據在數字化中的作用,數據管理的意義、元數據管理的方法,元數據管理的挑戰、元數據管理的工具、元數據管理實操等等。