數(shù)據(jù)資產(chǎn)與治理:淺談數(shù)據(jù)血緣的作用與價(jià)值
在數(shù)據(jù)資產(chǎn)管理與數(shù)據(jù)治理領(lǐng)域,數(shù)據(jù)之間的血緣關(guān)系是一個(gè)繞不開的話題,數(shù)據(jù)血緣的完備程度也是評價(jià)一個(gè)企業(yè)數(shù)據(jù)中臺成熟度的重要度量之一。到底什么是數(shù)據(jù)血緣,它對于數(shù)據(jù)工作者和數(shù)據(jù)使用者有哪些舉足輕重的作用呢?
一、從數(shù)據(jù)應(yīng)用場景看什么是數(shù)據(jù)血緣
1.數(shù)據(jù)問題排查與運(yùn)維
工作日早上上班,業(yè)務(wù)人員打開電腦看到昨日數(shù)據(jù)報(bào)表同比下降60%,于是找到數(shù)據(jù)部門“你們數(shù)據(jù)是不是有問題?”。
常見數(shù)據(jù)異常的原因包括:
- 及時(shí)性問題,大數(shù)據(jù)集群資源不足或者平臺系統(tǒng)故障導(dǎo)致任務(wù)延遲
- 代碼質(zhì)量問題,開發(fā)修改邏輯,導(dǎo)致數(shù)據(jù)清洗邏輯有誤帶來數(shù)據(jù)不準(zhǔn)
- 業(yè)務(wù)規(guī)則變更,業(yè)務(wù)變動(dòng)數(shù)據(jù)加工代碼未及時(shí)更新
- 源端臟數(shù)據(jù)問題,業(yè)務(wù)開發(fā)系統(tǒng)發(fā)布數(shù)據(jù)源問題導(dǎo)致結(jié)果錯(cuò)誤
數(shù)據(jù)人員的排查路徑如下:
第一步:找到報(bào)表指標(biāo)來源的API接口,確定來源數(shù)據(jù)表(可能是GP表或者ClickHouse表)
第二步:查找GP表對應(yīng)的數(shù)據(jù)同步任務(wù),以及Hive表的產(chǎn)出任務(wù),查看任務(wù)是否正常執(zhí)行完畢
第三步:找到Hive表加工任務(wù)的上游,逐層向上排查,先保證整個(gè)鏈路的任務(wù)都是正常執(zhí)行的,因?yàn)榧皶r(shí)性問題是最高頻、常見且容易處理的問題
第四步:檢查數(shù)據(jù)加工流程各項(xiàng)正常后,再看指標(biāo)產(chǎn)出表的加工代碼,一是看是否近期有人為變更,二是翻代碼校驗(yàn)對應(yīng)的邏輯,按照指標(biāo)加工的代碼層級逐級定位有問題的數(shù)據(jù)表。
第五步:通過層層排查,定位了問題,但是問題的修復(fù)和數(shù)據(jù)重跑需要些時(shí)間,得趕緊通知下游,避免錯(cuò)誤數(shù)據(jù)給業(yè)務(wù)帶來的錯(cuò)誤決策和應(yīng)用,比如錯(cuò)把老客算成新客,帶來營銷費(fèi)用損失,數(shù)據(jù)開發(fā)就要背鍋了。
2.數(shù)據(jù)治理與成本優(yōu)化
數(shù)據(jù)部門通常是一個(gè)企業(yè)的成本中心(toB商業(yè)化數(shù)據(jù)產(chǎn)品除外),一個(gè)中大型數(shù)據(jù)驅(qū)動(dòng)的互聯(lián)網(wǎng)企業(yè)大數(shù)據(jù)集群服務(wù)器一般會(huì)占公司服務(wù)器比例在15%~30%,一臺服務(wù)器成本4W,每天10PB數(shù)據(jù)存儲(chǔ)和計(jì)算處理量,大概需要1000+服務(wù)器節(jié)點(diǎn),機(jī)器折舊周期3年算,平均個(gè)月也需要大幾十萬的硬件成本。
所以,數(shù)據(jù)部門除了做增量的業(yè)務(wù)支撐外,還要常態(tài)化的數(shù)據(jù)治理,把長期沒人使用的冷數(shù)據(jù)進(jìn)行刪除,釋放存儲(chǔ)和計(jì)算資源。直接刪庫跑路肯定不行,刪除或歸檔任何一個(gè)數(shù)據(jù),都需要盡可能全面的確認(rèn)到底有沒有下游的業(yè)務(wù)方在使用。
3.數(shù)據(jù)血緣的定義
數(shù)據(jù)血緣,顧名思義,數(shù)據(jù)之間的血緣關(guān)系,好比人之間親情遠(yuǎn)近親疏一樣。
百科定義:數(shù)據(jù)血緣關(guān)系是指數(shù)據(jù)在產(chǎn)生、處理、流轉(zhuǎn)到消亡過程中,數(shù)據(jù)之間形成的一種類似于人類社會(huì)血緣關(guān)系的關(guān)系。數(shù)據(jù)血緣從數(shù)據(jù)角度可以是數(shù)據(jù)庫、表、字段、系統(tǒng)、應(yīng)用程序,即數(shù)據(jù)存儲(chǔ)在什么數(shù)據(jù)庫的什么表,對應(yīng)的字段是什么以及字段的屬性。從業(yè)務(wù)角度主要是數(shù)據(jù)所屬業(yè)務(wù)線,涉及到業(yè)務(wù)便要梳理清楚數(shù)據(jù)的產(chǎn)生邏輯、數(shù)據(jù)的使用邏輯以及業(yè)務(wù)線之間的關(guān)聯(lián)關(guān)系。因?yàn)閿?shù)據(jù)的生產(chǎn)加工最終是要回歸和賦能業(yè)務(wù),什么數(shù)據(jù),被哪個(gè)業(yè)務(wù)場景使用,需要血緣關(guān)系進(jìn)行串聯(lián)。
二、數(shù)據(jù)血緣作用與表現(xiàn)形式
1.數(shù)據(jù)血緣的作用
開篇的場景中的案例是數(shù)據(jù)血緣的兩個(gè)典型的作用,總結(jié)成一句話就是數(shù)據(jù)血緣可以幫助數(shù)據(jù)生產(chǎn)者以及消費(fèi)者更好地對數(shù)據(jù)進(jìn)行追根溯源,提升數(shù)據(jù)運(yùn)維、數(shù)據(jù)治理的效率。
(1)提升數(shù)據(jù)問題排查效率
數(shù)據(jù)從生產(chǎn)到賦能業(yè)務(wù)應(yīng)用經(jīng)過很多的處理環(huán)節(jié),業(yè)務(wù)端報(bào)表或數(shù)據(jù)應(yīng)用服務(wù)異常時(shí),需要第一時(shí)間定位問題,排查修復(fù)。如果靠一層一層的人肉翻代碼效率非常低下,一方面數(shù)據(jù)開發(fā)人力花費(fèi)在排查上,另一方面定位問題時(shí)間越長業(yè)務(wù)影響和損失越大,基于血緣數(shù)據(jù)加以可視化的展現(xiàn)形式,可以直觀地發(fā)現(xiàn)數(shù)據(jù)生產(chǎn)鏈路,以及各個(gè)環(huán)節(jié)有無異常。
(2)有助于優(yōu)化數(shù)據(jù)資產(chǎn)成本
隨著業(yè)務(wù)地發(fā)展數(shù)據(jù)不斷增長,任務(wù)、數(shù)據(jù)表只增不減會(huì)不斷膨脹大數(shù)據(jù)資源成本。很多時(shí)候不是不愿意做數(shù)據(jù)、服務(wù)治理,二是不敢。也就是不知道對應(yīng)的服務(wù)有哪些業(yè)務(wù)在使用,缺少治理的依據(jù),與其直接下線帶來業(yè)務(wù)影響,倒不如一直維持現(xiàn)狀。構(gòu)建全面準(zhǔn)確的全鏈路數(shù)據(jù)血緣,就可以找出數(shù)據(jù)下游應(yīng)用方,做好溝通和信息同步,長期沒有調(diào)用的服務(wù),及時(shí)做下線處理,節(jié)省數(shù)據(jù)成本。
(3)提升數(shù)據(jù)產(chǎn)品及應(yīng)用體驗(yàn)
數(shù)據(jù)部門經(jīng)常被業(yè)務(wù)Diss數(shù)據(jù)是不是有問題,長此以往,會(huì)降低業(yè)務(wù)對數(shù)據(jù)準(zhǔn)確度的信任,搞數(shù)據(jù)的天天被打上數(shù)據(jù)不準(zhǔn)的標(biāo)簽還是很無奈的。在數(shù)據(jù)產(chǎn)出任務(wù)層面對數(shù)據(jù)質(zhì)量的準(zhǔn)確性、一致性、及時(shí)性、完整性等維度進(jìn)行監(jiān)控覆蓋,觸發(fā)報(bào)警機(jī)制后,利用數(shù)據(jù)血緣關(guān)系,對下游應(yīng)用進(jìn)行通知提醒。業(yè)務(wù)看到后,至少知道數(shù)據(jù)部門在處理問題了,不會(huì)利用錯(cuò)的數(shù)據(jù)做錯(cuò)誤的決策,或者形成每次都是業(yè)務(wù)先發(fā)現(xiàn)問題的認(rèn)知。
(4)方便確認(rèn)數(shù)據(jù)處理邏輯
業(yè)務(wù)部門在使用數(shù)據(jù)時(shí),有時(shí)候需要確認(rèn)數(shù)據(jù)口徑和加工邏輯是什么,是否符合自己的需求,通過血緣的可視化展示,可以方便業(yè)務(wù)部門查看數(shù)據(jù)的處理過程。
2.血緣的表現(xiàn)形式
每個(gè)數(shù)據(jù)表、字段、指標(biāo)都可以認(rèn)為是一個(gè)數(shù)據(jù)實(shí)體,而生產(chǎn)它的上游,以及使用它的下游,都是對應(yīng)的數(shù)據(jù)實(shí)體之間的關(guān)系,因此,在血緣數(shù)據(jù)的可視化展示時(shí),主要采用可以直觀表示數(shù)據(jù)生產(chǎn)鏈路的形態(tài),每個(gè)節(jié)點(diǎn)需要包含以下要素:
當(dāng)前節(jié)點(diǎn)信息:名稱、類型、狀態(tài)
- 上游:關(guān)系、上游名稱、類型、狀態(tài)
- 下游:關(guān)系、上游名稱、類型、狀態(tài)
三、血緣數(shù)據(jù)獲取與數(shù)據(jù)存儲(chǔ)
1.血緣數(shù)據(jù)的獲取方式
數(shù)據(jù)血緣的獲取主要有程序解析與人工采集兩種方式。比如流式數(shù)據(jù)處理的flink任務(wù),從哪個(gè)源(source)的Kafka topic,加工清洗后,存儲(chǔ)到哪個(gè)Sink,離線批處理任務(wù)Hive數(shù)倉模型,也可以基于SQL輸入輸出表進(jìn)行解析得到。數(shù)據(jù)開發(fā)調(diào)度任務(wù)之間的依賴關(guān)系等。一般早期時(shí)因技術(shù)和實(shí)現(xiàn)成本問題,血緣會(huì)以Hive數(shù)據(jù)源為主,但實(shí)際應(yīng)用時(shí),只有構(gòu)建成全鏈路的數(shù)據(jù)血緣,才能最大發(fā)揮其價(jià)值。
所以在相關(guān)數(shù)據(jù)平臺、系統(tǒng)建設(shè)時(shí),要有意識的進(jìn)行血緣數(shù)據(jù)的采集。人工采集主要是程序解析的輔助形式,畢竟從統(tǒng)計(jì)的概率上看,人比機(jī)器更容易犯錯(cuò)。對于一些Jar包短期難以解析的流程,可以輔以人工輸入的形式。
2.血緣數(shù)據(jù)的存儲(chǔ)演進(jìn)
雖然傳統(tǒng)的MySQL數(shù)據(jù)庫也可以存儲(chǔ)血緣數(shù)據(jù),但是由于血緣數(shù)據(jù)的形態(tài)以及查詢使用的場景對性能要求更高,所以在實(shí)際應(yīng)用時(shí),主要采用圖數(shù)據(jù)庫存儲(chǔ)的方式。常見的圖數(shù)據(jù)庫的特點(diǎn)對比如下:
圖片來源網(wǎng)絡(luò)
四、總結(jié)
數(shù)據(jù)血緣是數(shù)據(jù)開發(fā)者效能提升利器,同時(shí)也是貫通數(shù)據(jù)采、存、管、用全鏈路流程的紐帶,建立完善的數(shù)據(jù)血緣關(guān)系,數(shù)據(jù)應(yīng)用的成熟度才會(huì)更高。針對數(shù)據(jù)血緣這一領(lǐng)域,也可以構(gòu)建獨(dú)立的數(shù)據(jù)產(chǎn)品模塊,以數(shù)據(jù)產(chǎn)品提升血緣應(yīng)用的效率。
專欄作家
數(shù)據(jù)干飯人,微信號公眾號:數(shù)據(jù)干飯人,人人都是產(chǎn)品經(jīng)理專欄作家。專注數(shù)據(jù)中臺產(chǎn)品領(lǐng)域,覆蓋開發(fā)套件,數(shù)據(jù)資產(chǎn)與數(shù)據(jù)治理,BI與數(shù)據(jù)可視化,精準(zhǔn)營銷平臺等數(shù)據(jù)產(chǎn)品。擅長大數(shù)據(jù)解決方案規(guī)劃與產(chǎn)品方案設(shè)計(jì)。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!