元數(shù)據(jù)管理在數(shù)據(jù)倉(cāng)庫(kù)的實(shí)踐應(yīng)用
元數(shù)據(jù)管理是企業(yè)數(shù)據(jù)治理的基礎(chǔ),是數(shù)據(jù)倉(cāng)庫(kù)的提升。作為一名數(shù)據(jù)人,首要任務(wù)就是理解元數(shù)據(jù)管理。
本篇文章將為大家梳理元數(shù)據(jù)的概念,介紹元數(shù)據(jù)管理在數(shù)據(jù)倉(cāng)庫(kù)的地位、場(chǎng)景及工具。
01 什么是數(shù)據(jù)倉(cāng)庫(kù)的元數(shù)據(jù)管理?
1、什么是元數(shù)據(jù)?
如果一本書是一個(gè)“數(shù)據(jù)",那么它的書名、封面、出版社、作者、總頁碼就是它的“元數(shù)據(jù)”。 如果一個(gè)電影是一個(gè)“數(shù)據(jù)”,那么它的總時(shí)長(zhǎng)、制作人、總導(dǎo)演、演員列表就是它的“元數(shù)據(jù)”。 如果數(shù)據(jù)庫(kù)中某個(gè)表是一個(gè)”數(shù)據(jù)”,那么它的列名、列類型、列長(zhǎng)度、表注釋就是它的"元數(shù)據(jù)"。
2、什么是數(shù)據(jù)倉(cāng)庫(kù)?
數(shù)據(jù)倉(cāng)庫(kù) ,由數(shù)據(jù)倉(cāng)庫(kù)之父比爾·恩門(Bill Inmon)于 1990 年提出,主要功能仍是將組織透過資訊系統(tǒng)之聯(lián)機(jī)事務(wù)處理(OLTP)經(jīng)年累月所累積的大量資料,透過數(shù)據(jù)倉(cāng)庫(kù)理論所特有的資料儲(chǔ)存架構(gòu),做有系統(tǒng)的分析整理,以利各種分析方法如聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘(Data Mining)之進(jìn)行,并進(jìn)而支持如決策支持系統(tǒng)(DSS)、主管資訊系統(tǒng)(EIS)之創(chuàng)建,幫助決策者能快速有效的自大量資料中,分析出有價(jià)值的資訊,以利決策擬定及快速回應(yīng)外在環(huán)境變動(dòng),幫助建構(gòu)商業(yè)智能(BI)。
3、什么是數(shù)據(jù)倉(cāng)庫(kù)的元數(shù)據(jù)管理?

