
數(shù)據(jù)平臺(tái)維度模型設(shè)計(jì)十個(gè)技巧
了解過(guò)數(shù)據(jù)倉(cāng)庫(kù)歷史的人都知道Bill Inmon、 Ralph Kimball。 Bill Inmon 代表作《Building the Data WareHouse》 , Ralph Kimball代表作為 《The Data Warehouse Toolkit》、《The data Warehouse lifecycle》。兩位大師對(duì)數(shù)據(jù)模型都分別作了深入闡述,個(gè)人理解的數(shù)據(jù)模型是數(shù)據(jù)平臺(tái)的靈魂。數(shù)據(jù)模型設(shè)計(jì)好了對(duì)數(shù)據(jù)應(yīng)用、數(shù)據(jù)分析支持是非常有幫助的。尤其 kimball 提出的維度模型 ,圍繞業(yè)務(wù)模型能夠直觀(guān)的表達(dá)業(yè)務(wù)數(shù)據(jù)關(guān)系。
關(guān)于數(shù)據(jù)模型概念不多講,本文與大家分享多維數(shù)據(jù)模型設(shè)計(jì)的十個(gè)技巧。
技巧一:維度表中應(yīng)該包含最細(xì)的顆粒度。
通常在數(shù)據(jù)平臺(tái)做開(kāi)發(fā)的同學(xué),“特麼”經(jīng)常抱怨 “ 需求怎么又變了,這個(gè)需求能不能不要來(lái)回的改“,數(shù)據(jù)建設(shè)中會(huì)遇到非常不確定性需求,不可預(yù)測(cè)篩選與匯總。
尤其是在互聯(lián)網(wǎng)做數(shù)據(jù)化運(yùn)營(yíng),絕大部分需求幾個(gè)匯總類(lèi)指標(biāo)是無(wú)法滿(mǎn)足需求,很多時(shí)候會(huì)沉浸到比較明細(xì)、更深層次的細(xì)節(jié)信息。當(dāng)然匯總指標(biāo)是能夠概括一些概述數(shù)據(jù)細(xì)節(jié),但只有細(xì)節(jié)數(shù)據(jù)才能回答各種不停的業(yè)務(wù)上數(shù)據(jù)追問(wèn)。
技巧二: 圍繞業(yè)務(wù)流程來(lái)構(gòu)建維度。
數(shù)據(jù)是真實(shí)的反應(yīng)業(yè)務(wù)活動(dòng)與成果的,業(yè)務(wù)流程在不同的階段所產(chǎn)生數(shù)據(jù)項(xiàng)也是不一樣的。比如說(shuō)一個(gè)用戶(hù)從尋找App、下載、安裝、啟動(dòng)、再啟動(dòng)這個(gè)流程,用戶(hù)在淘寶購(gòu)物、尋找瀏覽物品、放入購(gòu)物車(chē)、跳轉(zhuǎn)收銀臺(tái)、支付、完成。
這兩個(gè)流程背后代表某個(gè)業(yè)務(wù)事件活動(dòng),在不同的環(huán)節(jié)產(chǎn)生的數(shù)據(jù)項(xiàng)是不同的,如果將流程不同階段的指標(biāo)沉淀下來(lái)變?yōu)榭啥攘康年P(guān)鍵指標(biāo),如果將這些關(guān)鍵指標(biāo)根據(jù)關(guān)系合并與設(shè)計(jì)到事實(shí)表中,就變?yōu)橹螛I(yè)務(wù)人員分析、探索業(yè)務(wù)的細(xì)節(jié)數(shù)據(jù)。
為了能夠從業(yè)務(wù)流程上的多維度來(lái)探索數(shù)據(jù),所涉及到的很多維度最好是業(yè)務(wù)流程來(lái)做設(shè)計(jì),比如上圖交易現(xiàn)相關(guān),從訂單的來(lái)源,所屬產(chǎn)品、到支付階段的資金來(lái)源,從業(yè)務(wù)流程上來(lái)看,還可以擴(kuò)展出更多的維度、與度量值。
在不同的業(yè)務(wù)環(huán)節(jié),業(yè)務(wù)人員都會(huì)“很任性”的需求不同指標(biāo),但是在需求中往往是與業(yè)務(wù)流程有很大關(guān)系的。
技巧三:盡量保證每張事實(shí)表與時(shí)間維度有關(guān)聯(lián)
在原則二中描述那兩個(gè)案例業(yè)務(wù)永遠(yuǎn)是與日期有關(guān)系的,不管是月、日、年、還是分、秒,財(cái)務(wù)年、自定義時(shí)間事件段等。
每個(gè)事實(shí)表至少有一個(gè)外鍵能夠與日期維度表相連,時(shí)間維度能才能反映出存量與流量,才能分析某一時(shí)刻、某一時(shí)間段的業(yè)務(wù)流程變化情況。
技巧四:同一張事實(shí)表的指標(biāo)對(duì)應(yīng)維度層級(jí)必須一致
一般的事實(shí)表有四種類(lèi)型,粒度事實(shí)、周期性快照事實(shí)、聚合快照事實(shí)、非事實(shí)事實(shí)表,不管它們的粒度類(lèi)型,事實(shí)表中的每個(gè)度量值在顆粒度上必須保持與維度的顆粒度是一致的,否則就等著崩潰吧。
例如原則二給出的案例,要分析一個(gè)用戶(hù)訂單支付業(yè)務(wù)。如果對(duì)這個(gè)業(yè)務(wù)進(jìn)行設(shè)計(jì)分析模型時(shí),把產(chǎn)品維度粒度定義為產(chǎn)品,但是在度量值金額卻是按照不同產(chǎn)品分類(lèi)做聚合的,那就有意思了。我暫時(shí)也沒(méi)回憶起類(lèi)似的場(chǎng)景會(huì)在什么情況犯錯(cuò)。
技巧五:處理好事實(shí)表和維度表之間的多對(duì)多關(guān)系
在多個(gè)維度表的值可以賦給單個(gè)事實(shí)事務(wù)時(shí),事實(shí)表和維度表之間通常是多對(duì)多關(guān)系,比如為了計(jì)算寫(xiě)書(shū)的作者分成,一本書(shū)可能有多個(gè)作者, 一個(gè)作者可能出版了多本書(shū),這個(gè)案例下就是多對(duì)多的關(guān)系。要考慮到可以計(jì)算出每個(gè)作者的的分成,中間可以增加一個(gè)橋接表。
綜上所述,
在這種情況下多個(gè)值的維度與事實(shí)表直連可以采用橋接表來(lái)處理。
技巧六:經(jīng)常發(fā)生變化的維度處理
在設(shè)計(jì)維度上很多時(shí)候都是扁平化處理,業(yè)務(wù)中普遍的維度關(guān)系是一對(duì)一的關(guān)系,比如例如客戶(hù)Simmy將自己的地址由原先的Addr1改為Addr2。這時(shí)我們需要將這個(gè)記錄了客戶(hù)Simmy的記錄中的有效截止日期改為現(xiàn)在,并重新添加一條有效截止日期為現(xiàn)在的和一個(gè)新的版本號(hào)且Address為Addr2的記錄。
但是也經(jīng)常存在一對(duì)多的關(guān)系,比如大家的購(gòu)物郵寄地址、個(gè)人電話(huà)號(hào)碼等在現(xiàn)實(shí)生活中有變化的處理。這種情況可能存在一對(duì)多的關(guān)系,假如一張維表存在上百萬(wàn)的維度且匯總信息經(jīng)常在變化,那得注意做緩慢變化、或快速變化處理了。
技巧七:讓維度表使用代理鍵
英文叫SurrogateKey,翻譯過(guò)來(lái)又叫代理鍵,在建模中通過(guò)一些毫無(wú)意義鍵值來(lái)代替一些業(yè)務(wù)鍵值,有利于維度統(tǒng)一整合。
技巧八:進(jìn)行一致性維度的處理
一致性維度,又叫統(tǒng)一維度。對(duì)于構(gòu)建企業(yè)級(jí)數(shù)據(jù)平臺(tái)數(shù)據(jù)模型具有關(guān)鍵的意義,通過(guò)在數(shù)據(jù)轉(zhuǎn)換處理環(huán)節(jié)一次性處理后,在構(gòu)建不同數(shù)據(jù)集市、不同數(shù)據(jù)層時(shí)可以反復(fù)被使用。
統(tǒng)一維度在構(gòu)建多維模型時(shí),可以很便捷能把多種不同類(lèi)型業(yè)務(wù)指標(biāo)進(jìn)行關(guān)聯(lián),讓使用用戶(hù)在不同業(yè)務(wù)間切換分析、還能減少維護(hù)工作。
比如數(shù)據(jù)描述經(jīng)常不一致性如,同名異義、同物異名,還有口徑多樣化、編碼不統(tǒng)一、命名不統(tǒng)一等。還能處理一些未知、不知道名字、日期待定等一些含
糊的分類(lèi)。
而然,在實(shí)施統(tǒng)一維度時(shí)最大的障礙是需要不同的業(yè)務(wù)部門(mén)、IT部門(mén)對(duì)每個(gè)維度屬性上達(dá)成一致,那就涉及到數(shù)據(jù)管理、數(shù)據(jù)治理的范疇了。比如含義相同但名稱(chēng)不同業(yè)務(wù)術(shù)語(yǔ)等。
技巧九:分析功能標(biāo)簽化標(biāo)簽以及過(guò)濾器等信息可以當(dāng)做維度來(lái)保存。
其實(shí)這也不是什么原則,個(gè)人更傾向于歸類(lèi)到技巧中。比如在構(gòu)建分析型數(shù)據(jù)產(chǎn)品時(shí),有些功能性的標(biāo)簽、查詢(xún)類(lèi)的代碼或分類(lèi)完全可以維度化。
例如某些下拉菜單中篩選標(biāo)簽以及過(guò)濾器閾值等、用戶(hù)的特定群體探索、產(chǎn)品的相關(guān)聯(lián)分析等,都可以維度化并做預(yù)處理。
這樣做的好處是速度快,把部分分析結(jié)果數(shù)據(jù)做預(yù)處理,查詢(xún)中需要聚合部分變?yōu)檫^(guò)濾查詢(xún),這樣會(huì)提高分析查詢(xún)效率的。
技巧十:大維度的退化處理
所謂的大維度,是指維度數(shù)據(jù)量特別大,比如現(xiàn)在互聯(lián)網(wǎng)的URL維度可能幾十萬(wàn)上百萬(wàn),還有客戶(hù),產(chǎn)品等等。一個(gè)大的企業(yè)客戶(hù)維度往往有上百萬(wàn)記錄,每條記錄又有上百個(gè)字段。而大的個(gè)人客戶(hù)維度則會(huì)超過(guò)千萬(wàn)條記錄,這些個(gè)人客戶(hù)維度有時(shí)也會(huì)有十多個(gè)字段,但大多數(shù)時(shí)候比較少見(jiàn)的維度也只有不多的幾個(gè)屬性。
這些維度的處理往往采用把大屬性轉(zhuǎn)為小屬性、退化處理,增加更多的不同分類(lèi)字段等特殊處理。
數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶(hù) ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱(chēng) BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢(xún)到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢(xún)結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢(xún)結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專(zhuān)注于從單 ...
2025-07-09year_month數(shù)據(jù)類(lèi)型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類(lèi)型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專(zhuān)業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03