資料倉儲與數倉建模

2021-10-08 00:17:42 字數 2690 閱讀 3728

資料倉儲,英文名為data warehouse,簡寫為dw或dwh。資料倉儲,是乙個面向主題的、整合的、隨時間變化的、但資訊本身相對穩定的資料集合,用於對管理決策過程的支援1。它是單個資料儲存,出於分析性報告和決策支援目的而建立。 為需要業務智慧型的企業,提供指導業務流程改進、監視時間、成本、質量以及控制2。

隨時間變化:數倉每天都會從不同資料渠道獲取大量資料,關鍵資料會隱式或顯式的基於時間變化。

資料相對穩定:資料進入後一般只進行查詢操作,不會進行刪改。

把複雜問題簡單化:將複雜的任務分解成多層來完成,每一層只處理簡單的任務,方便定位問題。

減少重複開發:規範資料分層,通過中間層資料,能夠減少重複的資料計算,增加計算結果的重用性;

**隔離原始資料:**使真實資料與統計資料隔離開。

功能資料倉儲

資料庫資料範圍

儲存歷史的、完整的、反應歷史變化的資料

當前狀態資料

資料變化

可新增、無刪除、無變更、反應歷史變化

支援頻繁的增刪改查

應用場景

面向分析、支援戰略決策

面向業務流程

設計理論

偽正規化、適當冗餘

遵照正規化(一、二、三正規化),避免冗餘

處理量非頻繁、大批量、高吞吐、有延遲

頻繁、小批次、高併發、低延遲

關係模型如圖所示,嚴格遵循第三正規化(3nf),從圖中可以看出,較為鬆散、零碎,物理表數量多,而資料冗餘程度低。由於資料分布於眾多的表中,這些資料可以更為靈活地被應用,功能性較強。關係模型主要應用與oltp系統中,為了保證資料的一致性以及避免冗餘,所以大部分業務系統的表都是遵循第三正規化的。

維度模型如圖所示,主要應用於olap系統中,通常以某乙個事實表為中心進行表的組織,主要面向業務,特徵是可能存在資料的冗餘,但是能方便的得到資料。

在維度建模的基礎上還可以分為三種模型:星型模型、雪花模型、星座模型

2.2.1星型模型

標準的星型模型周圍只有一層,即乙個事實表周圍只有一層維度表與之對應。

2.2.2雪花模型

雪花模型的維度層級比星型模型多,雪花模型比較靠近3nf,但無法完全遵守,因為遵守3nf的效能成本太高。

2.2.3 星座模型

星座模型與前兩個模型的區別在於事實表的數量,星座模型中的事實表要多。而且事實表之間也有可能會共享維度表。

2.2.4 模型的選擇

首先星座與否與資料和需求有關係,與設計無關,不用抉擇。

星型還是雪花,取決於效能優先,還是靈活優先。

實際開發中,不會只選擇一種,根據情況靈活組合,甚至並存。但是整體來看,更傾向於維度更少的星型模型。尤其是hadoop體系,減少join就是減少shuffle,效能差別很大。

為什麼要進行資料倉儲建模?大資料的數倉建模是通過建模的方法更好的組織、儲存資料,以便在 效能、成本、效率和資料質量之間找到最佳平衡點。一般主要從下面四點考慮

訪問效能:能夠快速查詢所需的資料,減少資料i/o

資料成本:減少不必要的資料冗餘,實現計算結果資料復用,降低大數 據系統中的儲存成本和計算成本

使用效率:改善使用者應用體驗,提高使用資料的效率

資料質量:改善資料統計口徑的不一致性,減少資料計算錯誤 的可能性,提供高質量的、一致的資料訪問平台3。

保持資料原貌不做任何修改,起到備份資料的作用;

資料採用壓縮儲存,減少磁碟空間;

建立分割槽表,防止全盤掃瞄

dwd層需構建維度模型,一般採用星型模型,呈現的狀態一般為星座模型

維度建模一般按照以下四個步驟:

統計各個主題物件的當天行為,服務於dwt層的主題寬表,以及一些業務明細資料,應對特殊需求(例如,購買行為,統計商品複購率)。

以分析的主題物件為建模驅動,基於上層的應用和產品的指標需求,構建主題物件的全量寬表。

對電商系統各大主題指標分別進行分析。

資料倉儲 4 基於維度建模的數倉KimBall架構

基於維度建模的kimball架構,將資料倉儲劃分為4個不同的部分。分別是操作型源系統 etl系統 資料展現和商業智慧型應用,如下圖。etl系統,指的就是獲取 轉換 載入的 extract transformation and load 過程以及在etl過程中使用到的資料和資料結構這樣的乙個過程的集合...

資料倉儲 數倉分層 01

資料倉儲,資料倉儲是面向主題的 subject oriented 整合的 integrated 非易失的 non volatile 和時變的 time variant 資料集合,用以支援管理決策。每個資料倉儲面向分析的主題都是一樣的 資料倉儲需要分析某乙個主題的資料結果,需要整合各個其他方面的資料 ...

資料倉儲之數倉分層

1 為什麼要分層 1.1 把複雜問題簡單化,將複雜的任務分解成多層來完成,每一層只處理簡單的任務,方便定位問題。1.2 減少重複開發 規範資料分層,通過中間層資料,能夠減少極大的重複計算,增加一次計算結果的復用性。1.3 隔離原始資料 不論是資料的異常還是資料的敏感性,使真實資料與統計資料解耦開 2...