3.數(shù)據(jù)中臺-規(guī)范化建設(shè)-數(shù)據(jù)定義規(guī)范

?

《數(shù)據(jù)定義規(guī)范》

? ? ?上節(jié)我們深入分析了痛點(diǎn)產(chǎn)生的原因陕凹,并規(guī)劃了階段式的整體解決方案钞馁,主要是:從管理組織規(guī)范->數(shù)據(jù)定義規(guī)范->建模規(guī)范->研發(fā)規(guī)范->規(guī)范化推進(jìn) 分步驟有序建立數(shù)據(jù)規(guī)范并落地。接下來我們對每個(gè)環(huán)節(jié)進(jìn)行詳細(xì)說明汽摹,其中“管理組織規(guī)范”已經(jīng)在上節(jié)闡述了其必要性和職責(zé)范圍,本章節(jié)就不再贅述了,本節(jié)重點(diǎn)放在“數(shù)據(jù)定義規(guī)范”這個(gè)環(huán)節(jié)煎饼。

? ?數(shù)據(jù)定義規(guī)范的作用是使得數(shù)據(jù)在定義上進(jìn)行規(guī)范,各個(gè)業(yè)務(wù)線對該規(guī)范達(dá)成一致校赤,來更好的進(jìn)行數(shù)據(jù)的管理吆玖,加速數(shù)據(jù)定位,消除數(shù)據(jù)的二義性马篮。

? ?舉個(gè)例子:數(shù)據(jù)倉庫存在如下兩張登錄表login_1沾乘,login_2,其中兩張表均有l(wèi)ogin_num 這個(gè)字段浑测,我的業(yè)務(wù)需求是按用戶名來統(tǒng)計(jì)每天的總登錄次數(shù)翅阵,那么我到底是使用login_1還是login_2呢?或是我能直接取已經(jīng)存在的login_num來作為我需求中需要的指標(biāo)值嗎尽爆?不能怎顾,因?yàn)槲宜吹降谋砻Q是不規(guī)范的,且login_num這個(gè)字段到底代表什么含義漱贱,也是缺失的槐雾,這就是表和指標(biāo)不規(guī)范帶來的無法快速定位需要的數(shù)據(jù),數(shù)據(jù)二義性的典范幅狮。

? 整個(gè)數(shù)據(jù)定義規(guī)范分為兩塊:表的規(guī)范化定義和指標(biāo)的規(guī)范化定義


1.表的規(guī)范化定義

? 如上面建設(shè)的login_1和login_2募强,有可能是代表了重復(fù)建設(shè)的兩個(gè)表,也有可能代表著不同業(yè)務(wù)的登錄表崇摄,或是其他的情況擎值,那如何通過規(guī)范化來區(qū)分這些情況呢?經(jīng)過研究逐抑,我們的表名稱可以由以下幾個(gè)部分進(jìn)行組合:?表名=主題域+自定義+更新頻率:其中主題域鸠儿、更新頻率為有限集合,使用數(shù)據(jù)字典維護(hù),最終可自動生成表名稱进每;



A. 主題域:

? ? 在闡述主題域之前汹粤,先說說主題的概念,主題主要是將經(jīng)營的業(yè)務(wù)數(shù)據(jù)進(jìn)行綜合田晚,歸類和分析的一個(gè)抽象概念嘱兼,數(shù)據(jù)倉庫中的數(shù)據(jù)是面向主題組織的,每一個(gè)主題對應(yīng)一個(gè)分析的領(lǐng)域贤徒,比如打車業(yè)務(wù)中芹壕,“客戶行為數(shù)據(jù)”就是一個(gè)主題。

? ?主題域就是緊密相關(guān)聯(lián)的主題的集合接奈,比如“客戶行為數(shù)據(jù)”主題和“客戶轉(zhuǎn)化數(shù)據(jù)”這兩個(gè)主題都在“客戶數(shù)據(jù)”這個(gè)大的主題域下踢涌。


