元數(shù)據(jù)系統(tǒng)的產(chǎn)品形態(tài)

上一篇 給初心者的數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù)系統(tǒng)開發(fā)指南 主要是描述了元數(shù)據(jù)的基本概念和典型需求。實(shí)際的開發(fā)和使用中,還有個(gè)基本問題容易被混淆,關(guān)于元數(shù)據(jù)的產(chǎn)品形態(tài)。

元數(shù)據(jù)門戶

這是最直觀的產(chǎn)品形態(tài),可以讓數(shù)據(jù)的開發(fā)者有個(gè)地方,可以集中查看數(shù)據(jù)倉(cāng)庫(kù)的基本信息,比如表結(jié)構(gòu)、注釋。這是個(gè)生產(chǎn)力工具,可以提升數(shù)據(jù)開發(fā)者的生產(chǎn)效率。多從數(shù)據(jù)開發(fā)者的使用角度思考,讓他們用的爽,元數(shù)據(jù)門戶的用戶數(shù)自然而然就會(huì)提升。

這個(gè)門戶可以是獨(dú)立的域名和頁面,也可以嵌入到開發(fā)環(huán)境里。比如著名的開源開發(fā)平臺(tái)hue,就可以查看Hive表的基本信息,當(dāng)然系統(tǒng)自帶的功能比較弱,不足以提升生產(chǎn)效率。

開發(fā)的策略有兩種

  • 基于需求:作為數(shù)據(jù)倉(cāng)庫(kù)管理者,被用戶吐槽或咨詢最多的,就優(yōu)先通過元數(shù)據(jù)的系統(tǒng)能力解決。
  • 主動(dòng)設(shè)計(jì):數(shù)據(jù)開發(fā)者很難有全局和長(zhǎng)遠(yuǎn)的視角,他們并不知道元數(shù)據(jù)可能的更大價(jià)值,可以主動(dòng)設(shè)計(jì)元數(shù)據(jù)門戶的功能,然后按照自己的節(jié)奏去開發(fā)。

快速找到想要的信息

為了更高效展示,元數(shù)據(jù)門戶需要面向不同的用戶,給出不同的檢索方案

  • 搜索:根據(jù)表名、字段名、注釋、責(zé)任人,匹配到相應(yīng)的數(shù)據(jù)倉(cāng)庫(kù)表??梢詤⒖贾髁魉阉饕娴母呒?jí)搜索,提供更多維度的篩選,比如按業(yè)務(wù)域、大小、更新時(shí)間等篩選,以及更清晰的關(guān)鍵信息展示。
  • 導(dǎo)航:搜索面向的是熟練開發(fā)者,他們知道自己要搜什么。對(duì)于小白用戶,更好的尋找信息方式是導(dǎo)航,類似于hao123這樣的網(wǎng)址導(dǎo)航。把數(shù)據(jù)倉(cāng)庫(kù)的信息歸類展示,比如按多級(jí)的主題域,優(yōu)先展示最常用的表。

血緣關(guān)系是另一種可以幫助用戶找到信息的工具

  • 表級(jí)血緣:實(shí)踐證明,即便是熟練的開發(fā)者,也只能記住少量關(guān)鍵表,通過關(guān)鍵表的血緣關(guān)系,可以很快找到關(guān)聯(lián)的其他表。
  • 字段級(jí)血緣:可以更細(xì)粒度跟蹤某個(gè)字段的上下游關(guān)系,比如修改一個(gè)字段,要觀察影響到的下游任務(wù)。

上面都是從表的角度描述,另一種更貼近小白用戶的是指標(biāo)角度的描述。一個(gè)典型場(chǎng)景,產(chǎn)品經(jīng)理想做用戶畫像,可能會(huì)拍腦袋決定需要用若干統(tǒng)計(jì)指標(biāo)來衡量用戶的購(gòu)物偏好。如果有這么一個(gè)指標(biāo)的導(dǎo)航系統(tǒng),可以快速勾選數(shù)據(jù)倉(cāng)庫(kù)已經(jīng)存在的指標(biāo),這個(gè)拍腦袋的過程就會(huì)很愉快。

元數(shù)據(jù)驅(qū)動(dòng)數(shù)據(jù)倉(cāng)庫(kù)開發(fā)

