[big data] 數倉

定義

一個數據倉庫通常是一個面向主題 的(subject— oriented)、集成的 (integrated)、相對穩定 的(non—volatile)、反映時間變化的 (time—variant)數據集合 ,它 是建立決策支持系統 (Dss)的數據基礎 。

數據倉庫有如下 4個特徵 :
(1)面向主題的.所謂 主題 ,是指用戶使 用數據倉庫進行決 策時所關心 的重點方面 ,如銷售情況 ,人事情況 ,整個企業的利 潤狀況等 ;而面向 主題 ,是指數據倉 庫內的數據是按 主題進行 組織的 ,爲按主題進 行的決策過程提供信息和支持.
(2)集成的.數據倉庫 中的信息不是從各個業務處理 系統 中簡單抽取 出來 的,而是 經過 系統加工 ,彙總 和整理得 到的 ,以 保證數據倉庫 內的信息是關於整個 企業 的一致 的全局信息 .
(3)相對穩定的.一旦某個 數據進入數據倉庫 以後 ,一般情 況下將 長期保 留.也就是說 ,數據倉庫 中一般有大量 的插入和查詢操作 。但修改 和刪除操作很少。
(4)反映時間變化 的.數據倉庫內的信息 並不 只是 關於企 業 當前或某一時刻的信 息,而是系統所記 錄的企業從過 去某 一 時刻 (如 開始應用數據倉庫 的時刻)到 目前的各個階段的信息 。 這些信息 可以用來對企業 的發展歷程和未來趨勢 作出定量 分 析 和 預 測 。

數倉用途

整合公司所有業務數據,建立統一的數據中心
產生業務報表,用於作出決策
爲網站運營提供運營上的數據支持
可以作爲各個業務的數據源,形成業務數據互相反饋的良性循環
分析用戶行爲數據,通過數據挖掘來降低投入成本,提高投入效果
開發數據產品,直接或間接地爲公司盈利

數倉分層

分層優點:複雜問題簡單化、清晰數據結構(方便管理)、增加數據的複用性、隔離原始數據(解耦)

詳細來講
清晰數據結構:每一個數據分層都有它的作用域,這樣我們在使用表的時候能更方便地定位和理解。
數據血緣追蹤:簡單來講可以這樣理解,我們最終給業務呈現的是一張能直接使用的張業務表,但是它的來源有很多,如果有一張來源表出問題了,我們希望能夠快速準確地定位到問題,並清楚它的危害範圍。
減少重複開發:規範數據分層,開發一些通用的中間層數據,能夠減少極大的重複計算。
把複雜問題簡單化:將一個複雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。而且便於維護數據的準確性,當數據出現問題之後,可以不用修復所有的數據,只需要從有問題的步驟開始修復。
屏蔽原始數據的異常:屏蔽業務的影響,不必改一次業務就需要重新接入數據。

常用數倉分層
在這裏插入圖片描述

結合到比如電商項目中

在這裏插入圖片描述

數倉建模

範式建模
Inmon提出的集線器的自上而下(EDW-DM)的數據倉庫架構。操作型或事務型系統的數據源,通過ETL抽取轉換和加載到數據倉庫的ODS層,然後通過ODS的數據建設原子數據的數據倉庫EDW,EDW不是多維格式的,不方便上層應用做數據分析,所以需要通過彙總建設成多維格式的數據集市層。
優勢:易於維護,高度集成;劣勢:結構死板,部署週期較長
一個符合第三範式的關係必須具有以下三個條件:
1. 每個屬性的值唯一,不具有多義性;
2. 每個非主屬性必須完全依賴於整個主鍵,而非主鍵的一部分;
3. 每個非主屬性不能依賴於其他關係中的屬性,因爲這樣的話,這種屬性應該歸到其他關係中去。
但是由於EDW的數據是原子粒度的,數據量比較大,完全規範的3範式在數據的交互的時候效率比較低下,所以通常會根據實際情況在事實表上做一些冗餘,減少過多的數據交互。

維度建模
Kimball提出的總線式的自下而上(DM-DW)的數據倉庫架構。同樣的,操作型或事務型系統的數據源,通過ETL抽取轉換和加載到數據倉庫的ODS層,然後通過ODS的數據,利用維度建模方法建設一致維度的數據集市。通過一致性維度可以將數據集市聯繫在一起,由所有的數據集市組成數據倉庫。
優勢:構建迅速,最快的看到投資回報率,敏捷靈活;劣勢:作爲企業資源不太好維護,結構複雜,數據集市集成困難。

根據事實表和維度表的關係,又可將常見的模型分爲星型模型和雪花型模型

星型模型
星型架構是一種非正規化的結構,多維數據集的每一個維度都直接與事實表相連接,不存在漸變維度,所以數據有一定的冗餘。星型模型因爲數據的冗餘所以很多統計查詢不需要做外部的連接,因此一般情況下效率比雪花型模型要高。因此在冗餘可以接受的前提下,實際運用中星型模型使用更多,也更有效率
在這裏插入圖片描述
雪花模型
當有一個或多個維表沒有直接連接到事實表上,而是通過其他維表連接到事實表上時,其圖解就像多個雪花連接在一起,故稱雪花模型。雪花模型是對星型模型的擴展。它對星型模型的維表進一步層次化。通過最大限度地減少數據存儲量以及聯合較小的維表來改善查詢性能。雪花型結構去除了數據冗餘。
在這裏插入圖片描述
對比

1.數據優化
星形模型實用的是反規範化數據。存在冗餘數據。
雪花模型使用的是規範化數據,也就是說數據在數據庫內部是組織好的,以便消除冗餘,因此它能夠有效地減少數據量

2.業務模型
在星形模型中,所有必要的維度表在事實表中都只擁有外鍵。
在雪花模型中,數據模型的業務層級是由一個不同維度表主鍵-外鍵的關係來代表的。

3.性能
雪花模型在維度表、事實表之間的連接很多,因此查詢性能會比較低
星形模型因爲存在冗餘所需要的關聯信息就少,因此查詢性能比較高

4.ETL
星形模型加載維度表,不需要再維度之間添加附屬模型,因此ETL就相對簡單,而且可以實現高度的並行化。
雪花模型加載數據集市,因此ETL操作在設計上更加複雜,而且由於附屬模型的限制,不能並行化。

數倉和數據中臺

數據中臺的概念最是阿里提出來的是爲了實現數據的分層和水平解耦,提供數據服務能力。其實最主要的是思維理念不同,數據倉庫是“管理數據”,數據中臺是“經營數據”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章