主題域的劃分主要有如下幾個(gè)方法:

? ? (1)按照業(yè)務(wù)過程劃分:按照公司經(jīng)營的業(yè)務(wù)范圍,將業(yè)務(wù)按照模塊垂直拆分成幾大主題域鲫趁,而每個(gè)主題域又可以拆分為多個(gè)主題斯嚎,其中主題域,以及主題域和主題映射關(guān)系挨厚,均可維護(hù)在數(shù)據(jù)字典中。

? ? (2)按照功能塊來劃分:比如短視頻app中的“聊天域”糠惫,“廣告域”疫剃,其中“廣告域”下面又可以分為“流量分析”,“客戶分析”等主題;

? ? (3)按照部分來劃分:按照部門職責(zé)來劃分對應(yīng)的主題域硼讽,比如“技術(shù)域”,“銷售域”等巢价;

? ? ?建議采用按照業(yè)務(wù)過程來拆分主題域,這樣表名帶有主題域信息固阁,就能知道該表所屬的業(yè)務(wù)范圍了壤躲,為了防止表名稱過長,表名里面攜帶主題域的縮寫信息备燃,而對應(yīng)的主題信息作為表的附屬信息碉克,通過系統(tǒng)記錄到后臺中進(jìn)行維護(hù)。

? ? 這里需要注意的是并齐,由于業(yè)務(wù)在不斷發(fā)展漏麦,主題域在初期劃分的時(shí)候很可能不是一個(gè)完整全面的集合,這個(gè)可以后期進(jìn)行迭代升級補(bǔ)充即可况褪。

B.自定義:

? ?除了用主題限定表名稱外撕贞,還需要額外自定義信息來補(bǔ)充表的含義,自定義部分是區(qū)分同一主題下不同表的業(yè)務(wù)意義的测垛,所以這塊需要凸顯出表的業(yè)務(wù)含義捏膨,如user_login_log表,表示用戶登錄日志食侮,admin_login_log表号涯,表示管理員登錄日志目胡。

? 自定義標(biāo)簽名命名規(guī)范遵從DBA發(fā)布的庫表設(shè)計(jì)命名規(guī)范:表名使用小寫字母,“_”分割诚隙,不超過16個(gè)字符讶隐,使用名詞且見名知意。不使用temp久又、old巫延、new等帶有誤導(dǎo)性的關(guān)鍵詞作為表名的一部分。

C.更新頻率:

? ?在數(shù)據(jù)字典中可以維護(hù)其表的更新頻率全集地消,如:按小時(shí)更新的炉峰,則表名后綴為hour,按天更新的脉执,表名后綴帶day疼阔。



? ? 以上就是表名稱的規(guī)范化的制定,有人會疑惑:表名稱規(guī)范對應(yīng)的3個(gè)部分半夷,其中主題和更新頻率是數(shù)據(jù)字典維護(hù)的婆廊,用戶直接選擇的,但是自定義部分仍然會存在用戶定義成login_1巫橄,login_2淘邻,仍然會存在歧義和重復(fù),對于這個(gè)部分湘换,我們主要做了以下工作來規(guī)避:

(1)對規(guī)范化定義在各個(gè)業(yè)務(wù)組進(jìn)行宣講宾舅,各業(yè)務(wù)組leader對組員進(jìn)行規(guī)約,在理解上達(dá)成一致彩倚,盡可能規(guī)避風(fēng)險(xiǎn)筹我;

(2)通過自動化手段檢測和約束自定義表名稱的規(guī)范化:如維護(hù)一個(gè)黑名單,不允許出現(xiàn)_1,old?這樣的短語作為表名稱的一部分帆离;

(3)在流程上增加審核機(jī)制:對新增的表由數(shù)據(jù)管理組人員統(tǒng)一進(jìn)行審核蔬蕊,通過后再在線上環(huán)境進(jìn)行創(chuàng)建;

