大資料分析基礎 維度模型

2021-10-02 13:01:39 字數 3754 閱讀 5277

1基本概念

維度模型的概念出自於資料倉儲領域,是資料倉儲建設中的一種資料建模方法。維度模型主要由事實表和維度表這兩個基本要素構成。

1.1維度

維度是度量的環境,用來反映業務的一類屬性 , 這類屬性的集合構成乙個維度 , 也可以稱為實體物件。 維度屬於乙個資料域,如地理維度(其中包括國家、地區、 省以及城市等級別的內容)、時間維度(其中包括年、季、月、周、日等級別的內容)。

維度是維度建模的基礎和靈魂。在維度建模中,將度量稱為「事實」 , 將環境描述為「維度」,維度是用於分析事實所需要的多樣環境。例如, 在分析交易過程時,可以通過買家、賣家、商品和時間等維度描述交易發生的環境。

維度所包含的表示維度的列,稱為維度屬性。維度屬性是查詢約束條件、分組和報表標籤生成的基本**,是資料易用性的關鍵。

1.2事實表

事實表是維度模型的基本表,每個資料倉儲都包含乙個或者多個事實資料表。事實資料表可能包含業務銷售資料,如銷售商品所產生的資料,與軟體中實際表概念一樣。

事實表作為資料倉儲維度建模的核心,緊緊圍繞著業務過程來設計,通過獲取描述業務過程的度量來表達業務過程,包含了引用的維度和與業務過程有關的度量。

事實表中一條記錄所表達的業務細節程度被稱為粒度。通常粒度可以通過兩種方式來表述:一種是維度屬性組合所表示的細節程度:一種是所表示的具體業務含義。

作為度量業務過程的事實,一般為整型或浮點型的十進位制數值,有可加性、半可加性和不可加性三種型別。

相對維度來說,通常事實表要細長,行的增加速度也比維度表快的多,維度表正好相反。

事實表有三種型別 :

事務事實表:事務事實表用來描述業務過程,眼蹤空間或時間上某點的度量事件,儲存的是最原子的資料,也稱為「原子事實表\週期快照事實表」。

週期快照事實表:週期快照事實表以具有規律性的、可預見的時間間隔記錄事實 ,時間間隔如每天、每月、每年等。

累積快照事實表:累積快照事實表用來表述過程開始和結束之間的關鍵步驟事件,覆蓋過程的整個生命週期,通常具有多個日期欄位來記錄關鍵時間點,當過程隨著生命週期不斷變化時,記錄也會隨著過程的變化而被修改。

1.3度量 / 原子指標

原子指標和度量含義相同,基於某一業務事件行為下的度量,是業務定義中不可 再拆分的指標,具有明確業務含義的名詞 ,如支付金額。

事實表和維度交叉匯聚的點,度量和維度構成olap的主要概念,這裡面對於在事實表或者乙個多維立方體裡面存放的數值型的、連續的字段,就是度量。

1.4維度表與事實表

維度表是事實表不可分割的部分。維度表是進入事實表的入口。豐富的維度屬性給出了豐富的分析切割能力。維度給使用者提供了使用資料倉儲的介面。最好的屬性是文字的和離散的。屬性應該是真正的文字而不應是一些編碼簡寫符號。應該通過用更為詳細的文字屬性取代編碼,力求最大限度地減少編碼在維度表中的使用。

維度表和事實表二者的融合也就是「維度模型」,「維度模型」一般採用「星型模式」或者「雪花模式」,「雪花模式」可以看作是「星型模式」的拓展,表現為在維度表中,某個維度屬性可能還存在更細粒度的屬性描述,即維度表的層級關係。

維度屬性也可以儲存到事實表中,這種儲存到事實表中的維度列被稱為「退化維度」。與其他儲存在維表中的維度一樣 ,退化維度也可以用來進行事實表的過濾查詢、實現聚合操作等。

1.5維度與指標例子

下表顯示的是乙個維度(「城市」)和兩個指標(「會話數」和「每次會話瀏覽頁數」)。

維度    指標    指標

城市    會話數    每次會話瀏覽頁數

舊金山    5,000    3.74

柏林    4,000    4.55

2 維度設計

2.1維度基本設計方法

image.png

2.2維度的特點

2.2.1維度的層次結構

維度中的一些描述屬性以層次方式或一對多的方式相互關聯,可以被理解為包含連續主從關係的屬性層次。比如商品類目的最低級別是葉子類目,葉子類目屬於二級類目,二級類目屬於一級類目。在屬性的層次結構中進行鑽取是資料鑽取的方法之一。

2.2.2正規化與反正規化

當屬性層次被例項化為一系列維度,而不是單一的維度時,被稱為雪花模式。

大多數聯機事務處理系統( oltp)的底層資料結構在設計時採用此種規範化技術,通過規範化處理將重複屬性移至其自身所屬的表中,刪除冗餘資料。

將維度的屬性層次合併到單個維度中的操作稱為反規範化。分析系 統的主要目的是用於資料分析和統計,如何更方便使用者進行統計分析決 定了分析系統的優劣。採用雪花模式,使用者在統計分析的過程中需要 大 量的關聯操作,使用複雜度高,同時查詢效能很差;而採用反規範化處 理,則方便、易用且效能好。

