讀書筆記——阿里數(shù)據(jù)中臺(tái)(第二篇:OneData體系1公共層建設(shè))

今天來介紹數(shù)據(jù)中臺(tái)的第二篇膜楷,第二篇共分為三個(gè)大部分分別對(duì)應(yīng)的是阿里的數(shù)據(jù)中臺(tái)三大體系(阿里的數(shù)據(jù)中臺(tái)體系架構(gòu)見上一篇)旭咽,OneData體系,OneEntity體系赌厅,OneService體系穷绵,三大體系相輔相成、相互依賴特愿,OneData體系為基礎(chǔ)仲墨。這次我們把OneData體系分為兩部分介紹,因?yàn)镺neData體系包括數(shù)據(jù)模型設(shè)計(jì)和數(shù)據(jù)資產(chǎn)管理兩部分揍障,今天我們介紹OneData的數(shù)據(jù)模型篇章目养。

1. 煙囪式開發(fā)帶來的困擾和資源浪費(fèi)

阿里的數(shù)據(jù)中臺(tái)治理主要是在2014年開始的,在2014年以前毒嫡,阿里的大數(shù)據(jù)建設(shè)處于煙囪式開發(fā)狀態(tài)癌蚁,這樣的開發(fā)帶來了許多業(yè)務(wù)的困擾和資源的浪費(fèi),2014數(shù)據(jù)依賴如下圖


2014年阿里數(shù)據(jù)團(tuán)隊(duì)的任務(wù)依賴關(guān)系圖.png

由圖可見

  • 數(shù)據(jù)流向會(huì)亂努释,無方向性的
  • 數(shù)據(jù)管理式無序的,處于失控狀態(tài)
  • 除了浪費(fèi)研發(fā)人力和計(jì)算存儲(chǔ)資源膳叨、也必然滿足不了業(yè)務(wù)的需求
    當(dāng)然,這個(gè)問題被放大式在本身業(yè)務(wù)以極快的速度發(fā)展的前提下好爬,這樣的開發(fā)導(dǎo)致的問題我們從兩個(gè)方面來看

業(yè)務(wù)困擾

在混亂的開發(fā)中局雄,會(huì)造成諸多的數(shù)據(jù)問題,如因?yàn)橹笜?biāo)的定義問題存炮,導(dǎo)致同一指標(biāo)有多個(gè)數(shù)據(jù)炬搭,最常見的指標(biāo)為UV,總結(jié)最業(yè)務(wù)的困擾主要一下三點(diǎn)

  • 數(shù)據(jù)統(tǒng)一:數(shù)據(jù)標(biāo)準(zhǔn)規(guī)范難(命名不規(guī)范、口徑不統(tǒng)一穆桂、算法不一致)宫盔,數(shù)據(jù)任務(wù)響應(yīng)慢,從而導(dǎo)致業(yè)務(wù)部門產(chǎn)生困擾而導(dǎo)致不滿
  • 數(shù)據(jù)未打通:各個(gè)數(shù)據(jù)團(tuán)隊(duì)各自為政享完,存在嚴(yán)重的數(shù)據(jù)孤島現(xiàn)狀灼芭;缺乏數(shù)據(jù)融通,數(shù)據(jù)價(jià)值發(fā)掘不夠般又,從而導(dǎo)致業(yè)務(wù)部門看不清數(shù)據(jù)
  • 成為成本中心且服務(wù)化不足:數(shù)據(jù)無方向性彼绷,依賴混亂,倒源,數(shù)據(jù)管理無序苛预,失控,成本化嚴(yán)重笋熬,面向應(yīng)用的服務(wù)化投入不足甚至缺失热某。

技術(shù)困擾

