數倉分層是結合對業務場景、實際數據、使用系統的綜合分析,對數據模型進行的整體架構設計及層級劃分。用于將不同用途的數據,歸類劃分至不同的分層,便于您更好地組織、管理、維護數據。本文為您介紹如何創建并管理數倉分層。
背景信息
數據倉庫是所有數據的集合,包括日志信息、數據庫數據、文本數據、外部數據等都集成在數據倉庫中。數倉分層、數據域、業務過程、數據集市、主題域等要素,共同確定了您此次建模的邏輯數倉架構。其中,數據域及業務過程位于公共層,用于公共層數據模型的構建。數據集市及主題域位于應用層,用于面向具體業務應用的模型構建。
數倉分層保障了數據在進入數據倉庫之前都經過清洗和過濾,使原始數據不再雜亂無章,優化了查詢過程,有效的提高了數據獲取、統計和分析的效率。同時,數倉分層實現了各種不同維度數據的關聯,使多維分析更加方便,為從多角度、多層次地數據分析和決策制定提供便捷。
規劃數倉分層
數倉分層需要結合業務場景、數據場景、系統場景進行綜合考慮設計,您可以根據實際業務需求,規劃您數據模型的分層。
DataWorks的數倉分層功能,默認為您創建了數據引入層ODS(Operational Data Store)、公共維度層DIM(Dimension)、明細數據層DWD(Data Warehouse Detail)、匯總數據層DWS(Data Warehouse Summary)及應用數據層ADS(Application Data Service)等五層,各個分層的功能介紹如下:
數據引入層 ODS(Operational Data Store)
ODS層用于接收并處理需要存儲至數據倉庫系統的原始數據,其數據表的結構與原始數據所在的數據系統中的表結構一致,是數據倉庫的數據準備區。ODS層對原始數據的操作具體如下:
將原始的結構化數據增量或全量同步至數據倉庫中。
將原始的非結構化數據(例如,日志信息)進行結構化處理,并存儲至MaxCompute。
根據實際業務需求,記錄原始數據的歷史變化或對原始數據進行簡單的清洗。
ODS層的數據表,命名必須以
ods
開頭,并且生命周期為366天。明細數據層 DWD(Data Warehouse Detail)
DWD層通過企業的業務活動事件構建數據模型。基于具體業務事件的特點,構建最細粒度的明細數據表。您可以結合企業的數據使用特點,將明細數據表的某些重要維度屬性字段適當冗余,即寬表化處理。同時,也可以減少明細數據表及維度表的關聯,提高明細表的易用性。
匯總數據層 DWS(Data Warehouse Summary)
DWS層通過分析的主題對象構建數據模型。基于上層的應用和產品的指標需求,構建公共粒度的匯總指標事實表。
例如,從ODS層中對用戶的行為做一個初步的歸類匯總,抽象出來一些通用的維度,假設維度為時間、IP、ID,并根據這些維度統計出相關數據,比如用戶每個時間段在不同登錄IP購買的商品數。則在DWS層可以進一步添加一層輕度的匯總,可以讓計算更加的高效。例如在此基礎上計算僅7天、30天、90天的行為會節省很多時間。
應用數據層 ADS(Application Data Service)
ADS層用于存放數據產品個性化的統計指標數據,輸出各種報表。例如,某電商企業,在6月9日至6月19日,杭州地域出售的各大球類商品的數量及排行情況。
公共維度層 DIM(Dimension)
DIM層使用維度構建數據模型。可基于實際業務,存放邏輯模型的維度表;或存放概念模型的維度定義,通過定義維度,確定維度主鍵,添加維度屬性,關聯不同維度等操作,構建整個企業的一致性數據分析維表,幫助您降低數據計算口徑和算法不統一的風險。
對于創建的分層,您可以選擇平鋪展示或層級結構展示,如下圖所示。
展示方式 | 描述 |
平鋪展示 | 不區分層級結構,所有分層統一平鋪放置。 |
層級結構展示 | DataWorks為您提供了貼源層、公共層、應用層、其他等分層歸屬,您可以將創建的數據分層掛載至不同的分層歸屬。
|
分層歸屬一旦設置(包括新建時配置及編輯修改配置)則無法變更,請您合理規劃層級歸屬。
創建數倉分層
系統已默認為您創建了五個分層(ODS層、DIM層、DWD層、DWS層、ADS層),可滿足絕大部分的場景和需求,如您存在部分需要個性化處理的場景,可參見如下步驟創建新的數倉分層。
個性化處理的場景示例:抽象出TMP(臨時表)層,在創建表時嚴格將表歸屬到對應分層,對每個分層設定一些標準和校驗規則,譬如命名規范、生命周期設置等。
進入數倉分層。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據建模。
在智能數據建模頁面的頂部菜單欄,單擊數倉規劃,默認進入數倉分層頁面。
創建分層。
單擊新建分層,在新建數倉分層對話框配置分層的基本信息。
參數
描述
英文縮寫
數倉分層的英文縮寫,唯一標識數倉分層。
英文名
數倉分層的英文名稱。
中文名
數倉分層的中文名稱。
負責人
創建數倉分層的負責人。默認為當前登錄賬號。
分層歸屬
該參數與模型類型配合使用。用于將創建的分層劃分至不同層級,并關聯對應的模型類型。
貼源層:主要用于數據庫、日志、消息等基礎數據的引入。
公共層:主要完成公共數據的加工與整合,建立統一的維度,構建可復用面向分析和統計的明細事實表,以及匯總公共粒度的指標。
應用層:基于實際應用需求,獲取公共層加工整合后的數據,進行持續的個性化數據建設及改造。
其他:用于存放存量創建的系統默認層級及用戶自定義的層級。
系統默認層級:您需提交給技術支持人員,幫助您修改該類層級的分層歸屬。
用戶自定義的層級:您需通過編輯操作,修改層級的分層歸屬。
說明如果位于其他層級的數據分層未修改層級歸屬,則后續創建模型表時無法掛載相應表至該層級。
說明分層歸屬一旦設置(包括新建時配置及編輯修改配置)則無法變更,請您合理規劃層級歸屬。
模型類型
該參數與分層歸屬配合使用。用于將對應的模型類型掛載至不同的分層歸屬。
貼源表:只能掛載至貼源層。
明細表:只能掛載至公共層。
應用表:只能掛載至應用層。
匯總表:只能掛載至公共層。
維度表、維度以及維度表、維度(即維度表和維度的組合):可掛載至公共層及應用層。
說明模型類型一旦設置則無法變更,請您合理規劃模型類型。
已創建的數倉分層中,若中英文名稱中包含關鍵詞
dim
、DIM
、Dim
、維度
,則DataWorks默認將其模型類型變更為維度、維度表。
備注
數倉分層的備注信息。您可輸入目標數倉分層的功能描述,方便您快速了解每個分層的功能作用,將對應業務數據存放至合適的分層。
最大長度為2048字符。
單擊確認,完成創建。
后續步驟
數倉分層創建完成后,您需創建數倉分層檢查器,用于規范數倉分層中表的命名規范,詳情請參見配置及使用數倉分層檢查器。