數(shù)據(jù)倉庫之整體架構(gòu)

數(shù)據(jù)倉庫的核心功能從源系統(tǒng)抽取數(shù)據(jù),通過清洗、轉(zhuǎn)換、標準化,將數(shù)據(jù)加載到BI平臺,進而滿足業(yè)務(wù)用戶的數(shù)據(jù)分析和決策支持。數(shù)據(jù)倉庫架構(gòu)包含三個部分:數(shù)據(jù)架構(gòu)、應用程序架構(gòu)、底層設(shè)施。

底層設(shè)施為架構(gòu)提供了基礎(chǔ),底層設(shè)施包括硬件、數(shù)據(jù)庫平臺、網(wǎng)絡(luò)和桌面系統(tǒng)。
硬件
硬件主要指服務(wù)器硬件,主要有數(shù)據(jù)庫服務(wù)器、ETL服務(wù)器、調(diào)度服務(wù)器、報表服務(wù)器、BI門戶服務(wù)器、接口服務(wù)器。
數(shù)據(jù)庫平臺
數(shù)據(jù)庫平臺分為二大類:聯(lián)機事務(wù)處理OLTP(on-line transaction processing)、聯(lián)機分析處理OLAP(On-Line Analytical Processing),OLAP是為數(shù)據(jù)分析而設(shè)計的數(shù)據(jù)庫管理系統(tǒng)。主要有Oracel,MySQL,Teradata, Greenplum,Hive,Kudu。
桌面系統(tǒng)
數(shù)據(jù)倉庫不同的應用對桌面系統(tǒng)也有不同的要求,開發(fā)工具主要有Window、Mac面系統(tǒng),部署服務(wù)器主要有Unix桌面系統(tǒng),系統(tǒng)BI應用程序主要有Window、Mac、移動設(shè)備桌面系統(tǒng)。
網(wǎng)絡(luò)
網(wǎng)絡(luò)是底層設(shè)施的基礎(chǔ),特別是大數(shù)據(jù)時代對網(wǎng)絡(luò)的要求越來越高。
數(shù)據(jù)倉庫是數(shù)據(jù)處理的后臺,業(yè)務(wù)用戶并不關(guān)心后臺怎么處理。BI應用是數(shù)據(jù)呈現(xiàn)的前臺,是業(yè)務(wù)用戶進行查詢的入口。BI應用程序的體驗也是衡量數(shù)據(jù)倉庫是否成功的主要因素。
BI分析周期
業(yè)務(wù)分析從監(jiān)視活動開始識別某個問題或時機,進而采取行動,最終回到監(jiān)視該活動產(chǎn)生的結(jié)果上來,達到數(shù)據(jù)驅(qū)動業(yè)務(wù)增長的目的。分析周期把這個過程分為五個不同的階段。

BI應用分類
接口查詢
數(shù)據(jù)以接口的形式提供給上下游系統(tǒng),供上下業(yè)務(wù)系統(tǒng)進行查詢。主要有推和拉二種模式。
即席查詢
業(yè)務(wù)用戶根據(jù)自己的需求,自定義查詢請求,后臺自動組織SQL語句訪問維度模型。
標準報表
根據(jù)業(yè)務(wù)用戶的需求,進行定制報表。
儀表盤
它是向企業(yè)展示度量信息和關(guān)鍵業(yè)務(wù)指標現(xiàn)狀的數(shù)據(jù)可視化工具。
數(shù)據(jù)挖掘
為數(shù)據(jù)挖掘工具提供標準基礎(chǔ)數(shù)據(jù)。
運營查詢
為了減少業(yè)務(wù)系統(tǒng)的大數(shù)據(jù)量查詢壓力,數(shù)據(jù)倉庫為業(yè)務(wù)系統(tǒng)提供實時的查詢。
數(shù)據(jù)存儲

