您當前的位置:首頁 > 舞蹈

資料倉庫系統架構和數倉分層體系介紹

作者:由 喵感資料 發表于 舞蹈時間:2020-10-04

一、資料倉庫體系架構

公司藉助的第三方資料平臺,在此平臺之上建設資料倉庫。因為第三方平臺集成了很多東西,所以省去了不少功夫。

資料倉庫的體系架構,無外乎就是資料來源、資料採集方式、計算儲存系統、資料應用層,這幾個方面。

1、資料來源:

內部資料:

如交易資料、會員資料,日誌資料,由公司業務系統產生的資料。

外部資料:

網際網路資料和第三方服務商資料等。網際網路資料就是我們使用爬蟲爬取的網際網路資料,而第三方資料,一般多指公司合作方產生的資料。

2、採集方式

離線採集,包括全量同步和增量同步。實時採集,顧名思義就是採用實時的策略採集資料,

如我們想統計實時的交易資料。當產生一筆訂單存入業務庫時,我們可以透過Binlog等多種方式感知資料的變化,把新產生的資料同步的kafka其他訊息佇列,實時的消費使用資料。

第三方採集,跟公司商務合作的其他公司,他們暴露介面給我們,我們透過介面取資料,當然這只是其中一種方式,不同公司取資料的策略是不一樣的。

資料倉庫系統架構和數倉分層體系介紹

資料倉庫的體系架構圖

3、儲存計算

透過叢集的分散式計算能力和分散式檔案系統,來計算和儲存資料。我們使用的阿里雲服務,把業務資料儲存到hive中,然後劃分為不同的層級,來規劃整合資料。藉助分散式檔案系統可以儲存大資料量的資料,包括久遠之前的歷史資料。

4、資料應用

使用HQL、Mapreduce、SparkSql、UDF函式等多種處理方式,對各種業務資料進行處理,形成一定規範模式的資料。把這些建模成型的資料提供給外界使用。如BI應用、挖掘分析、演算法模型、視覺化大屏系統。

當然最重要的是對資料的管理,資料就是我們的資產,只有管理的有條不紊,使用起來才能得手應心。

我們可以建立資料地圖、資料規範、資料質量系統,配置完整的任務排程(如Oozie)。

當然運維方面是必不可少的,如果一個任務失敗了,我們需要第一時間知道,這時就需要告警系統。

另外還可以設定角色許可權,

整個系統有一個最高許可權,還有開發許可權,訪問許可權等等,這個需要根據公司需求來做。

二、資料倉庫分層

資料倉庫系統架構和數倉分層體系介紹

資料倉庫分層

1、資料倉庫分層模式作用

1.1、資料結構化更清晰:

對於不同層級的資料,他們作用域不相同,每一個數據分層都有它的作用域,這樣我們在使用表的時候能更方便地定位和理解。

1.2、資料血緣追蹤:

提供給外界使用的是一張業務表,但是這張業務表可能來源很多張表。如果有一張來源表出問題了,我們可以快速準確的定位到問題,並清楚每張表的作用範圍。

1.3、減少重複開發:

資料分層規範化,開發一些通用的中間層資料,能夠減少重複計算,提高單張業務表的使用率。

1.4、簡化複雜的問題:

把一個複雜的業務分成多個步驟實現,每一層只處理單一的步驟,比較簡單和容易理解。而且便於維護資料的準確性,當資料出現問題之後,可以不用修復所有的資料,只需要從有問題的步驟開始修復。有點類似Spark RDD的容錯機制。

1.5、減少業務的影響:

業務可能會經常變化,這樣做就不必改一次業務就需要重新接入資料。

資料倉庫系統架構和數倉分層體系介紹

2、資料倉庫分層介紹

2.1、ODS原始資料層

ODS層儲存所有操作資料,不對原始資料做任何處理。在業務系統和資料倉庫之間形成一個隔離,源系統資料結構的變化不影響其他資料分層。減輕業務系統被反覆抽取的壓力,由ODS統一進行抽取和分發。

記住ODS層資料要保留資料的原始性。

處理原則:

根據源業務系統表的情況以增量或全量方式抽取資料;

ODS層以

流水錶和快照表

為主,按日期對資料進行分割槽儲存,不使用

拉鍊表

ODS層的資料不做清洗和轉換,資料的表結構和資料粒度與原業務系統保持一致。

2.2、DWD資料明細層

DWD層的資料是經由ODS層資料經過清洗、轉換後的明細資料,滿足對標準化資料需求。如對NULL值處理,對資料字典解析,對日期格式轉換,欄位合併、髒資料處理等。

處理原則:

資料結構與ODS層一致,但可以對錶結構進行裁剪和彙總等操作;

對資料做清洗、轉換;

DWD層的資料不一定要永久儲存,具體儲存週期視業務情況而定;

2.3、DWS資料彙總層

DWS層資料

按主題對資料進行抽象、歸類,提供業務系統細節資料的長期沉澱。這一層是一些彙總後的寬表,是根據DWD層資料按照各種維度或多種維度組合,把需要查詢的一些事實欄位進行彙總統計。可以滿足一些特定查詢、資料探勘應用,面向業務層面,根據需求進行彙總。

處理原則:

面向全域性、資料整合;

存放最全的歷史資料,業務發生變化時易於擴充套件,適應複雜的實際業務情況;

儘量減少資料訪問時的計算量,最佳化表的關聯。

維度建模,星形模型;

事實拉寬,度量預先計算, 基本都是快照表。反規範化,有資料冗餘。

2.4、AWS資料明細層

ADS應用層是根據業務需要,由DWD、DWS資料統計而出的結果,可以直接提供查詢展現,或匯入至Oracle等關係型資料庫中使用。這一層的資料會面向特定的業務部門,不同的業務部門使用不同的資料,支援資料探勘。

處理原則:

形式各式,主要按不同的業務需求來處理;

保持資料量小,定時重新整理資料;

資料同步到不同的關係型資料庫或hbase等其他資料庫中。

提供最終資料,來滿足業務人員、資料分析人員的資料需求。

標簽: 資料  業務  資料倉庫  ODS  分層