數(shù)據(jù)治理體系演進(jìn)簡(jiǎn)介
網(wǎng)易內(nèi)部如嚴(yán)選、云音樂(lè)、傳媒等數(shù)據(jù)團(tuán)隊(duì)對(duì)數(shù)據(jù)內(nèi)容體系的治理思路都是將治理規(guī)范融入到開(kāi)發(fā)過(guò)程中,將治理的動(dòng)作提前,這其實(shí)就是“開(kāi)發(fā)治理一體化”;事后依賴數(shù)據(jù)資產(chǎn)健康評(píng)估和治理工具進(jìn)行數(shù)據(jù)的治理,建立事前加事后的數(shù)據(jù)治理體系。
隨著網(wǎng)易數(shù)帆商業(yè)化的發(fā)展,遇到很多金融及大型國(guó)企客戶,我們發(fā)現(xiàn)互聯(lián)網(wǎng)的這套數(shù)據(jù)治理的打法并不能全部適應(yīng)傳統(tǒng)行業(yè)客戶的場(chǎng)景。我們開(kāi)始向客戶和競(jìng)爭(zhēng)對(duì)手學(xué)習(xí),為此打磨出元數(shù)據(jù)管理,數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)資產(chǎn)目錄等子產(chǎn)品,沉淀出一套數(shù)據(jù)治理的產(chǎn)品體系。
本文主要內(nèi)容包括以下四個(gè)方面:
- “先設(shè)計(jì)后開(kāi)發(fā)”
- “先污染后治理”
- 基于元數(shù)據(jù)的數(shù)據(jù)治理體系
- 基于邏輯數(shù)據(jù)湖的數(shù)據(jù)治理介紹
1、“先設(shè)計(jì)后開(kāi)發(fā)”
在軟件工程中良好的設(shè)計(jì)具有不可比擬的意義,它勝于需求、編碼、維護(hù)等環(huán)節(jié),秉承設(shè)計(jì)優(yōu)先的原則會(huì)讓軟件開(kāi)發(fā)變得簡(jiǎn)單高效,可以盡量避免掉因設(shè)計(jì)失誤而導(dǎo)致的缺陷,一個(gè)健壯的程序必然有良好的設(shè)計(jì)。
網(wǎng)易數(shù)帆有數(shù)數(shù)據(jù)中臺(tái)產(chǎn)品的特色之一“先設(shè)計(jì)后開(kāi)發(fā)”,其目標(biāo)就是將數(shù)據(jù)標(biāo)準(zhǔn)定義、指標(biāo)規(guī)范定義、模型設(shè)計(jì)和數(shù)據(jù)開(kāi)發(fā)體系連接在一起,實(shí)現(xiàn)“規(guī)范即設(shè)計(jì),設(shè)計(jì)即開(kāi)發(fā)”、以設(shè)計(jì)驅(qū)動(dòng)開(kāi)發(fā),并通過(guò)流程管控卡點(diǎn)保障元數(shù)據(jù)的生成是按照規(guī)范落地的。在開(kāi)發(fā)的過(guò)程中保障數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)質(zhì)量,數(shù)據(jù)安全的落地,這就是將開(kāi)發(fā)治理一體化,期望能達(dá)到“事半功倍”的事前治理方案。
在沒(méi)有“數(shù)據(jù)標(biāo)準(zhǔn)”產(chǎn)品之前我們,我們推薦客戶的數(shù)據(jù)體系構(gòu)建工作流包含業(yè)務(wù)和需求調(diào)研,數(shù)據(jù)架構(gòu)設(shè)計(jì),指標(biāo)規(guī)范定義,數(shù)據(jù)模型設(shè)計(jì),數(shù)據(jù)開(kāi)發(fā)五個(gè)過(guò)程。
- 數(shù)據(jù)架構(gòu)設(shè)計(jì)指以維度建模為理論基礎(chǔ),基于業(yè)務(wù)和需求調(diào)研的結(jié)果,通過(guò)需求聯(lián)動(dòng)設(shè)計(jì),對(duì)數(shù)倉(cāng)進(jìn)行整體規(guī)劃,包含確定數(shù)據(jù)域,抽象業(yè)務(wù)板塊,定義數(shù)據(jù)域下的業(yè)務(wù)過(guò)程;
- 指標(biāo)規(guī)范定義,包括原子指標(biāo),業(yè)務(wù)限定如修飾詞、時(shí)間周期,派生指標(biāo)則由原子指標(biāo)和業(yè)務(wù)限定組合而成;也包含維度及屬性的規(guī)范定義;
- 數(shù)據(jù)模型設(shè)計(jì)是指基于原子指標(biāo),派生指標(biāo),維度屬性組合的維表、明細(xì)事實(shí)表和匯總事實(shí)表的模型設(shè)計(jì);
- 數(shù)據(jù)開(kāi)發(fā):將邏輯模型變成物理模型,是設(shè)計(jì)與物理實(shí)現(xiàn)的統(tǒng)一。
再好的規(guī)范設(shè)計(jì)都需要工具來(lái)落地和約束,否則就是一紙空文,我們認(rèn)為所有需求都可以拆解為指標(biāo)和維度,指標(biāo)和維度組合就是模型,所以用指標(biāo)管理工具和模型設(shè)計(jì)中心去承載規(guī)范設(shè)計(jì)的落地:
- 數(shù)據(jù)研發(fā)同學(xué)在指標(biāo)管理中配置化定義維度、業(yè)務(wù)過(guò)程、原子指標(biāo)、時(shí)間周期的中英文名稱;這個(gè)過(guò)程已經(jīng)完成維表和事實(shí)表的定義;
- 分析師或者數(shù)據(jù)口徑管理者負(fù)責(zé)定義派生指標(biāo)的業(yè)務(wù)元數(shù)據(jù),通過(guò)選擇原子指標(biāo)和業(yè)務(wù)限定自動(dòng)生成派生指標(biāo),派生指標(biāo)全局唯一,這樣就輕松的消除數(shù)據(jù)的二義性;在這個(gè)過(guò)程其實(shí)就已經(jīng)完成匯總表的定義。
- 通過(guò)前面兩步基本完成指標(biāo)和模型的定義,數(shù)據(jù)研發(fā)同學(xué)就可以結(jié)合當(dāng)前模型的情況在模型設(shè)計(jì)中心完成模型的設(shè)計(jì)或者修改。當(dāng)前市面有些公司也是基于這個(gè)邏輯將模型設(shè)計(jì)和指標(biāo)管理合二為一形成半AutoETL產(chǎn)品,自動(dòng)生成指標(biāo)/模型/調(diào)度關(guān)系。附模型設(shè)計(jì)原則:
在模型和指標(biāo)的落地過(guò)程中,通過(guò)“庖丁解牛”式的產(chǎn)品配置將數(shù)據(jù)模型涉及的技術(shù)元數(shù)據(jù)/業(yè)務(wù)元數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化的好處是“車同軌,書(shū)同文,大家都說(shuō)普通話”。可以說(shuō)我們產(chǎn)品從一開(kāi)始就實(shí)現(xiàn)了開(kāi)發(fā)治理一體化。
2、“先污染后治理”
“先污染后治理”是當(dāng)前數(shù)據(jù)治理的主流方案,與其說(shuō)主流不如說(shuō)是無(wú)奈的選擇,因?yàn)椤跋仍O(shè)計(jì)再開(kāi)發(fā)”意味著重構(gòu),重構(gòu)雖然是最徹底的方案但也是最難實(shí)操執(zhí)行的,畢竟很多數(shù)據(jù)團(tuán)隊(duì)最核心要交付的是短期業(yè)務(wù)價(jià)值,重構(gòu)帶來(lái)需求交付效率的下降且短期無(wú)明顯價(jià)值增長(zhǎng),也有很多數(shù)據(jù)團(tuán)隊(duì)就會(huì)選擇邊開(kāi)發(fā)邊進(jìn)行治理的方案,我們將網(wǎng)易的經(jīng)驗(yàn)和過(guò)程也在這里做一個(gè)介紹。
2.1 運(yùn)動(dòng)式治理
隨著業(yè)務(wù)的發(fā)展,網(wǎng)易內(nèi)部業(yè)務(wù)線的計(jì)算和存儲(chǔ)達(dá)到瓶頸,但業(yè)務(wù)方很難判斷,是應(yīng)該繼續(xù)擴(kuò)容增加資源,還是對(duì)劣質(zhì)數(shù)據(jù)進(jìn)行治理來(lái)降低資源危機(jī),但這個(gè)過(guò)程中,如何定義劣質(zhì)數(shù)據(jù),定義了劣質(zhì)資源后,要怎么對(duì)其進(jìn)行治理,都是亟待確定和解決的問(wèn)題;另一方面,數(shù)據(jù)本身的加工鏈路長(zhǎng),數(shù)據(jù)的加工處理沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),整個(gè)團(tuán)隊(duì)內(nèi)到底有哪些數(shù)據(jù),數(shù)據(jù)的負(fù)責(zé)人是誰(shuí),這些數(shù)據(jù)是通過(guò)哪些任務(wù)產(chǎn)出的,這些數(shù)據(jù)有沒(méi)有被有效的使用,數(shù)據(jù)的存在是否有意義,這些都是管理者比較關(guān)心的問(wèn)題,但數(shù)據(jù)團(tuán)隊(duì)都很難回答。通過(guò)運(yùn)動(dòng)式的專項(xiàng)治理我們還是沉淀出部分工具
2.2 度量體系的構(gòu)建
基于元數(shù)據(jù)的建設(shè),我們將底層的表信息、計(jì)算任務(wù)信息和任務(wù)/表之間的血緣信息,匯總為計(jì)算、存儲(chǔ)的元數(shù)據(jù)倉(cāng)庫(kù),結(jié)合內(nèi)部自己的賬單體系對(duì)計(jì)算和存儲(chǔ)均進(jìn)行了定價(jià),從而將調(diào)度任務(wù)、自助查詢每次執(zhí)行消耗的計(jì)算成本預(yù)估出來(lái),對(duì)于存儲(chǔ)成本,一方面包含數(shù)據(jù)表本身的存儲(chǔ)成本,另一方面產(chǎn)出該表的計(jì)算任務(wù)也會(huì)分?jǐn)傇摂?shù)據(jù)表的成本,最終得到數(shù)據(jù)表總的存儲(chǔ)成本。將計(jì)算和存儲(chǔ)成本轉(zhuǎn)化為費(fèi)用,更加一目了然的對(duì)治理效果進(jìn)行量化評(píng)估。為了方便用戶理解,我們構(gòu)建了統(tǒng)一的健康分度量體系
3、基于元數(shù)據(jù)的數(shù)據(jù)治理體系
無(wú)論“先設(shè)計(jì)后開(kāi)發(fā)”亦或是“先污染后治理”,都少不了過(guò)程元數(shù)據(jù)的沉淀,這樣才會(huì)讓治理無(wú)論在任何階段都變得輕松可靠。在商業(yè)化實(shí)踐的過(guò)程中我們逐步地吸收了傳統(tǒng)行業(yè)一些優(yōu)點(diǎn),例如在21年底我們上線了數(shù)據(jù)標(biāo)準(zhǔn)、元數(shù)據(jù)管理這兩款產(chǎn)品,同時(shí)數(shù)據(jù)標(biāo)準(zhǔn),元數(shù)據(jù)管理、數(shù)據(jù)質(zhì)量、模型設(shè)計(jì)、指標(biāo)管理、安全中心等產(chǎn)品做了打通能完成數(shù)據(jù)標(biāo)準(zhǔn)的校驗(yàn),讓數(shù)據(jù)標(biāo)準(zhǔn)不再是一紙空文。
越來(lái)越多行業(yè)的實(shí)踐讓我們開(kāi)始思考我們的數(shù)據(jù)治理體系需要升級(jí),首先是站在數(shù)據(jù)內(nèi)容體系需要明確治理的范圍。
3.1 明確數(shù)據(jù)治理的范圍
3.1.1 倉(cāng)內(nèi)數(shù)據(jù)全生命周期
數(shù)據(jù)管理能力成熟度評(píng)估模型給出了數(shù)據(jù)管理能力成熟度評(píng)估模型以及相應(yīng)的成熟度等級(jí),定義了數(shù)據(jù)戰(zhàn)略、數(shù)據(jù)治理、數(shù)據(jù)架構(gòu)、數(shù)據(jù)應(yīng)用、數(shù)據(jù)安全、數(shù)據(jù)質(zhì)量、數(shù)據(jù)標(biāo)準(zhǔn)和數(shù)據(jù)生存周期等8個(gè)能力域。
我們的數(shù)據(jù)治理的范圍參考了DCMM模型,同時(shí)也是圍繞數(shù)據(jù)的全生命周期展開(kāi)的,在數(shù)據(jù)生產(chǎn)階段,需要對(duì)需求進(jìn)行分析,明確業(yè)務(wù)口徑,對(duì)數(shù)據(jù)進(jìn)行規(guī)范采集、任務(wù)開(kāi)發(fā)和監(jiān)控運(yùn)維;在數(shù)據(jù)消費(fèi)階段,涉及到快速地查找數(shù)據(jù),對(duì)數(shù)據(jù)的分析和對(duì)數(shù)據(jù)質(zhì)量的探查;在數(shù)據(jù)管理過(guò)程中,包含權(quán)限和成本管理等。整個(gè)流程涉及到成本、標(biāo)準(zhǔn)、質(zhì)量、安全和價(jià)值,各個(gè)階段都會(huì)面臨對(duì)數(shù)據(jù)的治理工作。
在具體的數(shù)據(jù)治理產(chǎn)品層面做了一些微調(diào):DCMM包含有數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)質(zhì)量,數(shù)據(jù)安全,數(shù)據(jù)應(yīng)用(我們叫數(shù)據(jù)價(jià)值),我們?cè)谶@個(gè)標(biāo)準(zhǔn)的基礎(chǔ)上一方面完善數(shù)據(jù)標(biāo)準(zhǔn)的內(nèi)容,另一方面也將成本治理加入到治理的范圍內(nèi)。形成五大模塊:
- 數(shù)據(jù)標(biāo)準(zhǔn)治理,增加指標(biāo)規(guī)范,模型規(guī)范。其中元數(shù)據(jù)規(guī)范治理也在這個(gè)模塊;
- 數(shù)據(jù)價(jià)值,通過(guò)數(shù)據(jù)應(yīng)用在業(yè)務(wù)的使用情況治理無(wú)用或低頻數(shù)據(jù);
- 數(shù)據(jù)成本,包含存儲(chǔ)成本和計(jì)算成本的治理;
- 數(shù)據(jù)質(zhì)量治理,包含數(shù)據(jù)的準(zhǔn)確性,一致性,及時(shí)性,完整性,唯一性;
- 數(shù)據(jù)安全治理,包含數(shù)據(jù)權(quán)限,功能權(quán)限,敏感數(shù)據(jù)識(shí)別,脫敏加密管理。
3.1.2 倉(cāng)外元數(shù)據(jù)的治理
過(guò)去很長(zhǎng)一段時(shí)間我們將數(shù)據(jù)治理的范圍定在倉(cāng)內(nèi),很多公司經(jīng)歷了多年的建設(shè),擁有大量獨(dú)立的數(shù)據(jù)應(yīng)用體系,數(shù)據(jù)架構(gòu)非常復(fù)雜,也是數(shù)據(jù)治理繞不開(kāi)的一道墻。尤其是在構(gòu)建數(shù)據(jù)資產(chǎn)大盤(pán)時(shí)就需要考慮倉(cāng)外元數(shù)據(jù)的管理以及一些手工元數(shù)據(jù)的管理。
為此我們研發(fā)了元數(shù)據(jù)管理模塊,用于統(tǒng)一管理倉(cāng)內(nèi)和倉(cāng)外元數(shù)據(jù)。它包括元數(shù)據(jù)登記、元數(shù)據(jù)注冊(cè)采集、元數(shù)據(jù)存儲(chǔ)、元數(shù)據(jù)分析等,涵蓋了元數(shù)據(jù)的全鏈路生命周期管理。支持元數(shù)據(jù)的自動(dòng)采集和調(diào)度管理,支持手工創(chuàng)建和變更元數(shù)據(jù),并配合版本管理,便于用戶跟蹤元數(shù)據(jù)整個(gè)生命周期動(dòng)態(tài)和變化。
3.2 數(shù)據(jù)治理產(chǎn)品的優(yōu)化
3.2.1 開(kāi)發(fā)治理一體化
3.2.1.1 面臨的問(wèn)題
從網(wǎng)易內(nèi)部的實(shí)踐來(lái)看,過(guò)重的設(shè)計(jì)不行(例如使用ERwin、power designer類似的工具交付設(shè)計(jì)ER圖),無(wú)設(shè)計(jì)也不行。開(kāi)發(fā)治理一體化理想很完美,大家也很認(rèn)可“先設(shè)計(jì)后開(kāi)發(fā)”的理念,但很多業(yè)務(wù)中也面臨執(zhí)行不到位。例如:業(yè)務(wù)探索期/高速發(fā)展期需要快速獲取運(yùn)營(yíng)數(shù)據(jù),業(yè)務(wù)方能接受的排期不會(huì)超過(guò)1周,留給數(shù)據(jù)建設(shè)的周期并不長(zhǎng),很多報(bào)表直接從ODS源表進(jìn)行加工,為了快速上線犧牲設(shè)計(jì),效率優(yōu)先,且缺乏協(xié)作。從商業(yè)化的客戶來(lái)看有數(shù)產(chǎn)品體系中的指標(biāo)管理和模型管理還是停留在治理體系,與開(kāi)發(fā)體系的元數(shù)據(jù)管理、數(shù)據(jù)傳輸、數(shù)據(jù)質(zhì)量的聯(lián)動(dòng)性不足。
- 設(shè)計(jì)、開(kāi)發(fā)和治理體系缺少一個(gè)連接點(diǎn),能平滑地將三者融合;
- 缺少流程管控,或以犧牲開(kāi)發(fā)效率的目標(biāo)的“先設(shè)計(jì)后開(kāi)發(fā)”是不完整的研發(fā)治理一體化。
3.2.1.2 更完善的“先設(shè)計(jì)后開(kāi)發(fā)”
很長(zhǎng)時(shí)間內(nèi)我們?cè)谝?guī)范這塊缺乏能平滑地將設(shè)計(jì)、開(kāi)發(fā)和治理融合的產(chǎn)品,直到2021年推出了數(shù)據(jù)標(biāo)準(zhǔn);同時(shí)為了更好的流程協(xié)作管理,我們優(yōu)化了流程協(xié)作與消息中心,構(gòu)建能自定義的流程引擎、企業(yè)組織架構(gòu)和消息通知。
“先設(shè)計(jì)后開(kāi)發(fā)”核心是元數(shù)據(jù)的規(guī)范,在設(shè)計(jì)階段就約束元數(shù)據(jù)的定義,開(kāi)發(fā)階段則通過(guò)流程管控保證規(guī)范元數(shù)據(jù)的生成,這樣就能保障邏輯與物理的統(tǒng)一。數(shù)據(jù)標(biāo)準(zhǔn)的目標(biāo)就是完成元數(shù)據(jù)規(guī)范的定義,結(jié)合指標(biāo)和模型兩款產(chǎn)品,將數(shù)據(jù)標(biāo)準(zhǔn)規(guī)范定義、指標(biāo)規(guī)范定義、模型設(shè)計(jì)和數(shù)據(jù)開(kāi)發(fā)體系通過(guò)流程引擎連接在一起,以實(shí)現(xiàn)“規(guī)范即設(shè)計(jì),設(shè)計(jì)即開(kāi)發(fā),開(kāi)發(fā)即治理”的開(kāi)發(fā)治理一體化。
- 數(shù)據(jù)標(biāo)準(zhǔn):通過(guò)制定數(shù)據(jù)的標(biāo)準(zhǔn)保障數(shù)據(jù)的內(nèi)外部使用和交換的一致性和準(zhǔn)確性的規(guī)范性約束。對(duì)指標(biāo)的元數(shù)據(jù)進(jìn)行規(guī)范定義,從業(yè)務(wù)屬性、技術(shù)屬性、管理屬性三個(gè)方面對(duì)元數(shù)據(jù)進(jìn)行描述。在實(shí)踐過(guò)程中將數(shù)據(jù)元與指標(biāo)關(guān)聯(lián)打通,并可以對(duì)指標(biāo)在數(shù)據(jù)質(zhì)量、數(shù)據(jù)安全、模型設(shè)計(jì)規(guī)范等方面的執(zhí)行情況進(jìn)行事后檢查評(píng)估。
- 指標(biāo)管理:自動(dòng)化生成指標(biāo),消除數(shù)據(jù)的二義性。指標(biāo)的設(shè)計(jì)需要符合數(shù)據(jù)標(biāo)準(zhǔn)的規(guī)范,完善指標(biāo)的技術(shù)、業(yè)務(wù)、管理元數(shù)據(jù)。
- 模型設(shè)計(jì):負(fù)責(zé)數(shù)據(jù)模型的設(shè)計(jì),也需要遵循數(shù)據(jù)標(biāo)準(zhǔn)的規(guī)范,將指標(biāo)與模型掛鉤,規(guī)范表和字段的元數(shù)據(jù);
- 數(shù)據(jù)開(kāi)發(fā)體系:將數(shù)據(jù)開(kāi)發(fā)的過(guò)程與數(shù)據(jù)規(guī)范結(jié)合實(shí)現(xiàn)業(yè)務(wù)規(guī)則的數(shù)字化落地。負(fù)責(zé)將設(shè)計(jì)的數(shù)據(jù)模型實(shí)現(xiàn),將技術(shù)元數(shù)據(jù)(血緣,質(zhì)量,負(fù)責(zé)人,調(diào)度任務(wù)信息等)和標(biāo)準(zhǔn)規(guī)范結(jié)合,實(shí)現(xiàn)模型設(shè)計(jì)與數(shù)據(jù)開(kāi)發(fā)的協(xié)同,真正意義的完成了元數(shù)據(jù)的標(biāo)準(zhǔn)化落地。
- 規(guī)范約束:數(shù)據(jù)標(biāo)準(zhǔn)負(fù)責(zé)定義“好數(shù)據(jù)”的標(biāo)準(zhǔn),包含質(zhì)量、安全等;指標(biāo)工具負(fù)責(zé)設(shè)計(jì)好的指標(biāo)和維度;每個(gè)指標(biāo)需要與數(shù)據(jù)標(biāo)準(zhǔn)關(guān)聯(lián);模型設(shè)計(jì)中心負(fù)責(zé)設(shè)計(jì)好的數(shù)據(jù)模型,模型的每個(gè)字段必須來(lái)自指標(biāo)管理的定義好的指標(biāo)和維度才能完成物理建表;數(shù)據(jù)開(kāi)發(fā)體系按照設(shè)計(jì)要求完成代碼的開(kāi)發(fā),負(fù)責(zé)生產(chǎn)“好數(shù)據(jù)”和“好元數(shù)據(jù)”。
指標(biāo)、模型設(shè)計(jì)這塊的落地方案,我在第一章已有詳細(xì)的介紹,這里就不單獨(dú)再介紹了。再?gòu)?qiáng)調(diào)一下再好的規(guī)范沒(méi)有工具產(chǎn)品來(lái)匹配落地就是一紙空文。工具產(chǎn)品必須有所卡點(diǎn)才能保障設(shè)計(jì)和落地的一致性,需要通過(guò)流程引擎保障先設(shè)計(jì)后開(kāi)發(fā)的流程、保障規(guī)范的落地。這些卡點(diǎn)包含:
- 數(shù)據(jù)標(biāo)準(zhǔn)的規(guī)范在指標(biāo)和模型的引用率,事后需要檢查規(guī)范的執(zhí)行情況
- 指標(biāo)系統(tǒng)的指標(biāo)需要自動(dòng)生成,且保障唯一性,同時(shí)也需要檢驗(yàn)指標(biāo)的相似度。
- 模型的設(shè)計(jì)時(shí)模型的分層,數(shù)據(jù)域,業(yè)務(wù)過(guò)程,時(shí)間周期等變量的定義是選擇題而非填空題,模型設(shè)計(jì)與建表一體化,建議關(guān)閉其他通道DDL執(zhí)行。同時(shí)模型的規(guī)范事后需要檢測(cè):如相似度,復(fù)用度,穿透率,覆蓋率,閑置率等,如有必要保障模型建表唯一通道
- 上線前數(shù)據(jù)模型、質(zhì)量、安全等規(guī)范未落地不允許發(fā)布上線。
將數(shù)據(jù)開(kāi)發(fā)與數(shù)據(jù)治理結(jié)合起來(lái)既是對(duì)開(kāi)發(fā)過(guò)程的管控,也是保障數(shù)據(jù)質(zhì)量的有效方法。需求階段主要對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)研、拆解數(shù)據(jù)、確定詞根、數(shù)據(jù)項(xiàng)以及業(yè)務(wù)指標(biāo)。設(shè)計(jì)階段基于調(diào)研的內(nèi)容進(jìn)行標(biāo)準(zhǔn)和指標(biāo)的設(shè)計(jì)并應(yīng)用于模型和質(zhì)量,設(shè)計(jì)完成后進(jìn)行元數(shù)據(jù)的注冊(cè)并完成業(yè)務(wù)信息的錄入。開(kāi)發(fā)階段根據(jù)設(shè)計(jì)階段的規(guī)范進(jìn)行數(shù)據(jù)開(kāi)發(fā)、約束開(kāi)發(fā)流程,通過(guò)元數(shù)據(jù)掃描完成元數(shù)據(jù)技術(shù)信息的錄入,最后將元數(shù)據(jù)進(jìn)行審核并發(fā)布。在數(shù)據(jù)的全生命周期內(nèi)各個(gè)模塊協(xié)同的案例:
- 數(shù)據(jù)標(biāo)準(zhǔn)與模型設(shè)計(jì):在數(shù)據(jù)模型設(shè)計(jì)中關(guān)聯(lián)數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)標(biāo)準(zhǔn)中字段命名可以直接應(yīng)用在模型字段上。
- 數(shù)據(jù)標(biāo)準(zhǔn)與數(shù)據(jù)質(zhì)量:數(shù)據(jù)標(biāo)準(zhǔn)中的數(shù)據(jù)元對(duì)應(yīng)的值閾約束可以關(guān)聯(lián)稽核規(guī)則。
- 數(shù)據(jù)標(biāo)準(zhǔn)與數(shù)據(jù)安全:數(shù)據(jù)標(biāo)準(zhǔn)中的數(shù)據(jù)元可以關(guān)聯(lián)數(shù)據(jù)安全的數(shù)據(jù)敏感等級(jí)和數(shù)據(jù)脫敏規(guī)則。
- 數(shù)據(jù)質(zhì)量與模型設(shè)計(jì):數(shù)據(jù)模型關(guān)聯(lián)的數(shù)據(jù)元所關(guān)聯(lián)的數(shù)據(jù)質(zhì)量稽核規(guī)則,可以直接應(yīng)用到這個(gè)模型的稽核任務(wù)上。
- 數(shù)據(jù)安全與模型設(shè)計(jì):模型發(fā)布,自動(dòng)應(yīng)用安全中心的脫敏規(guī)則。
開(kāi)發(fā)治理一體化對(duì)于很多公司意味著數(shù)據(jù)體系的重構(gòu)。在重構(gòu)的過(guò)程中用流程約束元數(shù)據(jù)的生成,保證元數(shù)據(jù)的規(guī)范性。事前治理的方案對(duì)客戶數(shù)據(jù)建設(shè)所處的時(shí)機(jī)要求就會(huì)比較高,雖然也可以按照數(shù)據(jù)域逐一重構(gòu)遷移,整體建設(shè)周期較長(zhǎng),價(jià)值也不能立竿見(jiàn)影;但是數(shù)據(jù)體系的建設(shè)本就是數(shù)據(jù)“熵增”的過(guò)程,我們?cè)诮ㄔO(shè)中對(duì)他做功,這樣熵增加的比例是在可控的范圍內(nèi),事前做功對(duì)數(shù)據(jù)治理來(lái)說(shuō)事“事半功倍”的選擇。對(duì)過(guò)程做功會(huì)帶來(lái)效率的降低,未來(lái)如果搭配可視化ETL和AutoETL工具就能在效率和治理上實(shí)現(xiàn)雙豐收。
3.2.2 數(shù)據(jù)健康評(píng)估與優(yōu)化工具
3.2.2.1 面臨的問(wèn)題
數(shù)據(jù)治理的訴求在互聯(lián)網(wǎng)公司早期并不那么強(qiáng)烈,一般的關(guān)注點(diǎn)也只是在成本不足、數(shù)據(jù)產(chǎn)出不及時(shí)、指標(biāo)口徑對(duì)不上、數(shù)據(jù)質(zhì)量出現(xiàn)重大問(wèn)題的時(shí)候會(huì)發(fā)起治理專項(xiàng),然后等著再污染再治理。這個(gè)階段主要呈現(xiàn)出的特點(diǎn)是:被動(dòng)式(無(wú)抓手),運(yùn)動(dòng)式。一套基于數(shù)據(jù)建設(shè)的健康度評(píng)估體系加優(yōu)化工具就應(yīng)運(yùn)而生。
在網(wǎng)易的實(shí)踐過(guò)程中我們發(fā)明了一套基于ROI的數(shù)據(jù)資產(chǎn)沉淀方法,我們研發(fā)了基于Hadoop的元數(shù)據(jù)分析服務(wù),可以精準(zhǔn)計(jì)算出每個(gè)任務(wù)消耗了多少計(jì)算,存儲(chǔ)資源,同時(shí)打通數(shù)據(jù)生產(chǎn)和消費(fèi)的全鏈路的數(shù)據(jù)血緣,按照任務(wù)引用進(jìn)行下游分?jǐn)偅罱K可測(cè)算出每個(gè)應(yīng)用(數(shù)據(jù)報(bào)表、數(shù)據(jù)API)消耗了多少資源,同時(shí)還有數(shù)據(jù)應(yīng)用的使用情況(PV/UV/重要程度),可以找到?jīng)]有使用卻消耗很大資源的應(yīng)用,同時(shí)采用“剝洋蔥”式的數(shù)據(jù)下線方式,從上層數(shù)據(jù)應(yīng)用開(kāi)發(fā)逐層推動(dòng)數(shù)據(jù)下線。依托于這套方法我們構(gòu)建了基于成本、規(guī)范、質(zhì)量、安全、價(jià)值的數(shù)據(jù)健康分體系。
我們希望通過(guò)”評(píng)分賽馬”的機(jī)制來(lái)驅(qū)動(dòng)開(kāi)發(fā)同學(xué)自助完成數(shù)據(jù)治理,也取得了很多成效,嚴(yán)選/音樂(lè)/傳媒在這套治理體系內(nèi)在成本/質(zhì)量/標(biāo)準(zhǔn)規(guī)范上都有顯著的提升。那么這一套治理體系為什么不能在傳統(tǒng)行業(yè)快速應(yīng)用起來(lái)呢,我的理解有兩點(diǎn):
(1)傳統(tǒng)行業(yè)的開(kāi)發(fā)及治理方面其實(shí)更偏“管理”,以銀行證券行業(yè)為例一方面業(yè)務(wù)層面被強(qiáng)監(jiān)管,業(yè)務(wù)過(guò)程非常穩(wěn)定,主管單位會(huì)下發(fā)國(guó)家標(biāo)準(zhǔn),合規(guī)性非常重要;另一方面數(shù)據(jù)團(tuán)隊(duì)的構(gòu)成上有大量的外包人員,由一個(gè)甲方領(lǐng)導(dǎo)幾十個(gè)外包人員,安全和穩(wěn)定是第一位的,所以管理流程是非常必要,而互聯(lián)網(wǎng)更重視效率,所以我們的產(chǎn)品在管理上很松散的,也導(dǎo)致管理元數(shù)據(jù)的缺乏;
(2)互聯(lián)網(wǎng)公司很多時(shí)候其實(shí)依賴的是人治,依賴數(shù)據(jù)開(kāi)發(fā)同學(xué)的個(gè)人專業(yè)能力去減少后期治理的事情,就像阿里的OneData體系也只是給開(kāi)發(fā)人員使用,我們也推薦“先設(shè)計(jì)后開(kāi)發(fā)”的開(kāi)發(fā)治理一體化。傳統(tǒng)行業(yè)有專職數(shù)據(jù)治理團(tuán)隊(duì)負(fù)責(zé)治理體系,而我們的產(chǎn)品缺乏為這類角色服務(wù),沒(méi)有符合他們使用場(chǎng)景的功能和流程。
3.2.2.2 更完善的事后治理體系
(1)構(gòu)建數(shù)據(jù)治理的價(jià)值體系
基于數(shù)據(jù)的全生命周期,包含了成本、質(zhì)量、安全、標(biāo)準(zhǔn)和價(jià)值五個(gè)方面,針對(duì)每個(gè)方面,都要建立大家認(rèn)同的可量化的指標(biāo),通過(guò)指標(biāo)去衡量數(shù)據(jù)治理的價(jià)值,統(tǒng)一數(shù)據(jù)健康診斷的度量衡。
對(duì)于成本,包括計(jì)算和存儲(chǔ)成本的費(fèi)用量化,對(duì)無(wú)用數(shù)據(jù)的下線治理等;對(duì)于價(jià)值,需要能夠評(píng)估每個(gè)數(shù)據(jù)模型、數(shù)據(jù)報(bào)告和API的應(yīng)用價(jià)值;對(duì)于質(zhì)量,會(huì)包含監(jiān)控任務(wù)覆蓋了多少稽核規(guī)則,涵蓋了多少?gòu)?qiáng)弱規(guī)則;對(duì)于標(biāo)準(zhǔn)規(guī)范,需要對(duì)數(shù)據(jù)標(biāo)準(zhǔn)、指標(biāo)和模型進(jìn)行規(guī)范度和復(fù)用性的評(píng)估;對(duì)于安全,會(huì)包含數(shù)據(jù)安全等級(jí)和數(shù)據(jù)權(quán)限的治理等內(nèi)容的評(píng)估。
(2)體系化治理手段
數(shù)據(jù)治理不是一個(gè)臨時(shí)性要做的工作,從數(shù)據(jù)生命周期的全過(guò)程到治理體系的健康運(yùn)行,需要一個(gè)長(zhǎng)效的治理機(jī)制來(lái)保證,體系化的數(shù)據(jù)治理。
- 最開(kāi)始是發(fā)現(xiàn)問(wèn)題,包含成本、標(biāo)準(zhǔn)、質(zhì)量、安全和價(jià)值五個(gè)方面,明確需要進(jìn)行治理的內(nèi)容;
- 然后基于需要治理的內(nèi)容配套專題的治理工具,比如對(duì)無(wú)用數(shù)據(jù)的推薦下線,對(duì)表生命周期的管理,對(duì)計(jì)算任務(wù)的優(yōu)化等;
- 最后在治理工作過(guò)程中,持續(xù)有治理抓手,包括推送整個(gè)項(xiàng)目、個(gè)人的資產(chǎn)賬單,數(shù)據(jù)治理的紅黑榜,并將資產(chǎn)健康分和個(gè)人的任務(wù)優(yōu)先級(jí)或資源申請(qǐng)等掛鉤
- 持續(xù)運(yùn)營(yíng):例如舉辦數(shù)據(jù)治理大賽、業(yè)務(wù)線專項(xiàng)治理活動(dòng)等來(lái)持續(xù)運(yùn)營(yíng)和打磨產(chǎn)品的能力。
整體通過(guò)發(fā)現(xiàn)問(wèn)題-->解決問(wèn)題-->持續(xù)運(yùn)營(yíng)和持續(xù)沉淀形成資產(chǎn)治理的閉環(huán)。
(3)強(qiáng)化管理屬性
- 統(tǒng)一數(shù)據(jù)治理控制臺(tái)作為所有治理項(xiàng)的入口,一方面是系統(tǒng)預(yù)置治理規(guī)則掃描的待治理項(xiàng),包含成本、質(zhì)量、安全、規(guī)范和價(jià)值五個(gè)方面;另一方面是通過(guò)工單形式指派給相關(guān)治理管理者的治理項(xiàng);
- 用戶分層,從項(xiàng)目組、項(xiàng)目和用戶角度呈現(xiàn)待治理和已治理項(xiàng),強(qiáng)化數(shù)據(jù)治理專員這個(gè)角色;
- 自定義數(shù)據(jù)治理流程,例如待我治理/待處理工單,數(shù)據(jù)消費(fèi)者、項(xiàng)目負(fù)責(zé)人、數(shù)據(jù)治理專員都可以發(fā)起資產(chǎn)的治理工單(比如字段描述缺失、數(shù)據(jù)質(zhì)量分較低等)系統(tǒng)會(huì)將治理工單下發(fā)給資產(chǎn)負(fù)責(zé)人,所有工單信息都會(huì)體現(xiàn)在“待我治理”模塊;
- 數(shù)據(jù)治理的流程定義與企業(yè)組織架構(gòu)、消息系統(tǒng)如IM等進(jìn)行打通,形成管理閉環(huán)。
3.3 產(chǎn)品整體方案
經(jīng)過(guò)上面的介紹可知我們的數(shù)據(jù)治理產(chǎn)品包含事前和事后兩條路線。覆蓋數(shù)據(jù)的全生命周期(從元數(shù)據(jù)的注冊(cè)到數(shù)據(jù)應(yīng)用消費(fèi)),包含”先設(shè)計(jì)再開(kāi)發(fā)“的事前治理、數(shù)據(jù)健康評(píng)估與優(yōu)化(事后治理)這兩條線,以實(shí)現(xiàn)建設(shè)“規(guī)范的元數(shù)據(jù)”和“好的數(shù)據(jù)”。同時(shí)在消費(fèi)端將健康的資產(chǎn)通過(guò)業(yè)務(wù)分類和標(biāo)簽等方式來(lái)組織,便于普通用戶在數(shù)據(jù)消費(fèi)時(shí)能“找的到、讀的懂、信的過(guò)”。
- 數(shù)據(jù)消費(fèi)者對(duì)數(shù)據(jù)資產(chǎn)有任何問(wèn)題可以一鍵發(fā)起數(shù)據(jù)治理工單,資產(chǎn)責(zé)任人則需要完成響應(yīng)。
- 資產(chǎn)責(zé)任人需要完成系統(tǒng)識(shí)別的治理內(nèi)容和數(shù)據(jù)消費(fèi)者、負(fù)責(zé)人、治理負(fù)責(zé)人發(fā)起的治理內(nèi)容。
- 項(xiàng)目負(fù)責(zé)人,治理負(fù)責(zé)人可以發(fā)起數(shù)據(jù)治理工單。
- 治理負(fù)責(zé)人包含數(shù)據(jù)治理專員及治理負(fù)責(zé)人,對(duì)企業(yè)數(shù)據(jù)資產(chǎn)質(zhì)量負(fù)責(zé)。
3.4 元數(shù)據(jù)數(shù)據(jù)治理滿足的場(chǎng)景
- 元數(shù)據(jù)管理,包含倉(cāng)內(nèi)、倉(cāng)外,手工元數(shù)據(jù)的整體納管,數(shù)據(jù)資產(chǎn)一體化構(gòu)建企業(yè)統(tǒng)一數(shù)據(jù)資產(chǎn)地圖,讓數(shù)據(jù)消費(fèi)者找的到、讀的懂、信的過(guò);
- 通過(guò)覆蓋元數(shù)據(jù)注冊(cè)-采集-掃描-審批-發(fā)布-使用-變更-廢棄的全生命周期,構(gòu)建一條完整的元數(shù)據(jù)治理鏈路;
- 覆蓋數(shù)據(jù)研發(fā),數(shù)據(jù)治理,數(shù)據(jù)服務(wù),到數(shù)據(jù)應(yīng)用的全鏈路數(shù)據(jù)血緣,從而構(gòu)建基于ROI的數(shù)據(jù)資產(chǎn)沉淀體系和”剝洋蔥“式的從應(yīng)用到底層的數(shù)據(jù)下線機(jī)制;
- 制定和管理企業(yè)的數(shù)據(jù)標(biāo)準(zhǔn),保障數(shù)據(jù)的內(nèi)外部使用和交換的一致性和準(zhǔn)確性的規(guī)范性
- 構(gòu)建統(tǒng)一指標(biāo)庫(kù),消除數(shù)據(jù)的二義性;
- 數(shù)倉(cāng)模型優(yōu)化,從規(guī)范性,復(fù)用性,應(yīng)用價(jià)值上構(gòu)建健康的數(shù)據(jù)體系;
- 成本治理,包含存儲(chǔ),計(jì)算成本優(yōu)化,降本增效;
- 數(shù)據(jù)質(zhì)量治理,通過(guò)數(shù)據(jù)開(kāi)發(fā)前數(shù)據(jù)比對(duì),形態(tài)探查,數(shù)據(jù)測(cè)試報(bào)告,數(shù)據(jù)任務(wù)運(yùn)行中的強(qiáng)弱規(guī)則阻斷下游任務(wù)防止數(shù)據(jù)污染,事后提升數(shù)據(jù)質(zhì)量監(jiān)控覆蓋率等方式全面提升數(shù)據(jù)質(zhì)量;
- 數(shù)據(jù)安全治理,包含數(shù)據(jù)資產(chǎn)的分類分級(jí),脫敏加密,安全掃描,安全審計(jì),權(quán)限治理等。
4、基于邏輯數(shù)據(jù)湖的數(shù)據(jù)治理介紹
我們?cè)谡{(diào)研外部用戶需求的過(guò)程中,經(jīng)常會(huì)碰到的問(wèn)題:每個(gè)企業(yè)用戶的技術(shù)建設(shè)情況不同,業(yè)務(wù)復(fù)雜度也不一,很多傳統(tǒng)企業(yè)已有的IT系統(tǒng)已運(yùn)行了很多年,只是無(wú)法再支持日益增長(zhǎng)的數(shù)據(jù)需求,他們?cè)诖髷?shù)據(jù)技術(shù)體系的經(jīng)驗(yàn)幾乎空白,當(dāng)面對(duì)一個(gè)比如lambda架構(gòu)的大數(shù)據(jù)解決方案時(shí),往往會(huì)覺(jué)得過(guò)于復(fù)雜和難以掌握,對(duì)落地成效心存疑慮。還有部分用戶的業(yè)務(wù)在現(xiàn)有技術(shù)框架上(比如MPP)運(yùn)行良好,出于對(duì)未來(lái)發(fā)展的前瞻性考慮,需要提前進(jìn)行大數(shù)據(jù)的基礎(chǔ)技術(shù)建設(shè),這部分用戶對(duì)于大數(shù)據(jù)未來(lái)的必要性是肯定的,但是會(huì)特別關(guān)心其適用的場(chǎng)景、業(yè)務(wù)覆蓋度以及如何平滑地進(jìn)行業(yè)務(wù)的遷移。
數(shù)據(jù)湖&Hadoop解決的是數(shù)據(jù)統(tǒng)一匯聚的問(wèn)題,而統(tǒng)一元數(shù)據(jù)則是解決數(shù)據(jù)連接、資產(chǎn)、管理的問(wèn)題,對(duì)于相當(dāng)部分的用戶而言,當(dāng)前最大的痛點(diǎn)不是海量數(shù)據(jù)的存儲(chǔ),而是如何將散落到各個(gè)子數(shù)據(jù)系統(tǒng)的數(shù)據(jù)孤島統(tǒng)一管控起來(lái)。因此通過(guò)構(gòu)建一個(gè)邏輯層面的數(shù)據(jù)湖,實(shí)現(xiàn)統(tǒng)一的元數(shù)據(jù)+分散的物理存儲(chǔ),避免不必要的物理數(shù)據(jù)入倉(cāng)(湖),從而將產(chǎn)品上層功能比如主題域構(gòu)建、數(shù)據(jù)地圖等等及早給用戶使用才是解決問(wèn)題的根本之道,邏輯數(shù)據(jù)湖方案,依然可以使用物理湖&Hadoop,同時(shí)提供通過(guò)虛擬表直連數(shù)據(jù)源的方案將其他類型的數(shù)據(jù)源也納入平臺(tái)的管控中,用戶可以根據(jù)實(shí)際的需要選擇適合的存儲(chǔ)方案。
我們的構(gòu)建方法論主要分為如下三個(gè)大的層面:
數(shù)據(jù)源支持類型:除了Hadoop(Hive)體系,MPP、RDMS、HTAP、KV、MQ等都需要支持,并且一視同仁,都可以作為具體邏輯數(shù)據(jù)湖具體對(duì)象的物理存儲(chǔ)。
統(tǒng)一數(shù)據(jù)源 & 統(tǒng)一元數(shù)據(jù):統(tǒng)一數(shù)據(jù)源要做的是規(guī)范每種數(shù)據(jù)源的登記注冊(cè),包括數(shù)據(jù)源URL格式、數(shù)據(jù)源Owner、唯一性校驗(yàn)、賬號(hào)映射、聯(lián)通性校驗(yàn)、支持的版本、特定的參數(shù)等;統(tǒng)一元數(shù)據(jù),則是將數(shù)據(jù)源的技術(shù)(物理)元信息和業(yè)務(wù)元信息進(jìn)行關(guān)聯(lián),提供統(tǒng)一的查詢修改接口。
統(tǒng)一數(shù)據(jù)開(kāi)發(fā)、治理和查詢分析:這三個(gè)屬于構(gòu)建在統(tǒng)一元數(shù)據(jù)&數(shù)據(jù)源基礎(chǔ)之上的應(yīng)用層。統(tǒng)一的數(shù)據(jù)開(kāi)發(fā),包括不同物理數(shù)據(jù)源之間的交換、離線&實(shí)時(shí)開(kāi)發(fā)、同源&跨源查詢;統(tǒng)一的數(shù)據(jù)治理,則包括數(shù)據(jù)主題建設(shè)、權(quán)限管控、數(shù)據(jù)生命周期、資產(chǎn)地圖等;統(tǒng)一查詢分析,則是在完成數(shù)據(jù)主題建設(shè)、數(shù)據(jù)開(kāi)發(fā)產(chǎn)出以后,提供同源&跨源的模型分析能力。