大資料模組開發 資料倉儲設計

2021-09-27 04:57:38 字數 1861 閱讀 8079

1. 維度建模基本概念

維度建模(dimensional modeling)是專門用於分析型資料庫、資料倉儲、資料集市建模的方法。資料集市可以理解為是一種"小型資料倉儲"。

維度表(dimension)

維度表示你要對資料進行分析時所用的乙個量,比如你要分析產品銷售情況, 你可以選擇按類別來進行分析,或按區域來分析。這樣的按..分析就構成乙個維度。再比如"昨天下午我在星巴克花費200元喝了一杯卡布奇諾"。那麼以消費為主題進行分析,可從這段資訊中提取三個維度:時間維度(昨天下午),地點維度(星巴克), 商品維度(卡布奇諾)。通常來說維度表資訊比較固定,且資料量小。

事實表(fact table)

表示對分析主題的度量。事實表包含了與各維度表相關聯的外來鍵,並通過join方式與維度表關聯。事實表的度量通常是數值型別,且記錄數會不斷增加,表規模迅速增長。比如上面的消費例子,它的消費事實表結構示例如下:

消費事實表:prod_id(引用商品維度表), timekey(引用時間維度表), place_id(引用地點維度表), unit(銷售量)。

總的說來,在資料倉儲中不需要嚴格遵守規範化設計原則。因為資料倉儲的主導功能就是面向分析,以查詢為主,不涉及資料更新操作。事實表的設計是以能夠正確記錄歷史資訊為準則,維度表的設計是以能夠以合適的角度來聚合主題內容為準則。

2. 維度建模三種模式

2.1. 星型模式

星形模式(star schema)是最常用的維度建模方式。星型模式是以事實表為中心,所有的維度表直接連線在事實表上,像星星一樣。

星形模式的維度建模由乙個事實表和一組維表成,且具有以下特點:

a. 維表只和事實表關聯,維表之間沒有關聯;

b. 每個維表主鍵為單列,且該主鍵放置在事實表中,作為兩邊連線的外來鍵;

c. 以事實表為核心,維表圍繞核心呈星形分布;

2.2. 雪花模式

雪花模式(snowflake schema)是對星形模式的擴充套件。雪花模式的維度表可以擁有其他維度表的,雖然這種模型相比星型更規範一些,但是由於這種模型不太容易理解,維護成本比較高,而且效能方面需要關聯多層維表,效能也比星型模型要低。所以一般不是很常用。

2.3. 星座模式

星座模式是星型模式延伸而來,星型模式是基於一張事實表的,而星座模式是基於多張事實表的,而且共享維度資訊。

前面介紹的兩種維度建模方法都是多維表對應單事實表,但在很多時候維度空間內的事實表不止乙個,而乙個維表也可能被多個事實表用到。在業務發展後期,絕大部分維度建模都採用的是星座模式。

3. 本專案中資料倉儲的設計

注:採用星型模型

3.1. 事實表設計

3.2. 維度表設計

注意:維度表的資料一般要結合業務情況自己寫指令碼按照規則生成,也可以使用工具生成,方便後續的關聯分析。

比如一般會事前生成時間維度表中的資料,跨度從業務需要的日期到當前日期即可.具體根據你的分析粒度,可以生成年,季,月,周,天,時等相關資訊,用於分析。

大資料開發之資料倉儲理論

二 數倉和資料庫的區別 三 數倉的資料 四 數倉的分層 五 數倉建模 六 數倉調優 七 資料維護 資料倉儲,是為企業所有級別的決策制定過程,提供所有型別資料支援的戰略集合。它出於分析性報告和決策支援目的而建立。為需要業務智慧型的企業,提供指導業務流程改進 監視時間 成本 質量以及控制。概括來看,數倉...

大資料資料倉儲 場景

2015 10 24 朱潔hadoop技術學習 傳統oltp olap之分 資料倉儲裡面有oltp olap之分,oltp是傳統關係型資料庫的主要應用,其主要面向基本的 日常的事務處理,例如銀行交易。olap是資料倉儲系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。大資...

資料倉儲 大資料定義

2012年gartner公司將大資料定義為3v,即 大容量 volume 高流速 velocity 多樣化 variety 後來人們在3v基礎上增加新的v veracity 即真實性。現在人們普遍認可的大資料是具有4v,即 volume velocity variety veracity,也就是大 ...