
數(shù)據(jù)倉庫的幾個原則,讓你避免“陷阱”
想要數(shù)據(jù)粒度的合理性、模型的靈活性得到保證,并且能夠適應(yīng)未來的信息資源,需要遵守維度建模的一些原則。否則,很容易會遇到數(shù)據(jù)倉庫障礙,并且把用戶弄糊涂。
1.原子數(shù)據(jù)需詳細(xì)
維度建模應(yīng)該使用最基礎(chǔ)的原子數(shù)據(jù)進(jìn)行填充,以支持不可預(yù)知的來自用戶查詢的過濾和分組請求。
用戶通常不希望每次只看到一個單一的記錄,但是你無法預(yù)測用戶想要掩蓋或顯示哪些數(shù)據(jù)。如果只有匯總數(shù)據(jù),那么你已經(jīng)設(shè)定了數(shù)據(jù)的使用模式,當(dāng)用戶想要深入挖掘數(shù)據(jù)時,他們就會遇到障礙。盡管原子數(shù)據(jù)通過概要維度建模補充也是一種辦法,但是這樣做的話,企業(yè)用戶便無法只在匯總數(shù)據(jù)上工作,畢竟,他們需要原始數(shù)據(jù)回答不斷變化的問題。
2.使用代理鍵
按順序分配代理鍵(除了日期維度)可以獲得一系列的操作優(yōu)勢,包括更小的事實表、索引以及性能改善。如果你正在跟蹤維度屬性的變化,并需要為每個變化使用一個新的維度記錄,那么代理鍵就顯得十分重要了。因為,即使你的商業(yè)用戶沒有初始化跟蹤屬性改變的設(shè)想值,使用代理也會使下游策略變化更寬松。另外,代理也允許使用多個業(yè)務(wù)鍵映射到一個普通的配置文件中,這有利于緩沖意想不到的業(yè)務(wù)活動。
3.標(biāo)記和過濾范圍值
值得注意的是,編碼、關(guān)聯(lián)的解碼、用于標(biāo)記和查詢過濾的描述符,應(yīng)該被捕獲到維度表中,避免在事實表中存儲神秘的編碼字段或龐大的描述符字段。同樣的,不要只在維度表中存儲編碼,而要假定用戶不需要描述性的解碼,或它們將在BI應(yīng)用程序中得到解決。如果它是一個行/列標(biāo)記或下拉菜單過濾器,那么它應(yīng)該當(dāng)作一個維度屬性處理。
另外,事實表的外鍵不應(yīng)該為空,同時在維度表的屬性字段中應(yīng)使用“NA”或另一個默認(rèn)值來替換空值,這也是明智的,可以減少用戶的困惑。
4.一致的維度,集成整個企業(yè)的數(shù)據(jù)
企業(yè)數(shù)據(jù)倉庫一致的維度(也叫做通用維度、標(biāo)準(zhǔn)或參考維度)是最基本的原則,它在ETL系統(tǒng)中管理一次后,在所有事實表中都可以重用。
一致的維度,在整個維度模型中可以獲得一致的描述屬性,可以支持從多個業(yè)務(wù)流程中整合數(shù)據(jù)。企業(yè)數(shù)據(jù)倉庫總線矩陣是最關(guān)鍵的架構(gòu)藍(lán)圖,它展現(xiàn)了組織的核心業(yè)務(wù)流程和關(guān)聯(lián)的維度,重用一致的維度可以縮短產(chǎn)品的上市時間,也消除了冗余設(shè)計和開發(fā)過程,但一致的維度需要在數(shù)據(jù)管理和治理方面有較大的投入。
5.圍繞業(yè)務(wù)流程建模
業(yè)務(wù)流程是組織執(zhí)行的活動,它們代表可測量的事件,如下一個訂單或做一次結(jié)算。業(yè)務(wù)流程通常會捕獲或生成唯一的與某個事件相關(guān)的性能指標(biāo),當(dāng)這些數(shù)據(jù)轉(zhuǎn)換成事實后,每個業(yè)務(wù)流程都會用一個原子事實表表示。除了單個流程事實表外,有時會以多個流程事實表合并成一個事實表,而且合并事實表是對單一流程事實表的一個很好的補充。
6.相同的粒度或同級的詳細(xì)程度
在組織事實表時,粒度上有三個基本原則:事務(wù)、周期快照、累加快照。無論粒度類型如何,事實表中的度量單位都必須達(dá)到相同水平的詳細(xì)程度;如果事實表中的事實表現(xiàn)的粒度不一樣,企業(yè)用戶容易混淆,BI應(yīng)用程序也會隨之變得不堪一擊,從而導(dǎo)致返回的結(jié)果不對等低級錯誤的發(fā)生。
7.一對一的關(guān)聯(lián)日期維度表
如上文所說,每個可測量事件總有一個日期戳信息,每個事實表至少需要有一個外鍵,能夠關(guān)聯(lián)到一個日期維度表,它的粒度就是一天。這個方法,利用的是日歷屬性和非標(biāo)準(zhǔn)的關(guān)于測量事件日期的特性,如財務(wù)月和公司假日的指示符;當(dāng)然,有時一個事實表中會有多個日期外鍵。
8.解決多對一關(guān)系
屬性之間分層的、多對一(M:1)的關(guān)系,通常是未規(guī)范化的,或者被收縮到扁平型的維度表中。如果你曾經(jīng)有過為事務(wù)型系統(tǒng)設(shè)計實體關(guān)系模型的經(jīng)歷,那你一定要摒棄掉舊有的思維模式,將其規(guī)范化或?qū):1關(guān)系拆分成更小的子維度。維度反向規(guī)范化,便是維度建模中常用的詞匯。
一對一的關(guān)系,如一個產(chǎn)品描述對應(yīng)一個產(chǎn)品代碼,可以在維度表中處理。然而,在單個維度表中,多對一(M:1)的關(guān)系也非常常見,在事實表中偶爾也有多對一關(guān)系,如當(dāng)維度表中有上百萬條記錄,而它推出的屬性又經(jīng)常發(fā)生變化時。不管怎樣,在事實表中要慎用M:1關(guān)系。
9.解決多對多關(guān)系
由于事實表存儲的是業(yè)務(wù)流程事件的結(jié)果,因此在它們的外鍵之間存在多對多(M:M)的關(guān)系,如多個倉庫中的多個產(chǎn)品在多天銷售,這些外鍵字段便不能為空。有時一個維度可以為單個測量事件賦予多個值,如一個保健對應(yīng)多個診斷,或多個客戶有一個銀行賬號,在這些情況下,它的不合理直接解決了事實表中多值維度,這可能違反了測量事件的天然粒度,因此我們使用多對多、雙鍵橋接表連接事實表。
10.平衡需求和現(xiàn)實,提供DW/BI解決方案
維度建模需要不斷在用戶需求和數(shù)據(jù)源事實之間進(jìn)行平衡,才能夠提交可執(zhí)行性好的設(shè)計。更重要的是,要符合業(yè)務(wù)的需要,需求和事實之間的平衡是DW/BI從業(yè)人員必須面對的事實,無論是集中在維度建模,還是項目策略、技術(shù)/ETL/BI架構(gòu),或開發(fā)/維護(hù)規(guī)劃,都要面對這一事實。
總的來說,數(shù)據(jù)倉庫維度建模需要注意的部分挺多,在建模的過程中務(wù)必要多留心眼,細(xì)致謹(jǐn)慎,這才是成功之道。尤其進(jìn)入大數(shù)據(jù)時代,與數(shù)據(jù)打交道的機(jī)會愈趨增多,要想成為工作中的“常勝將軍”,切忌馬虎。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(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ū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03