浪費(fèi)主要分兩方面看,一方面是開發(fā)人力技術(shù)的浪費(fèi)胳螟,開發(fā)人員日常在數(shù)據(jù)異常排查和數(shù)據(jù)調(diào)研上疲于奔命昔馋。另外一個(gè)是計(jì)算存儲(chǔ)資源的浪費(fèi),在沒有公共層的情況下糖耸,數(shù)據(jù)重復(fù)存儲(chǔ)和計(jì)算非常常見秘遏。簡(jiǎn)單的總結(jié)為一下的三點(diǎn)

  • 研發(fā)苦惱:煙囪式開發(fā)周期長(zhǎng)、效率低
  • 維護(hù)困難:源系統(tǒng)乎或業(yè)務(wù)變成不能及時(shí)反應(yīng)到數(shù)據(jù)上嘉竟,加之?dāng)?shù)據(jù)不標(biāo)準(zhǔn)邦危,不規(guī)范洋侨,上線難,下線更難倦蚪。
  • 時(shí)效性差:重復(fù)建設(shè)導(dǎo)致任務(wù)鏈路冗長(zhǎng)希坚、任務(wù)繁多,計(jì)算資源緊張陵且;數(shù)據(jù)批量計(jì)算慢裁僧,時(shí)效性不強(qiáng)且覆蓋 業(yè)務(wù)范圍窄,即時(shí)查詢返回結(jié)果慢

2. 數(shù)據(jù)公公層建設(shè)

從上面的問題來看慕购,數(shù)據(jù)的公共層建設(shè)是一件迫在眉睫的事情聊疲,那么數(shù)據(jù)公共層建設(shè)到底該如何進(jìn)行,建設(shè)之前又要如何準(zhǔn)備沪悲。
這里就是OneData體系建設(shè)數(shù)據(jù)建設(shè)篇获洲,OneData體系的主要四個(gè)組成部分為

  1. 規(guī)范化數(shù)據(jù)建模:規(guī)范化數(shù)據(jù)建模,特別關(guān)注數(shù)據(jù)規(guī)范定義可训、數(shù)據(jù)模型設(shè)計(jì)和ETL開發(fā)等全流程
  2. 規(guī)范化研發(fā)工具:用來落地和承載規(guī)范化建模的工具
  3. 數(shù)據(jù)模型數(shù)據(jù)小庫(kù):規(guī)范化數(shù)據(jù)建模產(chǎn)生的所有分層數(shù)據(jù)模型的數(shù)據(jù)被統(tǒng)一存放在數(shù)據(jù)小庫(kù)中
  4. 面向應(yīng)用的數(shù)據(jù)監(jiān)控:所有的數(shù)據(jù)在面向應(yīng)用是都會(huì)被監(jiān)控和調(diào)用昌妹,且對(duì)上線、下線調(diào)優(yōu)監(jiān)控則會(huì)反饋到規(guī)范化數(shù)據(jù)建模中握截。
    四個(gè)部分的運(yùn)行圖如下
    OneData體系開發(fā)的執(zhí)行過程.png

    從四部分看飞崖,首先應(yīng)該是執(zhí)行數(shù)據(jù)建模規(guī)范,其中包括數(shù)據(jù)規(guī)范定義谨胞、數(shù)據(jù)模型設(shè)計(jì)固歪、ETL開發(fā)規(guī)范。各個(gè)規(guī)范都有對(duì)應(yīng)的規(guī)范文件輸出胯努。
    數(shù)據(jù)規(guī)范設(shè)計(jì)精華.png

    在OneDataIII體系體系中牢裳,升級(jí)了原有的體系,講數(shù)據(jù)規(guī)范定義叶沛,數(shù)據(jù)模型設(shè)計(jì)蒲讯,ETL開發(fā)連在一起,時(shí)間設(shè)計(jì)即開發(fā)灰署,所建即所得判帮。即將數(shù)據(jù)規(guī)范定義從工具層面的數(shù)據(jù)命名+結(jié)構(gòu)化抽象定義合二而一,與數(shù)據(jù)模型設(shè)計(jì)連接溉箕,進(jìn)而直接影響ETL.
    \color{red}{下面是核心部分}
    也就數(shù)說數(shù)據(jù)規(guī)范定義完成之后晦墙,每一個(gè)指標(biāo)都可以根據(jù)結(jié)構(gòu)化明明規(guī)則和計(jì)算邏輯快速相應(yīng)到對(duì)應(yīng)的物理上存在的數(shù)據(jù)表中。
    因此在理論上肴茄,只要某個(gè)指標(biāo)能夠被規(guī)范定義(除非復(fù)雜到無法被規(guī)范定義的指標(biāo))晌畅,而一系列經(jīng)過規(guī)范定義的指標(biāo)則會(huì)根據(jù)相同的計(jì)算粒度,匯集到若干物理上存在的表中或者邏輯上存在的表中寡痰,這樣生成的物理表或者邏輯表抗楔,其代碼都可以自動(dòng)化生成棋凳。而中間生成過程則不必關(guān)心,因?yàn)檫@是系統(tǒng)內(nèi)部的只能黑盒要以智能化的方式來解決的谓谦。并且從長(zhǎng)遠(yuǎn)來看贫橙,只能黑盒不僅要實(shí)現(xiàn)代碼自動(dòng)化生成贪婉,還要關(guān)注自動(dòng)化生成代碼機(jī)器任務(wù)調(diào)度所對(duì)應(yīng)的計(jì)算邏輯反粥,特別是從全局來看,這些計(jì)算邏輯能不能勝于人工做法疲迂,甚至勝于人工做法

