數倉分層模型架構分享(3)

文章在京東係數據倉庫建設方案的基礎上,加上自己獨特的理解,很能給人以參考和啓發。

原作者:hxiao1317098

原文:https://blog.csdn.net/hxiao1317098/article/details/73623690

對於大數據來說,數倉的作用不言而喻,承載着整個公司全業務線的數據,現階段,在hadoop上的數倉主要是用來解決企業內部數據的分析,尤其是各種各樣的統計分析報表。本文主要結合自己公司目前數倉的結構設計和現階段解決的問題而敘述和分享!

下圖爲數倉整體的技術架構

一個優秀可靠的數倉,一定要結構、分層清晰,而不是越多的分層和主題越好,保障清晰的狀態下,能夠快速找到數據的位置。主題域的劃分,完全可按照公司內部的業務線和結構去劃分。

圖中BDL層,作爲緩衝數據層,其實就是貼數據層,和源數據表相同的表。直接用源庫(傳統關係型業務庫)抽取數據,只存每天最新的數據快照(主要是增量數據)

BAK層是BDL層抽數,保存的是全歷史業務數據,起備份和查錯的作用。

FDL層是基礎數據層,是基於主題、數倉模型開發的基礎數據表。這裏主要用到了範式建模法和維度建模法(即星型模型)包含最細粒度的數據,故稱基礎數據層,通俗的理解,這纔是整個數倉的最核心的基礎數據層,因爲BAK層和BDL層的數據表結構跟業務庫的數據是完全一致的,而FDL層的數據纔是開始進行真正意義上的第一次清洗,不要的字段去除,不規範的字段命名去除,統一數據,規範標準化的一個過程。

GDL層是通用數據層,就是寬表層。也是基於主題、數倉模型開發的寬表。可能會犧牲第三範式,將相關的各維度或屬性整合到一張表裏。這種表的特點就是字段較多,數據量較大,但它能幫助消除重複查詢。由於這種表會被各種需求用到,故稱通用數據層。

ADL層是彙總數據層,是基於主題、數倉模型開發的彙總數據表。這裏只用到維度建模法(即星型模型)。指標庫可以放到這一層。

APP層是開放給用戶,用戶可以在此層自己開發數據,提數。給用戶的脫敏數據也可以放到這一層。我們開發的數據產品所需數據也可以在這一層做。

還有兩層比較特殊:

一個是TMP(臨時層),說白了就是存儲中間結果表,有些業務場景比較複雜,需要拆表,多次計算,要用到一些中間結果集表,因此這層也是輔助層。

DIM層是維表層,各種時間維,省市區維度都可以存放,根據公司的業務形態去劃分,ADL層可以跟DIM層的多維度關聯,做各種報表,手到擒來。

以下是數據倉庫數據流架構圖:

以上就是整個數倉平臺的大概架構思路,其實大部分公司的數倉都是差不多的,無非是各個層的劃分的區別,層的多少區別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章