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

2021-10-23 08:08:19 字數 1404 閱讀 2505

文章在京東系資料倉儲建設方案的基礎上,加上自己獨特的理解,很能給人以參考和啟發。

原文:

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

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

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

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

bak層是bdl層抽數,儲存的是全歷史業務資料,起備份和查錯的作用。

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

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

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

還有兩層比較特殊:

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

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

以下是資料倉儲資料流架構圖:

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

文章在京東系資料倉儲建設方案的基礎上,加上自己獨特的理解,很能給人以參考和啟發。

數倉 分層架構

ods層 資料 及建模方式 各業務系統的源資料,物理模型與業務模型一致 服務領域 為其它邏輯層提供資料 資料etl過程描述 把業務資料抽取落地成文字檔案,再裝載到資料倉儲ods層,不做清洗轉化。功能 1 ods是數倉準備區 2 為dwd提供原始資料 3 減少對業務系統影響 建模方式及原則 資料保留時...

數倉分層設計

介紹資料分層的作用 提出一種通用的資料分層設計,以及分層設計的原則 舉出具體的例子說明 提出可落地的實踐意見 0x01 資料分層?為什麼要設計資料分層?這應該是資料倉儲同學在設計資料分層時首先要被挑戰的問題,類似的問題可能會有很多,比如說 為什麼要做資料倉儲?為什麼要做元資料管理?為什麼要做資料質量...

數倉分層總結

數倉分層 ods層 1 保持教據原貌不做任何修改,備份 2 建立分割槽表,防止後續的全表掃瞄 3 採用lzo壓縮,並建立索引 切片 4 建立外部表 多人共用 內部表 自己使用的臨時表 dwd層 1 數倉維度建模 星型模型 維度退化 商品表 品類表 spu表 分類 二級分類 一級分類 商品表 省份 地...