從0開始學大數據-數據倉庫理論篇

什麼是數據倉庫

數據倉庫DW)是一個 面向主題的、集成的、穩定的、隨時間變化的數據的集合,以用於支持管理決策過程前端

創建數據倉庫的目的是爲企業高層系統地組織、理解和使用數據以便進行戰略決策。數據庫

數據倉庫的特徵

數據倉庫有如下幾大特徵:數組

(1)面向主題性能優化

主題是指用戶使用數據倉庫進行決策時所關心的重點領域。數據倉庫經過一個個主題將多個業務系統的數據加載到一塊兒,爲了各個主題(如:用戶、訂單、商品等)進行分析而建,操做型數據庫是爲了支撐各類業務而創建。服務器

(2)集成性數據結構

數據倉庫會將不一樣源數據庫中的數據彙總到一塊兒,可是並非簡單的複製,而是通過了抽取、篩選、清理、轉換、綜合等工做。工具

(3)穩定性即非易失的性能

數據倉庫的數據是爲了企業數據分析而創建,因此數據被加載後通常會保存較長時間。數據倉庫中的數據大多表示過去某一時刻的數據,主要用於查詢、分析,不會常常進行修改、添加等操做。開發工具

(4)隨時間而變化即時變的大數據

數據倉庫存儲的是歷史數據,它會按期從操做型應用系統中接收新的數據。因此數據倉庫中的數據通常都有個時間維度。數據倉庫實際是記錄了系統的各個瞬時,並經過瞬態鏈接起來造成動畫(即數據倉庫的快照集合),從而在數據分析時再現系統運動的全過程。

爲何使用數據倉庫

一般數據倉庫的數據是來自各個業務應用系統,而後業務系統中的數據形式是多種多樣的,多是Oracle、MySQL、SQL Server 等關係數據庫裏的結構化數據,也有多是文本、CSV 等平面文件或Word、Excel 文檔中的非結構化數據,還有多是 HTML、XML 等自描述的半結構化數據。這些數據通過一系列的 數據抽取轉換清洗,最終以一種統一的格式裝載進數據倉庫。數據倉庫裏的數據做爲分析用的數據源,提供給後面的 即系查詢分析系統數據集市報表系統數據挖掘系統等。

使用數據倉庫有如下好處:

  • 將多個數據源集成到單一數據存儲,所以可使用單一數據查詢引擎展現數據。
  • 緩解在事務處理數據庫上因執行大查詢而產生的資源競爭問題。
  • 維護歷史數據。
  • 經過對多個源系統的數據整合,使得在整個企業的角度存在同一的中心視圖。
  • 經過提供一致的編碼和描述,減小或修正壞數據問題,提升數據質量
  • 一致性地表示組織信息。
  • 提供全部數據的單一通用數據模型,而不用關心數據源。
  • 重構數據,使數據對業務更有意義。
  • 向複雜分析查詢交付優秀的查詢性能,同時不影響操做型系統。
  • 開發決策性查詢更簡單。

數據倉庫與傳統數據庫的區別

數據倉庫雖然是從傳統數據庫系統發展而來,可是二者仍是存在着諸多差別。

數據倉庫系統組成

數據倉庫系統以數據倉庫爲核心,將各類應用系統集成在一塊兒,爲統一的歷史數據分析提供堅實的平臺,經過數據分析與報表模塊的查詢和分析工具 OLAP (聯機分析處理)、決策分析、數據挖掘完成對信息的提取,以知足決策的須要。

整個數據倉庫系統分爲:源數據層、數據存儲和管理層、OLAP 服務器層、前端分析工具層。

數據倉庫系統體系結構

數據倉庫系統各組成部分:

  • 數據倉庫:數據倉庫是整個數據倉庫環境的核心,是數據存放的地方,提供了對數據檢索的支持。支持海量數據的存儲和快速檢索。
  • 抽取工具:抽取工具將數據從各類數據源中提取出來,進行清洗轉化,再存放到數據倉庫中。
  • 元數據:元數據是描述數據倉庫內數據的結構、位置和創建方法的數據。經過元數據進行數據倉庫的管理和經過元數據來使用數據倉庫。
  • 數據集市:數據集市是完整的數據倉庫的一個子集,爲了特定的應用目的或應用範圍,而從數據倉庫中獨立出來的一部分數據,也能夠稱爲部門數據或主題數據。其目的是減小數據處理量,使信息的利用更加快捷和靈活。
  • OLAP 服務:提供對存儲在數據倉庫中數據分析能力,可以快速進行復雜數據查詢和彙集,並幫助用戶分析多維數據中的各維狀況。
  • 前端工具:主要包括各類報表工具、查詢工具、數據分析工具、數據挖掘工具以及各類基於數據倉庫或數據集市的應用開發工具。

ETL

