元數據與數據治理|大數據之數倉平台設計(第十篇)

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

開篇點題

了解了部分基礎知識後就開始我們的設計部分,以下文章對我們起個參考作用

正文(轉)

對於大數據來說,數倉的作用不言而喻,承載著整個公司全業務線的數據,現階段,在hadoop上的數倉主要是用來解決企業內部數據的分析,尤其是各種各樣的統計分析報表。本文主要結合自己公司目前數倉的結構設計和現階段解決的問題而敘述和分享,如有不明,錯誤之處,各位看官可指出,非常感謝!

下圖為數倉整體的技術架構:

元數據與數據治理|大數據之數倉平臺設計(第十篇)

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

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

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

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

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

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

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

還有兩層比較特殊:

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

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

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

元數據與數據治理|大數據之數倉平臺設計(第十篇)

以上就是整個數倉平台的大概架構思路,其實大部分公司的數倉都是差不多的,無非是各個層的劃分的區別,層的多少區別,我是這麼理解的。如果有更新意的分層、數倉設計,歡迎大家交流,一起探討,接下來的幾章,我會大概敘述數倉的標準化的建設,如何設計模型,如何編寫清洗腳本,服務器目錄如何標準化分目錄等等,這些都很重要,流程的規範化,會給實際工作開發帶來巨大的效率提升!

作者:hxiao1317098

來源:CSDN

End

預計下周設計也快出來了,對大數據、微服務感興的小夥伴 歡迎轉發關注@架構師速成記

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!