1. 程式人生 > 實用技巧 >資料倉庫--理論知識

資料倉庫--理論知識

文章目錄

資料倉庫

資料倉庫是一個面向主題的、整合的、非易失的且隨時間變化的資料集合

面向主題

  • 主題(Subject)是在較高層次上將企業資訊系統中的資料進行綜合、歸類和分析利用的一個抽象概念
  • 每一個主題基本對應一個巨集觀的分析領域
  • 在邏輯意義上,它是對應企業中某一巨集觀分析領域所涉及的分析物件

注:在每個主題中,包含了相關主題的所有資訊,同時又拋棄了與分析處理無關的資料

整合

  • 1、整合性是指資料倉庫中資料必須是一致的
    資料倉庫的資料是從原有的分散的多個數據庫、資料檔案和資料段中抽取來的
    資料來源可能既有內部資料又有外部資料
    例如F/M,0/1,A/B
  • 2、整合方法
    統一:消除不一致的現象
    綜合:對原有資料進行綜合和計算

非易失

資料倉庫中的資料是經過抽取而形成的分析型資料

  • 不具有原始性
  • 主要供企業決策分析之用
  • 執行的主要是‘查詢’操作,一般情況下不執行‘更新’操作
  • 一個穩定的資料環境也有利於資料分析操作和決策的制訂

隨時間變化

資料倉庫以維的形式對資料進行組織,時間維是資料倉庫中很重要的一個維度

  • 不斷增加新的資料內容
  • 不斷刪去舊的資料內容
  • 更新與時間有關的綜合資料

資料倉庫和資料庫的區別

  • 資料庫是為捕獲和儲存資料而設計
  • 資料倉庫是為分析資料而設計

本質都是資料的集合,但側重點不同
資料庫主要面對的是web專案,對事務要求比較高
資料倉庫主要針對分析,對事務無要求
在這裡插入圖片描述

OLTP和OLAP的區別

1、聯機事務處理OLTP

  • On-Line Transaction Processing
  • OLTP是傳統的關係型資料庫的主要應用
    主要是基本的、日常的事務處理
    例如銀行交易

2、聯機分析處理OLAP

  • On-Line Analytical Processing
  • OLAP是資料倉庫系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果

在這裡插入圖片描述

資料倉庫的架構

1、Inmon架構

資料過渡區:ODS層
資料倉庫:DW層(BDS、CIS)
資料集市:DM層(ADS層)
ETL中間過程:Extract抽取,Transform轉換,Load裝載
在這裡插入圖片描述

2、Kimball架構

在這裡插入圖片描述

3、混合型架構

在這裡插入圖片描述

資料倉庫的解決方案

  • 1、資料採集
    Flume,Sqoop,Logstash,Datax
  • 2、資料儲存
    MySQL,HDFS,HBase,Redis,MongoDB
  • 3、資料計算
    Hive,Tez,Spark,Flink,Storm,Impala
  • 4、資料視覺化
    Tableau,Echarts,Superset,QuickBI,DataV
  • 5、任務排程
    Oozie,Azkaban,Crontab

資料ETL

  • 1、抽取(Extract)
    從操作型資料來源獲取資料
  • 2、轉換(Transform)
    轉換資料,使之轉變為適用於查詢和分析的形式和結構
  • 3、裝載(Load)
    將轉換後的資料匯入到最終的目標資料倉庫

資料倉庫的建模

  • 資料倉庫模型構建步驟:
    1、選擇業務流程
    2、宣告粒度 ——時間維度(年、月、日等)
    3、確認維度
    4、確認事實 ——事實表(不會經常變更的資訊)

選擇業務流程

  • 1、確認哪些業務處理流程是資料倉庫應該覆蓋的
    例如:瞭解和分析一個零售店的銷售情況
  • 2、記錄方式
    a)使用純文字
    b)使用業務流程建模標註(BPMN)方法
    c)使用同一建模語言(UML)

宣告粒度

  • 1、用於確定事實中表示的是什麼
    例如:一個零售店的顧客在購物小票上的一個購買條目
  • 2、選擇維度和事實前必須宣告粒度
  • 3、建議從原始粒度資料開始設計
    原始記錄能夠滿足無法預期的使用者查詢
  • 4、不同的事實可以有不同的粒度

確認維度

  • 1、說明了事實表的資料是從哪裡採集來的
  • 2、典型的維度都是名詞
    例如:日期、商店、庫存等
  • 3、維度表儲存了某一維度的所有相關資料
    例如:日期維度應該包括年、季度、月、周、日等資料

確認事實

  • 1、識別數字化的度量,構成事實表的記錄
  • 2、和系統的業務使用者密切相關
  • 3、大部分事實表的度量都是數字型別的
    可累加,可計算
    例如:成本、數量、金額

資料倉庫模型

星型模型

1、特點:

  • a)由事實表和維度表組成
  • b)一個星型模式中可以有一個或多個事實表,每個事實表引用任意數量的維度表
  • c)星型模式將業務流程分為事實和維度
    事實包含業務的度量,是定量的資料 (如銷售價格、銷售數量、距離、速度、重量等是事實)
    維度是對事實資料屬性的描述 (如日期、產品、客戶、地理位置等是維度)

2、優點:

  • a)簡化查詢
  • b)簡化業務報表邏輯
  • c)獲得查詢效能
  • d)快速聚合
  • e)便於向立方體提供資料

3、缺點:

  • a)不能保證資料完整性
  • b)對於分析需求來說不夠靈活

雪花模型

1、特點:

  • a)一種多維模型中表的邏輯佈局
  • b)由事實表和維度表所組成
  • c)將星型模式中的維度表進行規範化處理 把
    低基數的屬性從維度表中移除並形成單獨的表
  • d)一個維度被規範化成多個關聯的表

2、優點:

  • a)一些OLAP多維資料庫建模工具專為雪花模型進行了優化
  • b)規範化的維度屬性節省儲存空間

3、缺點:

  • a)維度屬性規範化增加了查詢的連線操作和複雜度
  • b)不確保資料完整性