2.3交叉探查

資料倉儲匯流排架構的重要基石之一就是一致性維度。在針對不同數 據域進行迭代構建或並行構建時,存在很多需求是對於不同資料域的業 務過程或者同 一資料域的不同業務過程合併在 一起觀察。比如對於日誌資料域,統計了商品維度的最近一天的 pv 和 uv; 對於交易資料域, 統計了商品維度的最近一天的下單mv。現在將不同資料域的商品的 事實合併在一起進行資料探查 ,如計算轉化率等,稱為交叉探查。

2.4維度整合

我們先來看資料倉儲的定義:資料倉儲是乙個面向主題的、整合的、 非易失的且隨時間變化的資料集合,用來支援管理人員的決策。

資料由面向應用的操作型環境進人資料倉儲後,需要進行資料 整合。將面向應用的資料轉換為面向主題的資料倉儲資料,本身就是一種整合。

具體體現在如下幾個方面:

命名規範的統一。

字段型別的統一。

公共**及**值的統一。

業務含義相同的表的統一 。主要依據高內聚、低稠合的理念,在物理實現中,將業務關係大、源系統影響差異小的表進行整合。

表級別的整合,有兩種表現形式。

垂直整合,即不同的**表包含相同的資料集,只是儲存的資訊不同。比如商品基礎資訊表、 商品擴充套件資訊表、商品庫存資訊表,這些表都屬於商品相關資訊表,依據維度設計方法,盡量整合至商品維度模型中,豐富其維度屬性。

水平整合,即不同的**表包含不同的資料集,不同子集之間無交叉,也可以存在部分交叉。如果進行整合,首先需要考慮各個體系是否有交叉,如果存在交叉,則需要去重;如果不存在交叉,則需要考慮不同子集的自然鍵是否存在衝突,如果不衝突, 則可以考慮將各子集的自然鍵作為整合後的表的自然鍵;另一種方式是設定超自然鍵,將**表各子集的自然鍵加工成乙個字段作為超自然鍵。

2.5維度拆分

水平拆分

維度通常可以按照類別或型別進行細分。由於維度分類的不同而存在特殊的維度屬性,可以通過水平拆分的方式解決此問題。

在設計過程中需要重點考慮以下三個原則。

擴充套件性:當源系統、業務邏輯變化時,能通過較少的成本快速擴 展模型,保持核心模型的相對穩定性。軟體工程中的高內聚、低 稠合的思想是重要的指導方針之 一 。

效能 : 在效能和成本方面取得平衡。通過犧牲一定的儲存成本, 達到效能和邏輯的優化。

易用性:模型可理解性高、訪問複雜度低。使用者能夠方便地從模 型中找到對應的資料表,並能夠方便地查詢和分析。

根據資料模型設計思想,在對維度進行水平拆分時,主要考慮如下兩個依據。

維度的不同分類的屬性差異情況

業務的關聯程度

垂直拆分

在維度設計內容中,我們提到維度是維度建模的基礎和靈魂,維度 屬性的豐富程度直接決定了資料倉儲的能力。在進行維度設計時,依據 維度設計的原則,盡可能豐富維度屬性,同時進行反規範化處理。

某些維度屬性的**表產出時間較早,而某些維度屬性的來 源 表產出時間較晚;或者某些維度屬性的熱度高、使用頻繁,而某些維度屬性的熱度低、較少使用 ; 或者某些維度屬性經常變化,而某些維度屬性比較穩定。在「水平拆分」中提到的模型設計的三個原則同樣適合解決此問題。

出於擴充套件性、產出時間、易用性等方面的考慮,設計 主從維度。主 維表存放穩定 、 產出時間早、熱度高的屬性;從維表存放變化較快、產 出時間晚、熱度低的屬性。

信訪分析 大資料 常見的大資料分析模型

今天我們主要為大家講解在做大資料視覺化時,有哪些常見得到資料分析模型。資料模型可以從兩個角度來區分 資料和業務。統計資料視角的實體模型通常指的是統計分析或大資料探勘 深度學習 人工智慧技術等種類的實體模型,這些模型是從科學研究視角去往界定的。1 降維 對大量的資料和大規模的資料進行資料探勘時,往往會...

大資料分析工具

新 指數 清博大資料 新 指數 www.gsdata.cn 是新 大資料第一平台,為運營新 利器 現已開通賬號分鐘級監測服務,打擊粉絲造假賬號,支援使用者自主監測新 資料 定製各類榜單,並提供資料api等各類增值服務。資料視覺化工具 cytoscape 圖表秀 資料觀 微博足跡視覺化 bdp個人版 ...

大資料分析流程

愛資料學院 welcome 一 為什麼要做乙份資料報告 你是乙個工作了一段時間的白領,你覺得現在這份工作不適合你,你下班以後去逛知乎,在上面看到很多人在說大資料代表未來,資料分析師是21世紀最 的十大職業之一 你激動了,你也要成為資料分析師,你利用空餘時間補上了統計知識,學了分析工具,然後發現自己目...