數據倉庫系列(一)數據倉庫的特色與架構分類--數倉與數據庫究竟有什麼區別??

數據倉庫理論介紹:

數據倉庫是一個面向主題的,集成的,非易失的且隨時間變化的數據集合前端

一:數據倉庫的四大特色:

1):面向主題:

  • 主題(Subject) 是在較高層次上企業信息系統中的數據進行綜合,歸類和分析利用的一個抽象概念。
  • 每個主題基本對應一個宏觀的分析領域
  • 它是對應企業中某一宏觀分析領域所涉及的分析對象
提取主題:
  • 一個面向事務處理的商場數據庫系統,其數據模式:
    • 採購子系統:
      • 訂單
      • 訂單細則
      • 供應商
    • 銷售子系統:
      • 顧客`
      • 銷售
    • 庫存管理子系統:
      • 領料單
      • 進料單
      • ​ 庫存
      • 庫房
    • 人事管理子系統:
      • 員工
      • 部門

2):集成

  • 集成性是指數據倉庫中數據必須是一致的
    • 數據倉庫的數據是從原有的分散的多個數據庫,數據文件和數據段中抽取來的
    • 數據來源可能既有內部數據又有外部數據
  • 集成方法
    • 統一:消除不一致的現象
    • 綜合:對原有數據進行綜合和計算

3):非易失

  • 數據倉庫中的數據是通過抽取而造成的分析型數據
    • 不具備原始性
    • 主要供企業決策分析之用
    • 執行的主要是查詢操做,通常狀況下不執行更新操做
    • 一個穩定的數據環境也有利於數據分析操做和決策的制訂

4):隨時間變化

  • 數據倉庫以維的形式對數據進行組織,時間維是數據倉庫很重要的一個維度
    • 不斷增長新的數據內容
    • 不斷刪去舊的數據內容
    • 更新與時間有關的綜合數據

二:數據倉庫和數據庫的區別

數據庫 數據倉庫
本質 數據的集合 數據的集合
定位 事務處理OLTP 數據分析OLAP
面向羣體 前端用戶 管理人員
操做 增刪改查 查詢
數據粒度 事件記錄 維度
表結構 3NF 星型、雪花

三:OLTP和OLAP的區別:

  • 聯機事務處理OLTP
    • On-line Transaction Processing
    • OLTP是傳統的關係型數據庫的主要應用
對比屬性 OLTP OLAP
讀特性 每次查詢只返回少許記錄 對大量記錄進行彙總
寫特性 隨機、低延時寫入用戶的輸入 批量導入
使用場景 用戶,Java EE項目 內部分析師,爲決策提供支持
數據表徵 最新數據狀態 隨時間變化的歷史狀態
數據規模 GB TB到PB

四:有哪些數據倉庫架構?

lnmon架構–範式建模:

ER建模:

lnmon提出–mysql

從全企業的高度設計的一個3NF模型redis

Inmon模型將模型劃分爲三個層次sql

  • ERD–Entity Relationship Diagram 實體關係圖層
  • DIS–Data Item Set 數據項集層
  • PM–Physical Model 物理模型
Data Vault建模:

Dan Linstedt提出–數據庫

ER模型的衍生,爲了實現數據的整合數據結構

強調可審計的基礎數據層架構

基於主題將企業數據結構化組織echarts

Data Vault組成:
  • Hub:企業的核心業務實體
  • Link:表明Hub之間的關係
  • Satellite:是Hub的詳細描述內容
Anchor建模:

Lars.Ronnback提出–oop

一個高度可擴展的模型,核心是全部的擴展知識添加而不是修改。ui

模型規範升級成6NF,變成K-V結構化模型

Anchor模型組成:
  • Anchors:表明業務實體,且只有主鍵
  • Attributes:相似Satellite,更規範,所有K-V化
  • Ties:Anchors之間的關係,相似Link
  • Knots:表明可能在多個Anchors中公用的屬性的提煉

Kimball架構–維度建模:

在這裏插入圖片描述

Kimball提出–

是一種自上而下的建模方式,從分析決策的需求出發構建模型,關注如何更快速的完成需求分析,

維度建模數據倉庫模型構建過程:
選擇業務流程
  • 確認哪些業務處理流程是數據倉庫應該覆蓋的
  • 記錄方式
    • 純文本
    • 使用業務流程建模標註(BPMN)方法
    • 使用同一建模語言(UML)
聲明粒度
  • 肯定事實中表示的是什麼
  • 選擇維度和事實前必須聲明粒度
  • 建議從原始粒度數據開始涉及
  • 不一樣的事實能夠有不一樣的粒度
確認維度
  • 說明事實表的數據從哪裏採集來的
  • 典型的維度都是名詞
  • 維度表存儲了某一維度的全部相關數據
確認事實
  • 識別數字化的度量,構成事實表的記錄
  • 和系統的業務用戶密切相關
  • 大部分事實表的度量都是數字類型

混合型架構:

在這裏插入圖片描述


如今我在的公司主流使用Kimball的維度建模方式,兩種架構各有優缺點,根據不一樣需求使用不一樣的架構完成。

數據倉庫的解決方案:

數據採集

  • flume,sqoop,logstash,datax

數據存儲

  • mysql,hdfs,hbase,redis,mongoDB

數據計算

  • hive,tez,spark,flink,storm,impala

數據可視化

  • tableau,echarts,superset,quickbi,datav

任務調度

  • oozie,azkaban,crontab
相關文章
相關標籤/搜索