? ? 通過以上三個(gè)步驟盯质,可有效規(guī)避表的不規(guī)范問題袁串,整個(gè)過程涉及到的人員和環(huán)節(jié)較多,所以需要大家的通力合作呼巷,才能最終達(dá)到規(guī)范化的目標(biāo)囱修;

? ? ?仍然以電商領(lǐng)域?yàn)槔乙獎?chuàng)建一個(gè)用戶基礎(chǔ)信息表王悍,且按天更新破镰,則定義的規(guī)范化表名稱為:

? acct_baseinfo_day,其中acct表示客戶主題,baseinfo為自定義,day為更新頻率鲜漩。

2.指標(biāo)的規(guī)范化定義

? ? 數(shù)據(jù)指標(biāo)是指在業(yè)務(wù)中將某個(gè)事件量化源譬,數(shù)字化來衡量業(yè)務(wù)的好壞,揭示出產(chǎn)品用戶的行為和業(yè)務(wù)水平狀況孕似,指導(dǎo)我們的業(yè)務(wù)運(yùn)營踩娘,如在某款打車APP應(yīng)用中,日活作為一個(gè)數(shù)據(jù)指標(biāo)喉祭,?表示一天內(nèi)日均活躍去重設(shè)備數(shù)养渴,日新增注冊用戶量指標(biāo),則統(tǒng)計(jì)一天內(nèi)安裝應(yīng)用后泛烙,注冊APP的用戶數(shù)理卑。

? ?為什么要進(jìn)行指標(biāo)的規(guī)范化定義?主要是為了防止指標(biāo)的重復(fù)性建設(shè)和二義性蔽氨,如在最開始出現(xiàn)的例子中藐唠,數(shù)倉中的兩張表login_1,login_2鹉究,均有l(wèi)ogin_num這個(gè)字段宇立,但是login_num到底代表什么業(yè)務(wù)含義,是否重復(fù)建設(shè)的自赔,這些都不得而知泄伪,所以我們需要從指標(biāo)的定義上面來制定一些規(guī)范,遵循這樣的規(guī)范后匿级,可以有效控制指標(biāo)的重復(fù)建設(shè)和二義性問題。

? 指標(biāo)是依附于數(shù)據(jù)表而存在的染厅,并且指標(biāo)也是從數(shù)據(jù)表中統(tǒng)計(jì)而來痘绎,通過對已有的指標(biāo)進(jìn)行分解,我們發(fā)現(xiàn)每個(gè)指標(biāo)都可以按照業(yè)務(wù)限定+統(tǒng)計(jì)粒度+統(tǒng)計(jì)周期+原子指標(biāo)進(jìn)行分解肖粮,這4個(gè)部分均可以根據(jù)自身業(yè)務(wù)來用數(shù)據(jù)字典進(jìn)行維護(hù)孤页,數(shù)據(jù)字典作為有限集合,可以很好的統(tǒng)一指標(biāo)的定義涩馆,通過這種結(jié)構(gòu)化指標(biāo)設(shè)計(jì)來消除二義性行施,統(tǒng)一數(shù)據(jù)口徑:




?從業(yè)務(wù)角度來分析這4個(gè)部分,舉個(gè)例子:在打車APP場景下魂那,統(tǒng)計(jì)華中地區(qū)每個(gè)公司日活指標(biāo)

A.業(yè)務(wù)限定:

? ?表示該指標(biāo)統(tǒng)計(jì)的業(yè)務(wù)范圍蛾号,例子中的“華中地區(qū)”即為業(yè)務(wù)限定;

B.統(tǒng)計(jì)粒度:

? ?即統(tǒng)計(jì)的維度信息涯雅,例子中的統(tǒng)計(jì)粒度為“公司”維度統(tǒng)計(jì)鲜结;

C.統(tǒng)計(jì)周期

? ?統(tǒng)計(jì)周期可以為按日,按周,按月等精刷,表示該指標(biāo)的時(shí)間屬性拗胜,例子中的統(tǒng)計(jì)周期是“按日”;

D.原子指標(biāo)