具體的OneData體系的方法論才顿,包含三個(gè)關(guān)鍵點(diǎn)分別是數(shù)據(jù)倉(cāng)庫(kù)規(guī)劃、數(shù)據(jù)規(guī)范定義尤蒿、數(shù)據(jù)模型設(shè)計(jì)郑气,這里我們不介紹技術(shù)細(xì)節(jié),后面技術(shù)細(xì)節(jié)在《大數(shù)據(jù)之路:阿里大數(shù)據(jù)實(shí)踐》一書中會(huì)重點(diǎn)講述腰池。

1. 數(shù)據(jù)倉(cāng)庫(kù)規(guī)劃和數(shù)據(jù)規(guī)范定義

數(shù)據(jù)規(guī)范定義是與需求分析和產(chǎn)品設(shè)計(jì)同時(shí)進(jìn)行的工作尾组,數(shù)據(jù)規(guī)范定義是在開發(fā)之前,以業(yè)務(wù)的視角進(jìn)行數(shù)據(jù)統(tǒng)一和標(biāo)準(zhǔn)定義示弓,確保計(jì)算的口徑一致讳侨,算法一致,甚至命名是規(guī)范且統(tǒng)一的奏属,后續(xù)的數(shù)據(jù)模型設(shè)計(jì)和ETL開發(fā)都是在此基礎(chǔ)上進(jìn)行的

那么數(shù)據(jù)規(guī)范定義到底是如何實(shí)現(xiàn)的呢

