數(shù)據(jù)倉庫(07)數(shù)倉規(guī)范設(shè)計

規(guī)范設(shè)計在這里取《大數(shù)據(jù)之路:阿里巴巴大數(shù)據(jù)實踐》中的定義,這里記錄一下本人對這一塊自己的理解。

規(guī)范定義指以維度建模作為理論基礎(chǔ) 構(gòu)建總線矩陣,劃分和定義數(shù)據(jù)域、業(yè)務(wù)過程、維度、度量 原子指標(biāo)、修飾類型、修飾詞、時間
周期、派生指標(biāo)。

所謂的規(guī)范的定義,簡單理解,如果把數(shù)據(jù)當(dāng)作貨物,那就是貨物的分類,以及對應(yīng)相關(guān)的屬性,比如生產(chǎn)日期,某個原料的含量等,我們可以把相近或者相同貨物,按照一定的規(guī)律,放在一起,方便入庫與出庫,需要某個貨物按照這些規(guī)律就可以,以比較快的速度拉取出來。

一般的規(guī)范設(shè)計包含一下幾個方面:劃分和定義數(shù)據(jù)域、業(yè)務(wù)過程、維度、度量 原子指標(biāo)、修飾類型、修飾詞、時間周期、派生指標(biāo)。

數(shù)據(jù)域:指面向業(yè)務(wù)分析,將業(yè)務(wù)過程或者維度進行抽象的集合。其中,業(yè)務(wù)過程可以概括為一個個不可拆分的行為事件,如買家下單事件,買家是維度。數(shù)據(jù)域需要抽象提煉,并且長期維護和更新,不可輕易變動。劃分?jǐn)?shù)據(jù)域時,既要能涵蓋當(dāng)前所有的業(yè)務(wù)需求,又能在新業(yè)務(wù)進入時無影響地被包含進已有的數(shù)據(jù)域和擴展新的數(shù)據(jù)域。
業(yè)務(wù)過程:指企業(yè)的業(yè)務(wù)活動,如下單、支付等,業(yè)務(wù)過程是一個不可拆分的行為事件。
時間周期:用來明確數(shù)據(jù)統(tǒng)計的時間范圍或者時間點,如最近30天、自然周、截至當(dāng)日等。
修飾類型:是對修飾詞的一種抽象劃分。修飾類型從屬于某個業(yè)務(wù)域,如日志域的訪問終端類型涵蓋無線端、PC端等修飾詞。
度量/原子指標(biāo):原子指標(biāo)和度量含義相同,基于某一個業(yè)務(wù)事件行為下的度量,是業(yè)務(wù)定義中不可再拆分的指標(biāo),具有明確業(yè)務(wù)含義的名詞,如支付金額。
維度:維度是度量的環(huán)境,用來反映業(yè)務(wù)的一類屬性,這類屬性的集合構(gòu)成一個維度,也可以稱為實體對象。維度屬于一個數(shù)據(jù)域,如地理維度、時間維度。
維度屬性:維度屬性隸屬于一個維度,如地理維度里面的國家名稱、國家ID、省份名稱等屬于維度屬性。
派生指標(biāo):派生指標(biāo)=一個原子指標(biāo)+多個修飾詞(可選)+時間周期??梢岳斫鉃閷υ又笜?biāo)統(tǒng)計范圍的圈定。如原子指標(biāo):支付金額,最近1天海外買家支付金額則為派生指標(biāo)(最近1天為時間周期,海外為修飾詞,買家作為維度,而不作為修飾詞)。

這里說說對上面的理解,上面的定義,實際上就是對數(shù)據(jù)的分類,以及對指標(biāo)統(tǒng)一口徑,統(tǒng)一命名的過程。首先,我們需要劃分?jǐn)?shù)據(jù)域,這個是業(yè)務(wù)過程的集合,所以這個是對數(shù)據(jù)的一個大的分類,這個很重要,因為會影響到后續(xù)我們的數(shù)據(jù)怎么開發(fā)和存儲,以及我們后續(xù)需要數(shù)據(jù)時,怎么查詢,從哪里查詢。

數(shù)倉規(guī)范設(shè)計

數(shù)據(jù)域是一個業(yè)務(wù)過程+維度的集合,也就是我們在建立規(guī)范定義的時候,需要先定義目前以及未來將有的業(yè)務(wù)過程,這個需要和業(yè)務(wù)一起定義討論,因為這一塊要貼近業(yè)務(wù),一般的開發(fā)人員不夠業(yè)務(wù)人員對業(yè)務(wù)理解深入。確定好業(yè)務(wù)過程之后,再看看目前的業(yè)務(wù)過程有哪些維度,抽取出來,做好維度總線矩陣,維護好一致性維度。一個業(yè)務(wù)過程屬于一個數(shù)據(jù)域,但是一個維度可以屬于多個數(shù)據(jù)域。

定義好業(yè)務(wù)過程和維度之后,就要對業(yè)務(wù)過程和維度分類了,看看每一個數(shù)據(jù)域都有哪些內(nèi)容,做好劃分。

分類好了之后,就是確定,每一個業(yè)務(wù)過程,有哪些原子指標(biāo),以及對應(yīng)的修飾詞,時間周期。

做好之后,再根據(jù)需求生成我們想要的派生指標(biāo)等,或者抽取一些數(shù)據(jù)寬表,用于數(shù)據(jù)分析,這樣我們就可以想要知道某個數(shù)據(jù),就可以通過數(shù)據(jù)域->業(yè)務(wù)過程->相應(yīng)的物理表->對應(yīng)的指標(biāo),修飾詞,時間周期等,通過這個分類,定位到我們的數(shù)據(jù),這樣也可以方便我們后續(xù)對數(shù)據(jù)地圖,數(shù)據(jù)資產(chǎn)的管理,這個就有點像是圖書館對圖書的分類,想定義大類,再細(xì)分,圖書是根據(jù)類目劃分,我們這里要根據(jù)業(yè)務(wù)行為過程,具體的業(yè)務(wù)劃分。

圖書館分類

上面的圖是網(wǎng)絡(luò)上某一個圖書館的圖書分類,我們可以注意到,每一個圖書分類前面都有一個字母,這個是每一個類目的代碼,用于圖書的編碼記錄,這里我們也是一樣,需要對每一個數(shù)據(jù)域,也就是數(shù)據(jù)的分類,分配一個編碼。這樣用于表命名,最簡單的就是作為前后綴,這樣我們就可以簡單的通過表名知道這個表是數(shù)據(jù)哪個數(shù)據(jù)域的,同樣的道理我們需要對上面提到的業(yè)務(wù)過程,維度,修飾詞等取一個統(tǒng)一的編碼,用于對后續(xù)數(shù)據(jù)開發(fā)過程中,表命名,字段命名等,這樣我們通過表名稱,字段名稱,就可以大概知道這張表是什么數(shù)據(jù)。

這里舉一個簡單電商的例子,比如交易數(shù)據(jù)域(transaction),業(yè)務(wù)過程屬于下單(order),支付金額(pay_amount),時間周期為最近1天(1d),按照上面的邏輯就是表和字段的邏輯表示為transaction_order.pay_amount_1d,這里為一個偽代碼,幫助了解,具體以共同的約定為準(zhǔn)。

需要數(shù)據(jù)倉庫資料可以點擊這個領(lǐng)取數(shù)據(jù)倉庫(13)大數(shù)據(jù)數(shù)倉經(jīng)典最值得閱讀書籍推薦

原文鏈接:https://zhuanlan.zhihu.com/p/457903802

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容