数据治理:数据血缘关系分析
數(shù)據(jù)治理:數(shù)據(jù)血緣關(guān)系分析
此文章由百度的多篇文章歸納總結(jié)而成,以供本人學(xué)習(xí)和記錄方便,不做任何商務(wù)用途,如有侵權(quán),請(qǐng)聯(lián)系我刪除,謝謝!
參考列表:
微信 - 頭哥侃碼公眾號(hào):數(shù)據(jù)治理的大方向是Database Mesh?先把數(shù)據(jù)之間的血緣關(guān)系搞明白,咱再吹行嗎?
搜狐 - 數(shù)據(jù)大家:數(shù)據(jù)之間有血緣關(guān)系?數(shù)據(jù)治理不得不懂的血緣關(guān)系梳理方法
知乎 - NBI大數(shù)據(jù)可視化分析平臺(tái): 數(shù)據(jù)治理中的數(shù)據(jù)血緣關(guān)系是什么?用來(lái)解決什么問(wèn)題
相親相愛(ài)的數(shù)據(jù):論數(shù)據(jù)血緣關(guān)系
文章目錄
- 數(shù)據(jù)治理:數(shù)據(jù)血緣關(guān)系分析
- 前言
- 血緣關(guān)系概念
- 數(shù)據(jù)血緣關(guān)系的應(yīng)用場(chǎng)景是什么
- 特有特征
- 數(shù)據(jù)血緣關(guān)系的層次
- 數(shù)據(jù)血緣關(guān)系的可視化
- 舉例說(shuō)明
- 我們?nèi)绾螌?shù)據(jù)血緣關(guān)系進(jìn)行可視化呢
- 數(shù)據(jù)血緣關(guān)系分析
- 附 一
前言
數(shù)據(jù)血緣屬于數(shù)據(jù)治理中的一個(gè)概念,是在數(shù)據(jù)溯源的過(guò)程中找到相關(guān)數(shù)據(jù)之間的聯(lián)系,它是一個(gè)邏輯概念。
數(shù)據(jù)治理里經(jīng)常提到的一個(gè)詞就是血緣分析,血緣分析是保證數(shù)據(jù)融合的一個(gè)手段,通過(guò)血緣分析實(shí)現(xiàn)數(shù)據(jù)融合處理的可追溯。大數(shù)據(jù)數(shù)據(jù)血緣是指數(shù)據(jù)產(chǎn)生的鏈路,直白點(diǎn)說(shuō),就是我們這個(gè)數(shù)據(jù)是怎么來(lái)的,經(jīng)過(guò)了哪些過(guò)程和階段。
血緣關(guān)系概念
Data Lineage 數(shù)據(jù)血統(tǒng),也叫做Data Provenance 數(shù)據(jù)起源或Data Pedigree 數(shù)據(jù)譜系。
任何的數(shù)據(jù),從產(chǎn)生、ETL處理、加工、融合、流轉(zhuǎn),到最終消亡,數(shù)據(jù)之間自然會(huì)形成一種關(guān)系。好比人類社會(huì)中的人際關(guān)系,類似的一種關(guān)系來(lái)表達(dá)數(shù)據(jù)之間的這種關(guān)系,稱之為數(shù)據(jù)的血緣關(guān)系。
從技術(shù)角度來(lái)講,數(shù)據(jù)a通過(guò)ETL處理生成了數(shù)據(jù)b,那么,我們會(huì)說(shuō),數(shù)據(jù)a與數(shù)據(jù)b具有血緣關(guān)系。不過(guò)與人類的血緣關(guān)系略有不同,數(shù)據(jù)血緣關(guān)系還具有一些個(gè)性化的特征。
數(shù)據(jù)血緣關(guān)系的應(yīng)用場(chǎng)景是什么
在數(shù)據(jù)的處理過(guò)程中,從數(shù)據(jù)源頭到最終的數(shù)據(jù)生成,每個(gè)環(huán)節(jié)都可能會(huì)導(dǎo)致我們出現(xiàn)數(shù)據(jù)質(zhì)量的問(wèn)題。比如我們數(shù)據(jù)源本身數(shù)據(jù)質(zhì)量不高,在后續(xù)的處理環(huán)節(jié)中如果沒(méi)有進(jìn)行數(shù)據(jù)質(zhì)量的檢測(cè)和處理,那么這個(gè)數(shù)據(jù)信息最終流轉(zhuǎn)到我們的目標(biāo)表,它的數(shù)據(jù)質(zhì)量也是不高的。也有可能在某個(gè)環(huán)節(jié)的數(shù)據(jù)處理中,我們對(duì)數(shù)據(jù)進(jìn)行了一些不恰當(dāng)?shù)奶幚?#xff0c;導(dǎo)致后續(xù)環(huán)節(jié)的數(shù)據(jù)質(zhì)量變得糟糕。因此,對(duì)于數(shù)據(jù)的血緣關(guān)系,我們要確保每個(gè)環(huán)節(jié)都要注意數(shù)據(jù)質(zhì)量的檢測(cè)和處理,那么我們后續(xù)數(shù)據(jù)才會(huì)有優(yōu)良的基因,即有很高的數(shù)據(jù)質(zhì)量。
特有特征
歸屬性:特定的數(shù)據(jù)歸屬特定的組織(或個(gè)人),數(shù)據(jù)具有歸屬性。
多源性:同一個(gè)數(shù)據(jù)可以有多個(gè)來(lái)源, 一個(gè)數(shù)據(jù)可以是多個(gè)數(shù)據(jù)經(jīng)過(guò)加工而生成的,而且這種加工過(guò)程可以是多個(gè)。
可追溯性: 數(shù)據(jù)的血緣關(guān)系,體現(xiàn)了數(shù)據(jù)的生命周期,體現(xiàn)了數(shù)據(jù)從產(chǎn)生到消亡的整個(gè)過(guò)程,具備可追溯性。
層次性: 數(shù)據(jù)的血緣關(guān)系是有層次的。對(duì)數(shù)據(jù)的分類、歸納、總結(jié)等對(duì)數(shù)據(jù)進(jìn)行的描述信息又形成了新的數(shù)據(jù),不同程度的描述信息形成了數(shù)據(jù)的層次。
數(shù)據(jù)血緣關(guān)系的層次
上圖描述的是存儲(chǔ)在數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù)血緣關(guān)系的層次結(jié)構(gòu),是最典型的一種血緣關(guān)系的層次結(jié)構(gòu)。對(duì)于不同類型的數(shù)據(jù),血緣關(guān)系的層次結(jié)構(gòu)有細(xì)微的差別。
一般來(lái)說(shuō),數(shù)據(jù)都?xì)w屬于某個(gè)組織或者某個(gè)人,數(shù)據(jù)都有所有者。數(shù)據(jù)在不同的所有者之間流轉(zhuǎn)、融合,形成所有者之間通過(guò)數(shù)據(jù)聯(lián)系起來(lái)的一種關(guān)系,是數(shù)據(jù)血緣關(guān)系的一種,在層次結(jié)構(gòu)中處在最上層。這種關(guān)系,清楚地表明了數(shù)據(jù)的提供者和需求者。
數(shù)據(jù)庫(kù)、表和字段,是數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。不同類型的數(shù)據(jù),有不同的存儲(chǔ)結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)決定了血緣關(guān)系的層次結(jié)構(gòu)。所以不同類型的數(shù)據(jù)的血緣關(guān)系層次結(jié)構(gòu)有些差別。相對(duì)之下,結(jié)構(gòu)化數(shù)據(jù)血緣關(guān)系的層次結(jié)構(gòu)比較簡(jiǎn)單,對(duì)于非結(jié)構(gòu)化數(shù)據(jù),如以文件服務(wù)器存儲(chǔ)的數(shù)據(jù)來(lái)說(shuō),血緣關(guān)系的層次結(jié)構(gòu)會(huì)略有不同,如下圖所示
不同層級(jí)數(shù)據(jù)的血緣關(guān)系,體現(xiàn)著不同的含義。所有者層次,體現(xiàn)了數(shù)據(jù)的提供方和需求方,其他的層次則體現(xiàn)了數(shù)據(jù)的來(lái)龍去脈。通過(guò)不同層級(jí)的血緣關(guān)系,可以很清楚地了解數(shù)據(jù)的遷徙流轉(zhuǎn),為數(shù)據(jù)價(jià)值的評(píng)估、數(shù)據(jù)的管理提供依據(jù)。
數(shù)據(jù)血緣關(guān)系的可視化
根據(jù)數(shù)據(jù)血緣關(guān)系的特點(diǎn),我們?cè)O(shè)計(jì)了數(shù)據(jù)的血緣關(guān)系可視化圖形。
當(dāng)時(shí)的規(guī)劃,是希望通過(guò)可視化,將規(guī)則、流向分布顯示在圖形上的不同位置,從而起到如下幾個(gè)方面的作用:
- 追蹤數(shù)據(jù)溯源:當(dāng)數(shù)據(jù)發(fā)生異常,幫助追蹤到異常發(fā)生的原因,平時(shí)也能幫助我們追蹤數(shù)據(jù)的來(lái)源,追蹤數(shù)據(jù)處理過(guò)程。
- 評(píng)估數(shù)據(jù)價(jià)值:要對(duì)數(shù)據(jù)價(jià)值進(jìn)行評(píng)估,就需要有依據(jù),數(shù)據(jù)血緣關(guān)系,可以從#數(shù)據(jù)受眾、數(shù)據(jù)更新量級(jí)、數(shù)據(jù)更新# 頻次等方面給數(shù)據(jù)價(jià)值的評(píng)估提供依據(jù)。
- 數(shù)據(jù)質(zhì)量評(píng)估:數(shù)據(jù)的血緣關(guān)系圖上,可以方便的看到數(shù)據(jù)清洗的標(biāo)準(zhǔn)清單,這個(gè)清單反映了對(duì)數(shù)據(jù)質(zhì)量的要求。
根據(jù)表現(xiàn)含義的不同,血緣關(guān)系的可視化圖形包括5種可視化元素,分布在圖形的不同位置。可視化元素分別是:
1.信息節(jié)點(diǎn)
信息節(jié)點(diǎn)用來(lái)表現(xiàn)數(shù)據(jù)的所有者和數(shù)據(jù)層次信息或終端信息。根據(jù)血緣關(guān)系層次的不同,數(shù)據(jù)信息有所區(qū)別。所有者層次只有所有者的信息,其他的層次則包括所有者信息和數(shù)據(jù)層次信息或者終端信息,例如關(guān)系數(shù)據(jù)庫(kù)的字段間的血緣關(guān)系,該節(jié)點(diǎn)的描述信息就是:所有者.數(shù)據(jù)庫(kù).數(shù)據(jù)表.數(shù)據(jù)字段。
信息節(jié)點(diǎn)有三種類型:主節(jié)點(diǎn),數(shù)據(jù)流出節(jié)點(diǎn),數(shù)據(jù)流入節(jié)點(diǎn)。
- 主節(jié)點(diǎn)只有一個(gè),位于整個(gè)圖形的中間,是可視化圖形的核心節(jié)點(diǎn)。圖形展示的血緣關(guān)系就是此節(jié)點(diǎn)的血緣關(guān)系,其他與此節(jié)點(diǎn)無(wú)關(guān)的血緣關(guān)系都不在圖形上展示,以保證圖形的簡(jiǎn)單、清晰。
- 數(shù)據(jù)流入節(jié)點(diǎn)可以有多個(gè),是主節(jié)點(diǎn)的父節(jié)點(diǎn),表示數(shù)據(jù)來(lái)源
- 數(shù)據(jù)流出節(jié)點(diǎn)也可以有多個(gè),是主節(jié)點(diǎn)的子節(jié)點(diǎn),表示數(shù)據(jù)的去向;包括一種特殊的節(jié)點(diǎn),即終端節(jié)點(diǎn),終端節(jié)點(diǎn)是一種特殊的數(shù)據(jù)流出節(jié)點(diǎn),表示數(shù)據(jù)不再往下進(jìn)行流轉(zhuǎn),這種數(shù)據(jù)一般用來(lái)做可視化展示。
2.數(shù)據(jù)流轉(zhuǎn)線路
數(shù)據(jù)流轉(zhuǎn)線路表現(xiàn)的是數(shù)據(jù)的流轉(zhuǎn)路徑,從左到右流轉(zhuǎn)。數(shù)據(jù)流轉(zhuǎn)線路從數(shù)據(jù)流入節(jié)點(diǎn)出來(lái)往主節(jié)點(diǎn)匯聚,又從主節(jié)點(diǎn)流出往數(shù)據(jù)流出節(jié)點(diǎn)擴(kuò)散。
數(shù)據(jù)流轉(zhuǎn)線路表現(xiàn)了三個(gè)維度的信息,分別是方向、數(shù)據(jù)更新量級(jí)、數(shù)據(jù)更新頻次。
- 方向的表現(xiàn)方式,沒(méi)有做特別的設(shè)計(jì),默認(rèn)從上到下流轉(zhuǎn);
- 數(shù)據(jù)更新的量級(jí)通過(guò)線條的粗細(xì)來(lái)表現(xiàn)。線條越粗表示數(shù)據(jù)量級(jí)越大,線條越細(xì)則表示數(shù)據(jù)量級(jí)越小。
- 數(shù)據(jù)更新的頻次用線條中線段的長(zhǎng)度來(lái)表現(xiàn)。線段越短表示更新頻次越高,線段越長(zhǎng)表示更新頻次越底,一根實(shí)線則表示只流轉(zhuǎn)一次。
3.清洗規(guī)則節(jié)點(diǎn)
清洗規(guī)則節(jié)點(diǎn)用來(lái)表現(xiàn)數(shù)據(jù)流轉(zhuǎn)過(guò)程中的篩選標(biāo)準(zhǔn)。大量的數(shù)據(jù)分布在不同的地方,每個(gè)地方對(duì)數(shù)據(jù)質(zhì)量的要求都有所不同,數(shù)據(jù)接受方會(huì)根據(jù)自己對(duì)數(shù)據(jù)的要求來(lái)過(guò)濾接入的數(shù)據(jù),這些要求就形成數(shù)據(jù)標(biāo)準(zhǔn),并依據(jù)這些標(biāo)準(zhǔn)來(lái)做數(shù)據(jù)清洗。
清洗規(guī)則可能會(huì)有多種。例如要求不能是空值、要求符合某種格式。在可視化圖形上,清洗規(guī)則用一個(gè)標(biāo)有大寫字母“E”的圓圈表示,把各種規(guī)則簡(jiǎn)略化表達(dá),以保證圖形的簡(jiǎn)潔、清晰。查看規(guī)則內(nèi)容的操作也很簡(jiǎn)單,鼠標(biāo)移動(dòng)到標(biāo)有大寫字母“E”的圓圈上,則會(huì)自動(dòng)展示標(biāo)準(zhǔn)清單列表。
清洗規(guī)則的簡(jiǎn)略圖形位于數(shù)據(jù)流轉(zhuǎn)線路上,表示該線路上流轉(zhuǎn)的數(shù)據(jù)符合這些標(biāo)準(zhǔn)才能繼續(xù)流轉(zhuǎn)下去。
4.轉(zhuǎn)換規(guī)則節(jié)點(diǎn)
轉(zhuǎn)換規(guī)則節(jié)點(diǎn)在表現(xiàn)形式上類似于清洗規(guī)則節(jié)點(diǎn),用一個(gè)標(biāo)有大寫字母“T”的圓圈表示。位于數(shù)據(jù)流轉(zhuǎn)線路上,用來(lái)表現(xiàn)數(shù)據(jù)流轉(zhuǎn)過(guò)程中發(fā)生的變化、變換。
從數(shù)據(jù)提供方出來(lái)的數(shù)據(jù),有時(shí)候需要進(jìn)行特殊處理才能接入到數(shù)據(jù)需求方,這種處理可能比較簡(jiǎn)單,例如:只是截取源數(shù)據(jù)的前四位。也可能非常復(fù)雜,需要用到特殊的公式。在可視化方面,為了保證圖形的簡(jiǎn)潔、清晰,做了簡(jiǎn)略處理。查看數(shù)據(jù)經(jīng)過(guò)了哪些轉(zhuǎn)換規(guī)則,也很簡(jiǎn)單,鼠標(biāo)移動(dòng)到標(biāo)有大寫字母“T”的圓圈上,則會(huì)自動(dòng)展示轉(zhuǎn)換規(guī)則清單。
5.數(shù)據(jù)歸檔銷毀規(guī)則節(jié)點(diǎn)
我們認(rèn)為數(shù)據(jù)是有生命周期的,當(dāng)數(shù)據(jù)不再具備使用價(jià)值,他的生命就結(jié)束了,或者歸檔或者直接銷毀。
判斷數(shù)據(jù)是否還具備使用價(jià)值非常困難,需要設(shè)計(jì)一些條件,當(dāng)這些條件滿足了以后,就認(rèn)為數(shù)據(jù)不再具有使用價(jià)值,可以歸檔或者銷毀了。
舉例說(shuō)明
現(xiàn)在假設(shè)你是一名數(shù)據(jù)開(kāi)發(fā)工程師,為了滿足一次業(yè)務(wù)需求,然后為了生成這張表,可能是處于程序邏輯清晰或者性能優(yōu)化的考慮,你會(huì)使用很多份數(shù)據(jù)表,也會(huì)通過(guò) MR、Spark 或者 Hive 來(lái)生產(chǎn)很多中間表。
如下圖,是你將花費(fèi)時(shí)間來(lái)實(shí)現(xiàn)的整個(gè)數(shù)據(jù)流。
- 其中 Table X 是最終給到業(yè)務(wù)側(cè)的表。
- 藍(lán)色的 Table A-E,是原始數(shù)據(jù)。
- 黃色的 Table F-I 是你計(jì)算出來(lái)的中間表。這些表都是你自己寫程序要處理的表。
- 然后你為了懶省事,嗯,應(yīng)該說(shuō)本著不重復(fù)開(kāi)發(fā)的原則,你還要用到同事小伙伴處理的表,Table J 就是別人處理過(guò)的結(jié)果表。
過(guò)了一段時(shí)間后,業(yè)務(wù)側(cè)的同事感覺(jué)你提供的數(shù)據(jù)中有個(gè)字段總是不太對(duì)勁,其實(shí)就是懷疑你的數(shù)據(jù)出問(wèn)題!需要你來(lái)追蹤一下這個(gè)字段的來(lái)源。
首先你從 Table X 中找到了異常的字段,然后定位到了它來(lái)源于 Table I,再?gòu)?Table I 定位到了它來(lái)源于 Table G, 再?gòu)?Table G 追溯到了 Table D,最終發(fā)現(xiàn)是某幾天的來(lái)源數(shù)據(jù)有異常。
或者說(shuō),你從 Table X 定位到了異常的字段原來(lái)來(lái)自于其它小伙伴處理的表 Table J,然后繼續(xù)向前回溯,找到了這張表在處理過(guò)程中的某一個(gè)步出現(xiàn)了問(wèn)題。
我們?nèi)绾螌?shù)據(jù)血緣關(guān)系進(jìn)行可視化呢
方法一: 桑基圖
數(shù)據(jù)血緣關(guān)系分析
考慮到數(shù)據(jù)血緣的重要性和特性,以一般來(lái)講,我們?cè)谘壏治鰰r(shí),會(huì)關(guān)注應(yīng)用(系統(tǒng))級(jí)、程序級(jí)、字段級(jí)三個(gè)層次間數(shù)據(jù)間的關(guān)系。比較常見(jiàn)的是,數(shù)據(jù)通過(guò)系統(tǒng)間的接口進(jìn)行數(shù)據(jù)的交換和傳輸。例如下圖,銀行業(yè)務(wù)系統(tǒng)中的數(shù)據(jù),由統(tǒng)一數(shù)據(jù)交換平臺(tái)進(jìn)行流轉(zhuǎn)分發(fā)給傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型大數(shù)據(jù)平臺(tái),數(shù)據(jù)倉(cāng)庫(kù)和大數(shù)據(jù)平臺(tái)匯總后,交流各個(gè)應(yīng)用集市分析使用。其中涉及大量的數(shù)據(jù)處理和數(shù)據(jù)交換工作,我們?cè)诜治銎渲械难夑P(guān)系時(shí),主要考慮以下幾個(gè)方面,
附 一
Data provenance 和 Data lineage 區(qū)別:
From our experience, data provenance includes only high level view of the system for business users, so they can roughly navigate where their data come from. It’s provided by variety of modeling tools or just simple custom tables and charts. Data lineage is a more specific term and includes two sides - business (data) lineage and technical (data) lineage. Business lineage pictures data flows on a business-term level and it’s provided by solutions like Collibra, Alation and many others. Technical data lineage is created from actual technical metadata and tracks data flows on the lowest level - actual tables, scripts and statements. Technical data lineage is being provided by solutions such as MANTA or Informatica Metadata Manager.
資料來(lái)源: What the difference between data provenance and data lineage?
總結(jié)
以上是生活随笔為你收集整理的数据治理:数据血缘关系分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 面试题-- 什么是偏向锁
- 下一篇: 【BZOJ1976】[BeiJing20