指標(biāo)規(guī)范實(shí)例.jpg
  • 抽象出業(yè)務(wù)板塊 我們基于對(duì)業(yè)務(wù)和數(shù)據(jù)的理解跨跨,對(duì)數(shù)據(jù)進(jìn)行基于業(yè)務(wù)的抽象,這種抽象要求不會(huì)隨著業(yè)務(wù)團(tuán)隊(duì)的組織架構(gòu)變動(dòng)而變動(dòng)囱皿。例如阿里的除了公共板塊外還會(huì)劃分出如電商勇婴,金融,云業(yè)務(wù)等板塊嘱腥。
  • 抽象出數(shù)據(jù)域 在業(yè)務(wù)板塊下面由抽象出數(shù)據(jù)域耕渴,以電商業(yè)務(wù)板塊為例,可以抽象出交易齿兔、會(huì)員橱脸、商店、瀏覽愧驱、搜搜慰技、廣告、公共组砚、等不以團(tuán)隊(duì)轉(zhuǎn)移的數(shù)據(jù)區(qū)域吻商。
  • 抽象出數(shù)業(yè)務(wù)過程 在數(shù)據(jù)域下又抽象出業(yè)務(wù)過程,例如對(duì)于交易的數(shù)據(jù)域糟红,可以抽象出加入購(gòu)物車艾帐、下單乌叶、支付、確認(rèn)收貨柒爸、申請(qǐng)退款等准浴。
  • 抽象出維度 也可以在數(shù)據(jù)與下抽象出維度,訂單維度捎稚、買家維度乐横、賣家維度、在會(huì)員數(shù)據(jù)域下抽象出會(huì)員維度等
    那么下面我們可以基于業(yè)務(wù)過程和維度今野,可以進(jìn)一步定義一下
  • 原子指標(biāo) 例如 支付的業(yè)務(wù)過程中可以定義 '支付訂單金額'葡公、'支付買家數(shù)'等原子指標(biāo),原子子表自帶算法条霜,可解讀的中英文命名催什,數(shù)據(jù)類型等,并會(huì)被后續(xù)的派生指標(biāo)繼承宰睡;
  • 定義業(yè)務(wù)限定:在支付業(yè)務(wù)過程中可以定義業(yè)務(wù)限定蒲凶,即最終計(jì)算派生指標(biāo)的一些限制條件,入支付方式是支付寶拆内、銀聯(lián)等
  • 定義計(jì)算周期:計(jì)算周期是一個(gè)非常特殊的業(yè)務(wù)限定條件旋圆,例如最近1天、最近7天矛纹、最近30天臂聋,幾乎所有的最終面向業(yè)務(wù)的數(shù)據(jù)都有計(jì)算周期這個(gè)限制條件,因此其不屬于任何一個(gè)數(shù)據(jù)域下的任何一個(gè)業(yè)務(wù)過程或南,需要獨(dú)立定義
  • 定義計(jì)算粒度:關(guān)于維度孩等,如BU維度,下會(huì)定義出很多維度屬性采够,同時(shí)也會(huì)產(chǎn)生一些計(jì)算粒度
指標(biāo)名詞釋義.jpg

最后基于原子指標(biāo)肄方,計(jì)算周期、業(yè)務(wù)限定蹬癌、計(jì)算粒度可以結(jié)構(gòu)化定義出派生指標(biāo)权她,并以繼承原子指標(biāo)的數(shù)據(jù)類型、算法逝薪、以及可以解讀的中英文命名為主隅要,結(jié)合計(jì)算周期,業(yè)務(wù)限定和計(jì)算粒度的算法董济,中英文命名形成派生指標(biāo)的算法步清,中英文命名。假派生指標(biāo)是 最近30天天貓支付支付寶支付訂單金額,則原子指標(biāo)是 訂單支付金額廓啊,計(jì)算周期是最近30天欢搜,業(yè)務(wù)限定是支付寶支付,計(jì)算粒度是天貓谴轮。如果釘釘最近7天天貓支付寶支付訂單金額炒瘟,則只需要用同樣的方法將最近30天調(diào)整為最近7天即可快速定義。如果此時(shí)存在指標(biāo)命名一樣但結(jié)構(gòu)不同第步,或者命名不同但結(jié)構(gòu)相同疮装,則系統(tǒng)會(huì)校驗(yàn)并給出錯(cuò)誤提示。

2. 數(shù)據(jù)模型設(shè)計(jì)

經(jīng)典的數(shù)據(jù)模型有很多理論和實(shí)戰(zhàn)指導(dǎo)雌续,但是阿里在結(jié)合自身的業(yè)務(wù)做了改進(jìn)和突破
首先斩个,數(shù)據(jù)設(shè)計(jì)模型是建立在數(shù)據(jù)規(guī)范定義的基礎(chǔ)上,這就從業(yè)務(wù)應(yīng)用或者需求來源空值了數(shù)據(jù)模型設(shè)計(jì)的重要輸入源頭驯杜,其次,對(duì)數(shù)據(jù)迷行嚴(yán)格分層做个,在統(tǒng)一數(shù)據(jù)公共層的同事允許數(shù)據(jù)應(yīng)用層百花齊放鸽心,第三 從業(yè)務(wù)和技術(shù)雙視角出發(fā),嚴(yán)格遵循數(shù)據(jù)模型設(shè)計(jì)的高內(nèi)聚低耦合的六項(xiàng)技術(shù)要求