怎么提升數(shù)據(jù)倉(cāng)庫(kù)管理員對(duì)系統(tǒng)的掌控力呢?把數(shù)據(jù)倉(cāng)庫(kù)規(guī)范落地到元數(shù)據(jù)里可以做到。部分能力與開發(fā)平臺(tái)、調(diào)度系統(tǒng)的邊界已經(jīng)很模糊,要根據(jù)實(shí)際情況來決定在哪邊實(shí)現(xiàn),或者干脆只是一個(gè)系統(tǒng)。

  • 開發(fā)時(shí):命名規(guī)范、SQL規(guī)范、鑒權(quán),這些能避免數(shù)據(jù)倉(cāng)庫(kù)被濫用。
  • 運(yùn)行時(shí):數(shù)據(jù)質(zhì)量校驗(yàn),問題嚴(yán)重時(shí)需停止調(diào)度并告警;數(shù)據(jù)傾斜、異常任務(wù)檢測(cè)等。運(yùn)行時(shí)主要是能第一時(shí)間發(fā)現(xiàn)異常任務(wù),并幫助及時(shí)解決。
  • 運(yùn)行后:通過數(shù)據(jù)質(zhì)量事件,生成數(shù)據(jù)質(zhì)量報(bào)告;通過運(yùn)行時(shí)信息采集,生成性能消耗分析報(bào)表;通過血緣關(guān)系,做到數(shù)據(jù)質(zhì)量事件的影響分析;通過審計(jì),得到數(shù)據(jù)平臺(tái)的使用情況報(bào)表。能做的事情還有很多。

這里的產(chǎn)品形態(tài)可以有兩種

  • 面向開發(fā)者的,需要與開發(fā)平臺(tái)、調(diào)度系統(tǒng)結(jié)合,比如SQL規(guī)范的校驗(yàn)與錯(cuò)誤提示。元數(shù)據(jù)系統(tǒng)作為強(qiáng)業(yè)務(wù)邏輯的子系統(tǒng),可以實(shí)現(xiàn)大部分?jǐn)?shù)據(jù)倉(cāng)庫(kù)的規(guī)范,并提供一系列接口給其他子系統(tǒng)使用,比如數(shù)據(jù)同步、調(diào)度、IDE、BI系統(tǒng)。
  • 面向數(shù)據(jù)倉(cāng)庫(kù)管理者的,比如一系列分析報(bào)表,很可能是基于元數(shù)據(jù)的二次統(tǒng)計(jì)分析。

有的公司會(huì)把某個(gè)管理功能獨(dú)立出子系統(tǒng),比如數(shù)據(jù)質(zhì)量,可能會(huì)有準(zhǔn)確性校驗(yàn)的子系統(tǒng),也可能有數(shù)據(jù)生成及時(shí)性的監(jiān)控子系統(tǒng)。

系統(tǒng)背后的數(shù)據(jù)采集

要實(shí)現(xiàn)上述功能,首先是有這些元數(shù)據(jù),需要從數(shù)據(jù)倉(cāng)庫(kù)里采集??梢杂羞@么幾種辦法

  • 通過腳本采集
  • 后端服務(wù)提供接口,由外部調(diào)度系統(tǒng)觸發(fā)采集
  • 后端服務(wù)內(nèi)部定時(shí)觸發(fā)采集

建議盡量把采集功能在后端服務(wù)實(shí)現(xiàn)。腳本采集開發(fā)起來很快,但是維護(hù)較困難,一旦功能修改,服務(wù)端的采集和展示功能在一起,很容易保證一致性,而外部腳本修改會(huì)更困難。

小結(jié)

元數(shù)據(jù)系統(tǒng)的產(chǎn)品概況來說有這么幾類

  • 數(shù)據(jù)開發(fā)者可見
    • 元數(shù)據(jù)門戶,提升開發(fā)者生產(chǎn)效率
    • 把數(shù)據(jù)倉(cāng)庫(kù)規(guī)范嵌入到開發(fā)平臺(tái),甚至作為獨(dú)立子系統(tǒng),保證數(shù)據(jù)開發(fā)可控
  • 管理員可見:根據(jù)元數(shù)據(jù),得到數(shù)據(jù)倉(cāng)庫(kù)的各種報(bào)表
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容