02 為什么數(shù)據(jù)倉(cāng)庫(kù)要進(jìn)行元數(shù)據(jù)管理?
1、建設(shè)數(shù)據(jù)倉(cāng)庫(kù)所必須
2、幫助快速理解數(shù)倉(cāng)系統(tǒng)
3、高效精準(zhǔn)溝通
4、保證數(shù)據(jù)質(zhì)量
5、降低數(shù)據(jù)系統(tǒng)建設(shè)成本
6、快速分析變更影響
7、為未來做好準(zhǔn)備
03 數(shù)據(jù)倉(cāng)庫(kù)中元數(shù)據(jù)的組成
1、業(yè)務(wù)元數(shù)據(jù)
主題定義:每段 ETL、表背后的歸屬業(yè)務(wù)主題。 業(yè)務(wù)描述:每段代碼實(shí)現(xiàn)的具體業(yè)務(wù)邏輯。 標(biāo)準(zhǔn)指標(biāo):類似于 BI 中的語義層、數(shù)倉(cāng)中的一致性事實(shí);將分析中的指標(biāo)進(jìn)行規(guī)范化。 標(biāo)準(zhǔn)維度:同標(biāo)準(zhǔn)指標(biāo),對(duì)分析的各維度定義實(shí)現(xiàn)規(guī)范化、標(biāo)準(zhǔn)化。
2、技術(shù)元數(shù)據(jù)
數(shù)據(jù)清洗元數(shù)據(jù):數(shù)據(jù)清洗,主要目的是為了解決掉臟數(shù)據(jù)及規(guī)范數(shù)據(jù)格式。因此此處元數(shù)據(jù)主要為:各表各列的"正確"數(shù)據(jù)規(guī)則;默認(rèn)數(shù)據(jù)類型的"正確"規(guī)則。 數(shù)據(jù)處理元數(shù)據(jù):數(shù)據(jù)處理,例如常見的表輸入表輸出;非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化;特殊字段的拆分等。源數(shù)據(jù)到數(shù)倉(cāng)、數(shù)據(jù)集市層的各類規(guī)則。比如內(nèi)容、清理、數(shù)據(jù)刷新規(guī)則。
(3)數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)
業(yè)務(wù)系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)集市的體系結(jié)構(gòu)和模式等。
3、管理元數(shù)據(jù)
04 如何建設(shè)數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)管理?
CWM (CommonWarehouseMetamodel公共倉(cāng)庫(kù)元模型)是 OMG 組織在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中定義了一套完整的元模型體系結(jié)構(gòu),用于數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建和應(yīng)用的元數(shù)據(jù)建模。公共倉(cāng)庫(kù)元模型指定的接口,可用于啟用交換倉(cāng)庫(kù)之間元數(shù)據(jù)倉(cāng)庫(kù)和業(yè)務(wù)智能工具、倉(cāng)庫(kù)平臺(tái)、應(yīng)用的元數(shù)據(jù)建模和倉(cāng)庫(kù)元數(shù)據(jù)存儲(chǔ)在分布式異構(gòu)環(huán)境 CWM 元模型由一系列子元模型構(gòu)成。 由于 CWM 制定時(shí)間是 2001 年,且過于細(xì)節(jié)深入,因此筆者認(rèn)為其更適合作為開發(fā)參考而非開發(fā)標(biāo)準(zhǔn)。
在建設(shè)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的初期,只需確定源系統(tǒng)的元數(shù)據(jù)構(gòu)成和 數(shù)倉(cāng)我們想要實(shí)現(xiàn)的元數(shù)據(jù)內(nèi)容:比如,我們只想通過元數(shù)據(jù)來管理數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的轉(zhuǎn)換過程,以及有關(guān)數(shù)據(jù)的抽取路線,以使數(shù)據(jù)倉(cāng)庫(kù)開發(fā)和使用人員明白倉(cāng)庫(kù)中數(shù)據(jù)的整個(gè)歷史過程。 確定源系統(tǒng)和元數(shù)據(jù)構(gòu)成后,先將源系統(tǒng)的元數(shù)據(jù)整理并記錄,可以用文檔記錄;也可以存入關(guān)系型數(shù)據(jù)庫(kù)中。 隨著數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的建設(shè),逐步將需要的元數(shù)據(jù)補(bǔ)充錄入——例如 DM 的語義層、ETL 的同步規(guī)則。 數(shù)據(jù)倉(cāng)庫(kù)建設(shè)完成后,對(duì)元數(shù)據(jù)進(jìn)行結(jié)構(gòu)化、標(biāo)準(zhǔn)化儲(chǔ)存。
05 元數(shù)據(jù)的應(yīng)用場(chǎng)景
1、影響分析
如果我要改動(dòng)某個(gè)表、ETL,會(huì)造成怎樣的影響?
2、血緣分析
血緣分析是 data science 非常重要的應(yīng)用,未來筆者會(huì)單獨(dú)展開介紹。
3、ETL 自動(dòng)化管理
以上的規(guī)則其實(shí)就屬于一部分元數(shù)據(jù)。
4、數(shù)據(jù)質(zhì)量管理
數(shù)據(jù)質(zhì)量管理,屬于?數(shù)據(jù)治理?與?元數(shù)據(jù)管理?交集,更偏向數(shù)據(jù)治理方面。未來也會(huì)展開更詳細(xì)介紹。
5、數(shù)據(jù)安全管理
06 常見的元數(shù)據(jù)管理系統(tǒng)

2、wherehows

支持元數(shù)據(jù)歷史版本及對(duì)比分析。 一站式的元數(shù)據(jù)分析管理系統(tǒng)。
支持的源系統(tǒng)比較少 開源版本僅支持 Azkaban 調(diào)度任務(wù)的血緣分析。其他調(diào)度任務(wù)僅能獲得元數(shù)據(jù)信息,而沒有血緣信息。 血緣分析較粗,不支持列級(jí)血緣。如 HDFS 僅能顯示數(shù)據(jù)文件之間的血緣。 Web UI 僅提供查詢能力,相關(guān)配置需要調(diào)用 API 接口。 缺乏用戶、權(quán)限管理能力。
3、其他

07?總結(jié)

整個(gè)公司數(shù)據(jù)的集成——數(shù)據(jù)倉(cāng)庫(kù)的搭建 整個(gè)公司業(yè)務(wù)流程的完善——"業(yè)務(wù)中臺(tái)"的實(shí)現(xiàn) 整個(gè)公司技術(shù)開發(fā)的統(tǒng)一——"技術(shù)中臺(tái)"的實(shí)現(xiàn)
阿里所推崇的數(shù)據(jù)中臺(tái),理念上比較接近 數(shù)據(jù)倉(cāng)庫(kù)+元數(shù)據(jù)管理。
用 ETL 的開發(fā)舉一個(gè)例子。
全部用 SQL 解決——開發(fā)很快,結(jié)果也很少出錯(cuò)。但未來可能要讀一個(gè)上千行的 SQL。 全部用 python 解決——開發(fā)、維護(hù)的代碼門檻較高,且性能相比 SQL 相差何止百倍。 python 來調(diào)度 SQL ——筆者較為推崇的方法,將處理邏輯變?yōu)?python 的函數(shù)、類,但底層邏輯使用 SQL 實(shí)現(xiàn)。從而達(dá)到一個(gè)相對(duì)平衡的角度。
