概述
架構是數據倉庫建設的總體規劃,從整體視角描述了解決方案的高層模型,描述了各個子系統的功能以及關係,描述了數據從源系統到決策系統的數據流程。業務需求回答了要做什麼,架構就是回答怎麼做的問題。
數據倉庫架構
數據倉庫的核心功能從源系統抽取數據,通過清洗、轉換、標準化,將數據加載數據倉庫中,通過後續加工到BI平臺,進而滿足業務用戶的數據分析和決策支持
層設施
底層設施為架構提供了基礎,底層設施包括硬體、資料庫平臺、網絡。
硬體主要指伺服器硬體,主要有資料庫伺服器、ETL伺服器、調度伺服器、報表伺服器、BI門戶伺服器、接口伺服器。
平臺分為二大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing),OLAP是為數據分析而設計的資料庫管理系統。主要有Oracel,MySQL,Teradata, Greenplum,Hive。
網絡是底層設施的基礎,特別是大數據時代對網絡的要求越來越高。
數據架構
數據架構主要描述數據從源系統抽取數據,然後經過清洗、規範化、提交形成標準模型,最終提交給業務用戶,以及對數據的管理。
源系統:數據倉庫一般會面臨多個、異構數據源的問題,主要分為結構化,半結構化以及非結構化數據。為了便於管理需要對源系統建立元數據信息。
抽取:因為源系統的多樣性,源抽取階段一般選擇使用工具。在抽取之前還要做以下工作:
數據剖析是對數據的技術性分析,對數據的內容、一致性和結構進行描述。對源系統的數據質量進行評估。
由於面臨多個、異構的源系統,抽取方式不盡相同,例如:資料庫直連抽取,kettle抽取,Informatica抽取,ftp抽取文件,生成表結構文件,java方式抽取,sqludr2抽取
抽取的數據類型也有區分,數據加載入庫方式將在後續內容中講到:
數據轉換:數據從源系統抽取過來之後,就要進入數據轉換階段。這一階段是數據倉庫開發核心階段。主要有以下步驟:
清洗:數據清洗是制定轉換規則,篩選數據並糾正數據的過程。清洗的目的是改進源系統的數據質量,但是不要在數據倉庫做過多的清洗,源系統的數據質量應該在源頭處理。清洗的主要內容包括:
規範化:規範化就是整合各個源系統的數據,把數據統一命名,統一取值,建立企業標準版本數據。主要內容包括:
提交:提交就要根據維度模型生成維度表和事實表。提交主要內容包括:
1. 選擇合適的緩慢變化維類型
2. 為維表生成代理鍵
3. 管理不同粒度的層次維
4. 管理專項維
5. 生成維度橋接表
6. 生成代理鍵管道
7. 選擇合適的事實表類型
8. 處理延遲到達的事實
9. 生成維度表
10. 生成事實表
聚集:聚集是指根據事務事實表進行更高粒度的聚合以及生成相對應的維度表.
行輕度匯總企業數據模型的構建,能夠涵蓋業務的各個層面,包括交易數據、主數據和參考數據,為整個企業級的數據集成提供一個完整的一致的邏輯視圖。為了確保模型對企業經營的映射和相對穩定,採用範式(3NF)化模型,進行定製,為系統間數據交換和使用提供公共匯總數據
例如在金融行業中,會根據Teradata 金融數據模型進行模型層開發
BI應用程式架構
數據倉庫是數據處理的後臺,業務用戶並不關心後臺怎麼處理。BI應用是數據呈現的前臺,是業務用戶進行查詢的入口。BI應用程式的體驗也是衡量數據倉庫是否成功的主要因素。
數據服務接口查詢:在數據倉庫中進行業務數據的輕度匯總,給第三方業務提供數據查詢接口
即席查詢:業務用戶根據自己的需求,自定義查詢請求,後臺自動組織SQL語句訪問維度模型
報表展現:根據業務用戶的需求,進行定製報表
駕駛艙和儀錶盤:它是向企業展示度量信息和關鍵業務指標現狀的數據可視化工具。
數據倉庫架構圖
數據倉庫平臺逐步從BI報表為主到分析為主、到預測為主、再到操作智能為目標。
數據倉庫在系統中得定位
數據倉庫系統的作用:
能實現跨業務條線、跨系統的數據整合,
為管理分析和業務決策提供統一的數據支持。
數據倉庫能夠從根本上幫助你把公司的運營數據轉化成為高價值的可以獲取的信息(或知識),並且在恰當的時候通過恰當的方式把恰當的信息傳遞給恰當的人。