? 原子指標(biāo)表示不可再進(jìn)行拆分的最細(xì)粒度的指標(biāo)怒允,例子中的對應(yīng)的原子指標(biāo)為“活躍數(shù)”埂软,在算法上表現(xiàn)為APP用戶去重計(jì)算所得;


? ?回到上面的例子纫事,采用這4部分進(jìn)行拆解后勘畔,該指標(biāo)經(jīng)過規(guī)范化定義為:華中地區(qū)_公司維度_按天_活躍數(shù),在開發(fā)人員通過系統(tǒng)平臺添加這種規(guī)范化指標(biāo)后儿礼,并和規(guī)范化表中的字段列進(jìn)行綁定后咖杂,那么數(shù)據(jù)分析人員在使用時(shí)就能快速準(zhǔn)確定位到該指標(biāo),數(shù)據(jù)開發(fā)人員在進(jìn)行開發(fā)時(shí)候也能知道系統(tǒng)中已經(jīng)存在該指標(biāo)蚊夫,也就不會再進(jìn)行二次開發(fā)了诉字,即使開發(fā)人員在定義指標(biāo)時(shí)候沒有查重,其在平臺上添加的時(shí)候知纷,平臺會進(jìn)行檢測壤圃,發(fā)現(xiàn)已經(jīng)存在一樣定義的指標(biāo),會拒絕創(chuàng)建該指標(biāo)琅轧。通過這種方式來保障指標(biāo)的規(guī)范化伍绳。

?以上為數(shù)據(jù)規(guī)范化定義的內(nèi)容,主要包含數(shù)據(jù)表的規(guī)范化定義和數(shù)據(jù)指標(biāo)的規(guī)范化定義乍桂,我們來回顧下重點(diǎn):

?(1)數(shù)據(jù)表的規(guī)范化定義:表名=主題+自定義+更新頻率:其中主題冲杀、更新頻率為有限集合,使用數(shù)據(jù)字典維護(hù)睹酌,最終可自動生成表名稱权谁。其中自定義部分要契合業(yè)務(wù)含義,不能隨意填寫憋沿;可以通過文中提及的管理手段和工具來規(guī)避亂建的風(fēng)險(xiǎn)旺芽;

(2)數(shù)據(jù)指標(biāo)的規(guī)范化定義:指標(biāo)=?業(yè)務(wù)限定+統(tǒng)計(jì)粒度+統(tǒng)計(jì)周期+原子指標(biāo),4個(gè)部分均可以采用有限集合進(jìn)行限定辐啄,可通過平臺自動檢測等手段避免重復(fù)建設(shè)風(fēng)險(xiǎn)采章;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市壶辜,隨后出現(xiàn)的幾起案子悯舟,更是在濱河造成了極大的恐慌,老刑警劉巖士复,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件图谷,死亡現(xiàn)場離奇詭異翩活,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)便贵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門菠镇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人承璃,你說我怎么就攤上這事利耍。” “怎么了盔粹?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵隘梨,是天一觀的道長。 經(jīng)常有香客問我舷嗡,道長轴猎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任进萄,我火速辦了婚禮捻脖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘中鼠。我一直安慰自己可婶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布援雇。 她就那樣靜靜地躺著矛渴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惫搏。 梳的紋絲不亂的頭發(fā)上具温,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音筐赔,去河邊找鬼桂躏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛川陆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛮位,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼较沪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了失仁?” 一聲冷哼從身側(cè)響起尸曼,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萄焦,沒想到半個(gè)月后控轿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冤竹,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年茬射,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹦蠕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡在抛,死狀恐怖钟病,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刚梭,我是刑警寧澤肠阱,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站朴读,受9級特大地震影響屹徘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衅金,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一噪伊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧典挑,春花似錦酥宴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至琳水,卻和暖如春肆糕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背在孝。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工诚啃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人私沮。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓始赎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親仔燕。 傳聞我的和親對象是個(gè)殘疾皇子造垛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容