數(shù)據(jù)架構(gòu)主要描述數(shù)據(jù)從源系統(tǒng)抽取數(shù)據(jù),然后經(jīng)過清洗、規(guī)范化、提交形成標準模型,最終提交給業(yè)務(wù)用戶,以及對數(shù)據(jù)的管理。
源系統(tǒng)
數(shù)據(jù)倉庫一般會面臨多個、異構(gòu)數(shù)據(jù)源的問題,主要分為結(jié)構(gòu)化,半結(jié)構(gòu)化以及非結(jié)構(gòu)化數(shù)據(jù)。為了便于管理需要對源系統(tǒng)建立元數(shù)據(jù)信息。
抽取
因為源系統(tǒng)的多樣性,源抽取階段一般選擇使用工具。在抽取之前還要做以下工作:
數(shù)據(jù)剖析是對數(shù)據(jù)的技術(shù)性分析,對數(shù)據(jù)的內(nèi)容、一致性和結(jié)構(gòu)進行描述。對源系統(tǒng)的數(shù)據(jù)質(zhì)量進行評估。
數(shù)據(jù)剖析和變化數(shù)據(jù)捕獲策略:為了減少對源系統(tǒng)的影響,一般只抽取變化的數(shù)據(jù),也需要識別物理刪除的數(shù)據(jù)。CDC策略主要有:
添加審計列
在源系統(tǒng)追加日期字段,當數(shù)據(jù)發(fā)生變化的時候,系統(tǒng)會自動更新該值。如果由后臺人員手工修改數(shù)據(jù),可能就發(fā)生遺漏。
數(shù)據(jù)比較
比較源系統(tǒng)和數(shù)據(jù)倉庫的數(shù)據(jù),只抽取變化的數(shù)據(jù)。這種方法需要全量的數(shù)據(jù),比較耗費資源。可以視數(shù)據(jù)量的大小而定。
讀取日志
讀取數(shù)據(jù)庫操作日志信息,同步到數(shù)據(jù)倉庫中。一般日志的有效期比較短,一旦發(fā)生要重跑的情況,可能以前的日志已經(jīng)被清空了。
消息隊列
把事務(wù)信息放到消息隊列里,以流的形式同步到數(shù)據(jù)倉庫。這種方式即可以減輕源系統(tǒng)的壓力,又能做到實時同步。
數(shù)據(jù)轉(zhuǎn)換
數(shù)據(jù)從源系統(tǒng)抽取過來之后,就要進入數(shù)據(jù)轉(zhuǎn)換階段。這一階段是數(shù)據(jù)倉庫開發(fā)核心階段。主要有以下步驟:
清洗
數(shù)據(jù)清洗是制定轉(zhuǎn)換規(guī)則,篩選數(shù)據(jù)并糾正數(shù)據(jù)的過程。清洗的目的是改進源系統(tǒng)的數(shù)據(jù)質(zhì)量,但是不要在數(shù)據(jù)倉庫做過多的清洗,源系統(tǒng)的數(shù)據(jù)質(zhì)量應該在源頭處理。清洗的主要內(nèi)容包括:

規(guī)范化
規(guī)范化就是整合各個源系統(tǒng)的數(shù)據(jù),把數(shù)據(jù)統(tǒng)一命名,統(tǒng)一取值,建立企業(yè)標準版本數(shù)據(jù)。主要內(nèi)容包括:
提交
提交就要根據(jù)維度模型生成維度表和事實表。提交主要內(nèi)容包括:
選擇合適的緩慢變化維類型
為維表生成代理鍵
管理不同粒度的層次維
管理專項維
生成維度橋接表
生成代理鍵管道
選擇合適的事實表類型
處理延遲到達的事實
生成維度表
生成事實表
聚集
聚集是指根據(jù)事務(wù)事實表進行更高粒度的聚合以及生成相對應的維度表。主要內(nèi)容包括:

數(shù)據(jù)存儲
數(shù)據(jù)存儲是指在在數(shù)據(jù)的生命周期內(nèi)對數(shù)據(jù)的管理,主要內(nèi)容包括:

推薦閱讀:
不是你需要中臺,而是一名合格的架構(gòu)師(附各大廠中臺建設(shè)PPT)
企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案
論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?
企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!
【中臺實踐】華為大數(shù)據(jù)中臺架構(gòu)分享.pdf
