數據血緣關系,從概念來講很好理解,即數據的全生命周期中,數據與數據之間會形成多種多樣的關系,這些關系與人類的血緣關系類似,所以被稱作數據的血緣關系。
從技術角度來講,數據a通過ETL處理生成了數據b,那么,我們會說,數據a與數據b具有血緣關系。不過與人類的血緣關系略有不同,數據血緣關系還具有一些個性化的特征。
歸屬性:數據是被特定組織或個人擁有所有權的,擁有數據的組織或個人具備數據的使用權,實現營銷、風險控制等目的。
多源性:這個特性與人類的血緣關系有本質上的差異,同一個數據可以有多個來源(即多個父親),來源包括,數據是由多個數據加工生成,或者由多種加工方式或加工步驟生成。
可追溯:數據的血緣關系體現了數據的全生命周期,從數據生成到廢棄的整個過程,均可追溯。
層次性:數據的血緣關系是具備層級關系的,就如同傳統關系型數據庫中,用戶是級別最高的,之后依次是數據庫、表、字段,他們自上而下,一個用戶擁有多個數據庫,一個數據庫中存儲著多張表,而一張表中有多個字段。它們有機地結合在一起,形成完整的數據血緣關系。
如下圖中某學校學生管理系統后臺數據庫的ER圖示例,學生的學號、姓名、性別、出生日期、年級、班級等字段組成了學生信息表,學生信息表、教師信息表、選課表之間通過一個或多個關聯字段組成了整個學生管理系統后臺的數據庫。
不管是結構化數據,還是非結構化數據,都具有數據血緣關系,他們的血緣關系或簡單直接,或錯綜復雜,都是可以通過科學的方法追溯的。
以某銀行財務指標為例,利息凈收入的計算公式為利息收入減去利息支出,而利息收入又可以拆分為對客業務利息收入、資本市場業務利息收入和其他業務利息收入,對客業務利息收入又可以細分為信貸業務利息收入和其他業務利息收入,信貸業務利息收入還可以細分為多個業務條線和業務板塊的利息收入。
如此細分下去,一直可以從財務指標追溯到原始業務數據,如,客戶加權平均貸款利率和新發放貸款余額。如果利息凈收入指標發現數據質量問題,其根因可以通過下圖一目了然發現。
數據血緣追溯不只體現在指標計算上,同樣可以應用到數據集的血緣分析上。不管是數據字段、數據表,還是數據庫,都有可能與其他數據集存在著血緣關系,分析血緣關系對數據質量提升有幫助的同時,對數據價值評估、數據質量評估以及后續對數據生命周期管理也有較大的幫助和提高。
從數據價值評估角度來看,通過對數據血緣關系的梳理,我們不難發現,數據的擁有者和使用者,簡單地來看,在數據擁有者較少且使用者(數據需求方)較多時,數據的價值較高。在數據流轉中,對最終目標數據影響較大的數據源價值相對較高。同樣,更新、變化頻率較高的數據源,一般情況下,也在目標數據的計算、匯總中發揮著更高的作用,那可以判斷為這部分數據源具有較高的價值。
從數據質量評估角度來看,清晰的數據源和加工處理方法,可以明確每個節點數據質量的好壞。
從數據生命周期管理角度來看,數據的血緣關系有助于我們判斷數據的生命周期,是數據的歸檔和銷毀操作的參考。
考慮到數據血緣的重要性和特性,以一般來講,我們在血緣分析時,會關注應用(系統)級、程序級、字段級三個層次間數據間的關系。比較常見的是,數據通過系統間的接口進行交換和傳輸。
例如下圖,銀行業務系統中的數據,由統一數據交換平臺進行流轉分發給傳統關系型數據庫和非關系型大數據平臺,數據倉庫和大數據平臺匯總后,交流各個應用集市分析使用。其中涉及大量的數據處理和數據交換工作:
在分析其中的血緣關系時,主要考慮以下幾個方面:
1、全面性
如上圖所示,數據處理過程實際上是程序對數據進行傳遞、運算演繹和歸檔的過程,即使歸檔的數據也有可能通過其他方式影響系統的結果或流轉到其他系統中。為了確保數據流跟蹤的連貫性,必須將整個系統集作為分析的對象。
2、靜態分析法
本方法的優勢是,避免受人為因素的影響,精度不受文檔描述的詳細程度、測試案例和抽樣數據的影響,本方法基于編譯原理,通過對源代碼進行掃描和語法分析,以及對程序邏輯涉及的路徑進行靜態分析和羅列,實現對數據流轉的客觀反映。
3、接觸感染式分析法
通過對數據傳輸和映射相關的程序命令進行篩選,獲取關鍵信息,進行深度分析。
4、邏輯時序性分析法
為避免冗余信息的干擾,根據程序處理流程,將與數據庫、文件、通信接口數據字段沒有直接關系的傳遞和映射的間接過程和程序中間變量,轉換為數據庫、文件、通信接口數據字段之間的直接傳遞和映射。
5、及時性
為了確保數據字段關聯關系信息的可用性和及時性,必須確保查詢版本更新與數據字段關聯信息的同步,在整個系統范圍內做到“所見即所得”。
一般來說,數據血緣的用途主要體現以下幾個方面:
1、合規需求,這是監管部門的需求,為了監管合規,數據流動的各點和來源,都是重點需要監管的。
2、影響分析和質量問題分析,這個數據開發部們的核心需求,隨著數據應用越來越多,數據的流動鏈越來越長,一個源頭的核心業務的改動,下游各分析應用必須保持同步,沒有影響分析,就會各個數據服務造成異常訪問的情況。
3、數據安全和隱私,這個是數據合規部門的需求,哪些數據是需要脫敏的,這個要保持全流通所有域的管控。
4、遷移項目,這個出現在特定老項目終止需要新項目接管的情況下,沒有數據流動映射表,就會大量花時間去整理,也很難保證遷移的完整性和正確性。
5、自服務分析,數據分析團隊為了確定數據可信程度,那么數據的來源是數據可信的重要依據。
數據血緣系統的構建和維護是一個較重的系統工程,筆者認為其是數據治理工作中的流沙之地,不小心會陷入這個坑之中,尤其是技術完美人格類型的負責人,這是因為數據血緣的工作需要考慮的因素很多。
為了最大程度降低項目失敗的風險,我們需要考慮數據血緣的服務用戶對象,確定業務方面和技術方面的血緣優先,需要考慮到細節程度,覆蓋率,變化頻率,同時還要考慮人員流動,組織部門,技術架構等情況,制定最適合我們自己的策略。
數據血緣的收集方法主要有以下幾種:
1、自動解析
自動解析當前主要的收集方法,具體就是解析SQL語句,存儲過程,ETL過程等文件。因為復雜代碼和應用環境等原因,根據國際廠商的經驗,自動解析可以覆蓋到企業數據的70-95%,目前無法做到100%,因此患有技術潔癖的負責人容易犯下這個錯誤,即追求極高的覆蓋率。
2、系統跟蹤這個方法就是通過數據加工流動過程中,加工主體工具負責發送數據映射,這樣做的極大好處是收集精準,及時,細粒度可支持,不過限制就是不是每個工具都可以集成。這種方法一般鑒于統一的加工平臺,比如Informatica可以管理自己的全數據血緣周期。
3、機器學習方法
這個方法是基于數據集之間的依賴關系,計算數據的相似度。這個方法的好處是對工具和業務沒有依賴,缺點準確率需要人工確認,一般可以做到3-8的數據可以分析發現。
4、手工的收集
在整個項目中,一般有5%是需要手工來做的。
目前的數據血緣大多是基于技術的梳理,一般服務技術人員的需求。隨著數據服務走向前臺,服務業務分析和CDO的業務數據血緣,目前已經有相關產品,通過數據的語義分析,將技術元數據映射到業務元數據上,將血緣以業務流程方式發布共享出來,輔助商務決策,這是未來的發展方向之一。
免責聲明:本網站所發布的文章為本網站原創,或者是在網絡搜索到的優秀文章進行的編輯整理,文章版權歸原作者所有,僅供讀者朋友們學習、參考。對于分享的非原創文章,有些因為無法找到真正來源,如果標錯來源或者對于文章中所使用的圖片、連接等所包含但不限于軟件、資料等,如有侵權,請直接致電聯系,說明具體的文章,后臺會盡快刪除。給您帶來的不便,深表歉意。