模型架構(gòu)圖.jpg

19數(shù)據(jù)建模原則.png

1. 高內(nèi)聚低耦合
主要是指從數(shù)據(jù)業(yè)務(wù)特性和訪問特性兩個(gè)角度來考慮居暖,將業(yè)務(wù)相近或者相關(guān)的數(shù)據(jù)設(shè)計(jì)為一個(gè)邏輯或者物理模型顽频;將高概率同時(shí)訪問的數(shù)據(jù)放在一起,將低概率同時(shí)訪問的數(shù)據(jù)分開存儲(chǔ)太闺。
2. 核心模型和拓展模型分離
建立核心模型和拓展模型體系糯景,核心模型包括子彈支持常用的核心業(yè)務(wù),拓展模型包括字段支持個(gè)性化和少量應(yīng)用的需要省骂,不能讓拓展模型的字段過度入侵到核心模型蟀淮,以免破壞核心迷行的架構(gòu)簡(jiǎn)潔性和可維護(hù)性
3. 公共邏輯下沉及單一
越是底層公用的處理邏輯越應(yīng)該在數(shù)據(jù)調(diào)用依賴的底層進(jìn)行封裝與實(shí)現(xiàn),不要讓公共邏輯暴露在應(yīng)用層實(shí)現(xiàn)钞澳,不要讓公共邏輯多出同時(shí)存在怠惶。
4. 成本與性能平衡
適當(dāng)?shù)臄?shù)據(jù)冗余可換取查詢和刷新性能,不以過度冗余與數(shù)據(jù)復(fù)制
5.數(shù)據(jù)可回滾
處理邏輯不變轧粟,在不同時(shí)間多次運(yùn)行數(shù)據(jù)結(jié)果確定不變
6.一致性
具有相同含義的字段在不同的表中命名必須相同策治,必須使用規(guī)范定義的名稱
7.表名清晰可理解
表名需要清晰,一直兰吟,表名易與消費(fèi)者理解和使用

實(shí)施過程工作流.jpg

最后增加模型架構(gòu)的流程圖通惫,不做過多解釋,歡迎點(diǎn)贊訂閱混蔼,多多支持履腋!

附上上篇的數(shù)據(jù)中臺(tái)整體架構(gòu)鏈接,了解整體架構(gòu)可以查看上篇文章

http://www.reibang.com/p/8e13dffb5322

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拄丰,一起剝皮案震驚了整個(gè)濱河市府树,隨后出現(xiàn)的幾起案子俐末,更是在濱河造成了極大的恐慌,老刑警劉巖奄侠,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卓箫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡垄潮,警方通過查閱死者的電腦和手機(jī)烹卒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弯洗,“玉大人旅急,你說我怎么就攤上這事∧嫡” “怎么了藐吮?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)逃贝。 經(jīng)常有香客問我谣辞,道長(zhǎng),這世上最難降的妖魔是什么沐扳? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任泥从,我火速辦了婚禮,結(jié)果婚禮上沪摄,老公的妹妹穿的比我還像新娘躯嫉。我一直安慰自己,他們只是感情好杨拐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布祈餐。 她就那樣靜靜地躺著,像睡著了一般戏阅。 火紅的嫁衣襯著肌膚如雪昼弟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天奕筐,我揣著相機(jī)與錄音舱痘,去河邊找鬼。 笑死离赫,一個(gè)胖子當(dāng)著我的面吹牛芭逝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渊胸,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼旬盯,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起胖翰,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤接剩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后萨咳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懊缺,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年培他,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹃两。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舀凛,死狀恐怖俊扳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情猛遍,我是刑警寧澤馋记,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站螃壤,受9級(jí)特大地震影響抗果,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奸晴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望日麸。 院中可真熱鬧寄啼,春花似錦、人聲如沸代箭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗡综。三九已至乙帮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間极景,已是汗流浹背察净。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盼樟,地道東北人氢卡。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像晨缴,于是被迫代替她去往敵國(guó)和親译秦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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