資料倉儲建模與分層

2021-03-24 12:01:01

資料倉儲建模與分層

一. 基本理解

定義: 面向主題的,整合的,相對穩定的,反映歷史變化的 資料集合,用於支援管理決策。

  1. 什麼是主題

    實體 + 事件

  2. 怎樣劃分主題

    實體:業務關係的物件 ,可以是一個 人 或者 物, 比如:使用者 , 訂單

    事件:業務過程, 比如: 報名,註冊 ,購買,退費

  3. 如何相對穩定

    資料倉儲的資料主要供企業決策分析之用,所涉及的資料操作主要是資料查詢,修改和刪除操作很少,通常只需要定期的載入、重新整理。

二. 資料倉儲建模

Inmon理論:自上而下。先以正規化建模構建企業資料長倉庫,再以維度建模設計資料市集。

特點:1. 一份資料,沒有資料冗餘,保證資料一致性;

​ 2. 解耦(系統級不業務級),方便維護;

​ 3.開収週期較長,開収成本較高;

Kimball理論:自下而上。提倡維度建模,以星形模型戒是雪花模型等方式構建維度資料倉儲、資料市集。

特點:1. 模型結構簡單,星型模型為主;

​ 2. 開収週期短,能夠快速迭代;

​ 3. 維護成本較高;

在這裡插入圖片描述

1. 緯度建模

一般有3種模型:星型模式, 雪花模式, 星座模式

  • 星型模式 : 星型模式是以事實表為中心,所有的維度表直接連線在事實表上,像星星一樣。
    維表只和事實表關聯,維表之間沒有關聯。
    在這裡插入圖片描述

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

    在這裡插入圖片描述

  • 星座模式 : 星座模式是星型模式延伸來,星型模式是基於一張事實表的,而星座模式是基於多張事實表的,而且共用維度資訊
    前面介紹的兩種維度建模方法都是多維表對應單事實表,但在很多時候維度空間內的事實表不止一個,而一個維表也可能被多個事實表用到。在業務發展後期,絕大部分維度建模都採用的是星座模式。

    在這裡插入圖片描述

2. 正規化建模

如上所述:是以業務過程對資料進行整理, 是自上而下。

  • 正規化建模應用在DWD層,是原子粒度的。
  • 一個符合第三正規化的關係必須具有以下三個條件:
    1. 每個屬性的值唯一,不具有多義性;
    2. 每個非主屬性必須完全依賴於整個主鍵,而非主鍵的一部分;
    3. 每個非主屬性不能依賴於其他關係中的屬性,因為這樣的話,這種屬性應該歸到其他關係中去。
  • 但是由於DWD的資料是原子粒度的,資料量比較大,完全規範的3正規化在資料的互動的時候效率比較低下,所以通常會根據實際情況在事實表上做一些冗餘,減少過多的資料互動。

三. 資料倉儲分層

ODS層(Operational Data Store)

該層的主要功能是儲存從源系統直接獲得的增量或者全量資料。

DIM層(Dimension)

一致性維度層,儲存系統中的維度資訊。DIM層維度表以ODS層資料作為資料來源進行資料加工產生。

DWD層(Data Warehouse Detail)

業務過程進行資料組織,更多的採用維度退化手段,將維度及部分重要維度屬性退化至事實表中,減少維度表和事實表的關聯。

面向業務過程、以資料 為驅動設計模型,並且基於3NF正規化進行建模,完成資料整合,為資料的應用提供統一的基礎細節資料。資料在該層級完成清洗、解耦、重定義、整合分類等,實現企業級資料模型的落地。

DWS層(Data Warehouse Summary)

主題域組織資料,對DWD層或ODS層資料進行微聚合產生。使用緯度建模。

主要功能是以分析需求為驅動進行資料模型設計,實現跨業務主題域資料的關聯計算或者輕度彙總計算,從而支援上層的統計分析需求

在該層實現指標的統一計算口徑,實現了指標的一次計算多次複用 的多維資料模型;實現了核心業務實體的基礎特徵庫,為深入的業 務分析提供資料支援。

DM層(Data Market)

按業務主題組織高度彙總資料,產出通用的指標資料,統一指標計 算口徑和方法,避免指標冗餘計算導致資料不一致。

採用維度建模,符合人的認知、易亍理解,利亍資料的使用。採用星型 星座模型。

在這裡插入圖片描述