ETL 用來描述 數據抽取清洗轉換加載 的過程。ETL按照統一的規則集成並提升數據的質量,是將數據從數據源向目標數據倉庫(DW)轉化的過程。ETL 是商務智能/數據倉庫的核心和靈魂。

1. 數據抽取

數據抽取是從各個不一樣的數據源抽取數據並存儲到操做數據存儲(Operational Data Store,ODS)中的過程。

2. 數據清洗轉換

數據清洗轉是指按照預先設計好的規則將抽取的數據進行轉換,使原本異構的數據格式能統一塊兒來。

數據清洗轉換包括 數據清洗數據轉換 兩個過程。

  • 數據清洗 是指對空數據、缺失數據進行補缺操做,對非法數據進行替換,保證數據的正確性。

  • 數據轉換 是指對數據進行整合、拆分和變換。

    • 數據整合是指經過多表關聯,將不一樣類型數據之間可能存在潛在關聯關係的多條數據進行合併,經過數據的整合,豐富數據維度,有利於發現更多有價值的信息。
    • 數據拆分是指按必定規則對數據進行拆分,將一條數據拆分爲多條。
    • 數據變換是指對數據進行行列轉換、排序、修改序號、去除重複記錄變換操做。

3. 數據裝載

數據裝載是指將清洗轉換完的數據加載到數據倉庫中。數據加載的方式主要有:

  • 增量加載
    • 時間戳方式
    • 日誌表方式
    • 全表對比方式
  • 全量加載
    • 全表刪除再插入方式

數據集市

數據集市(Data Mart)是完整的數據倉庫的一個子集,爲了特定的應用目的或應用範圍,而從數據倉庫中獨立出來的一部分數據,也能夠成爲部門數據或主題數據。而數據倉庫正式由其全部的數據集市有機組合而成的的。且各數據集市間應協調一致,知足整個企業分析決策的須要。

創建數據集市與數據倉庫,通常是採用 "自頂向下" 和 「自下而上」 相結合的設計思想。

數據倉庫和數據集市的區別

  • 數據倉庫向各個數據集市提供數據。前者是企業級的,規模較大,後者是部門級的,相對規模較小。
  • 若干個部門的數據集市組成一個數據倉庫。數據集市開發週期短、速度快,數據倉庫開發的週期長。速度慢。
  • 從其數據特徵進行分析,數據倉庫中的數據結構採用規範化模式,數據集市中的數據採用星型模式。一般數據倉庫中的數據粒度比數據集市的粒度要細。

OLTP vs OLAP

OLTP

OLTP(聯機事務處理) 是傳統關係型數據庫的重要應用之一,主要是基本的、平常的事務處理,對響應要求比較高,強條的是密集數據的更新處理的性能和系統的可靠性及效率。

OLTP 是事件驅動、面向應用的。

OLTP主要特色:

  • 對響應時間要求很是高;

  • 用戶數量很是龐大,主要是操做人員;

  • 數據庫的各類操做基於索引進行;

  • 對數據庫的事務均已實現定義,查詢簡單,通常不涉及多表鏈接操做。

OLAP

OLAP(聯機分析處理) 是一種多維分析技術,用來知足決策用戶在大量的業務數據中,從多角度探索業務活動的規律性、市場的運做趨勢的分析需求,並輔助他們進行戰略發展決策的制定。

OLAP 系統按照數據存儲方式能夠分爲:

  • ROLAP:將分析要用的多維數據存儲在關係數據庫中,並根據應用的需求有選擇的定義一批視圖,視圖也是存儲在關係數據庫中。
  • MOLAP:將 OLAP 分析要用的多維數據物理上存儲爲多維數組的形式,造成「立方體」的結構。
  • HOLAP:把 MOLAP 和 ROLAP 兩種結構的有點有機的結合起來,能知足用戶各類複雜的分析需求。

OLAP 工具是針對特定問題的聯機數據訪問與分析,它經過多維的方式對數據進行分析、查詢和報表。

多維分析是指對以多維形式組織起來的數據採起切片、切換、鑽取、旋轉等各類分析動做,以求剖析數據,使用戶能從多個角度、多個側面地觀察數據庫中的數據,從而深刻理解包含在數據中的信息。

  • 鑽取:改變維的層次,變換分析的粒度。包括:
    • 向上鑽取:在某一維上將低層次的細節數據歸納到高層次的彙總數據,或者減小維數。
    • 向下鑽取:從彙總數據深刻到細節數據進行觀察或增長新維度。
  • 切片和切換:在一部分維上選定值後,關心度量數據在剩餘維上的分佈。若是剩餘的維只有兩個,則是切片;若是有三個,則是切換。
  • 旋轉:變換維的方向,即在表格中從新安排維的放置(如:行列互換)。

OLTP 和 OLAP 對比

-- END --
歡迎長按下圖關注公衆號DigNew


推薦閱讀:

相關文章
相關標籤/搜索