數據倉庫模型說明

1.數倉概述

數據倉庫的建設是一個過程,而不是一個項目。在這個過程中我們需要形成自己的規範,以方便管理和維護。在數據倉庫的建設過程中,不僅會面臨著公司業務迅速發展,業務系統迭代變更,需要對業務系統數據進行相應

的整合,形成公司完整的統一數據視圖;而且基於數據倉庫的應用也是多樣化的,比如支撐自己企業的數據可視化平臺、即席查詢、對策略提供數據支持等。

2.數倉模型

2.1 模型層定義

模型層次英文全稱中文名層次定義ODLOperational Data Layer操作數據層該層級主要功能是存儲從源系統直接獲得的數據(數據從數據結構、數據之間的邏輯關係上都與源系統基本保持一致)IDLIntegrated Data Layer集成數據層該層的主要功能是基於主題域的劃分,面向業務主題、以數據為驅動設計模型,並且基於3NF建模,完成數據整合,提供統一的基礎數據來源。CDLComponent Data Layer元件數據層面向分析主題的、統一的數據訪問層,所有的基礎數據、業務規則和業務實體的基礎指標庫以及多維模型都在這裡統一計算口徑、統一建模,大量基礎指標庫以及多維模型在該層實現。該層級以分析需求為驅動進行模型設計,實現跨業務主題域數據的關聯計算或者輕度彙總計算,因此會有大數據量的多表關聯彙總計算。MDLMart Data Layer數據集市層該層次主要功能是加工多維度冗餘的寬表(解決複雜的查詢)、多維分析的彙總表。ADLApplication Data Layer應用數據層該層級的主要功能是滿足業務方的需求;在該層級實現報表(海豚、星空、郵件報表)、自助取數等需求。DIMDimension Data Layer維度層該層主要存儲簡單、靜態、代碼類的維表,包括從OLTP層抽取轉換維表、根據業務或分析需求構建的維表以及倉庫技術維表如日期維表等。REF數據接口層該層級獨立於其他層級之外,其來源可以是任意層級,主要存放的是在與其他組對接的時候提供給對方的數據

2.2 模型思想

2.2.1 ODL模型

數據層次

ODL(操作數據層),該層級主要臨時存儲從多種數據源(包括在線業務系統和點擊流日誌)抽取的業務數據。

數據特點

1.數據集結構及數據集間關係都和數據源基本保持一致

2.臨時存儲,數據存儲一到兩週即可刪除或備份至廉價設備

3.數據集多為增量抽取,產生大量的Delta數據集

數據處理

1.數據集增量獲取、分發

2.數據集輕度清洗,如字符集轉換、髒數據過濾、第一類維值標準化處理等

3.點擊流數據處理,完成日誌獲取、字符串處理、URL解析等

數據抽取

主要是增量抽取為主、有部分業務表涉及全量抽取;增量抽取通過storm消費binlog日誌方式來獲得源數據庫中變化的數據,解析源數據庫日誌,準實時的生成增量數據;

全量抽取將數據源中的表或視圖的數據從數據庫中抽取出來,抽取時間較長,效率低。

數據存儲

ODL層設計上分為兩個層次,第一個層次存儲近一段時間的增量數據(貼源),一般是通過訂閱Binlog日誌生成帶event type和event time等字段的日分區delta表;

第二個層次存儲全量數據信息,通過append delta表生成全量數據;

2.2.2 IDL模型

數據層次

IDL(集成數據層),該層級按照業務主題組織數據,完成對ODL層數據的清洗和集成,為CDL層提供數據結構統一、業務語義標準的基礎數據。

數據特點

1.明細數據,按照業務主題分類,以業務為驅動設計表結構和表間關係

2.數據集成,基於3NF設計模型,並在語義層達到統一和標準

3.數據帶有倉庫層的日期和狀態標籤,可追溯其生命週期中的所有變化狀態

數據處理

1.對ODL數據進行集成整合,數據項進行重定義和清洗,完成業務數據的歸一化處理

2.梳理第一類維表來源,即從源業務系統抽取的代碼表,並完成緩慢變化維處理

3.使用ODL層的Delta(增、刪、改)數據、全量數據更新當前表和歷史表,數據存儲上採用拉鍊和快照方式存儲

數據更新策略

1.全量快照:每天存儲一份最新的數據,來源數據為全量數據,數據量較小(默認小於10W),且需要保留歷史變化軌跡

2.拉鍊表:通過開閉鏈時間維護最新數據

3.增量表:增量插入當天分區,例如:日誌表

4.全量覆蓋:刪除目標表全部數據,再插入當前數據;來源數據為全量數據,且無需保留歷史軌跡,只使用最新狀態數據

2.2.3 CDL模型

數據層次

CDL(元件數據層),該層級按照分析主題組織數據,跨IDL層的業務主題,集成與該分析主題相關的所有數據,為ADL層的分析模型提供共享的、可複用的元件數據。

數據特點

1.數據模型相對穩定,無衍生指標,輕度彙總

2.多維模型:分析對象的狀態(靜態、描述)數據和相關事實表或維表關聯形成以冗餘寬表為中心的雪花或星型模型

3.基礎指標庫:分析對象的行為(主動、被動)數據彙總而成的一系列基礎指標庫

數據處理

1.分析對象和相關事實表或維表進行多表關聯計算生成多維模型

2.對分析對象的行為數據進行彙總計算生成基礎指標庫

3.梳理兩類維表來源,一是分析需求,二是倉庫技術

4.對多維模型或基礎指標數據進行輕度彙總,產生基礎的、通用的彙總模型

數據種類

1.多維模型數據(Multidimensional Data):採用維度建模方式建立的數據模型數據。

2.基礎指標庫數據(Stable Indicator Data):基於某個分析實體的一系列基礎指標集合。

3.常用通用的JOIN數據(Common Join Data):從IDL層上來的一些實體對象,可能需要經常JOIN在一起使用,在此可以預先處理一些常用通用的JOIN邏輯。

數據刷新

保留每日數據的應用狀態,存儲採用每日數據快照的方式

2.2.4 MDL模型

數據層次

MDL(數據集市層),該層次主要功能是加工多維度冗餘的寬表(解決複雜的查詢)、多角度分析的彙總表。

數據特點

1.數據模型相對穩定,有衍生指標

2.寬表模型:基礎指標群、多維模型數據和相關事實表或維表關聯形成通用或定製的冗餘寬表

3.多角度彙總:從多個角度分析的彙總模型

數據處理

1.多維模型數據和相關事實表或維表進行多表關聯計算生成寬表模型

2.對多維模型或基礎指標數據進行彙總,產生個性的、通用的彙總模型

2.2.5 ADL模型

數據層次

ADL(應用數據層),該層級按照項目和應用組織數據,以CDL層的半成品元件數據為基礎,規劃多樣化、個性化的衍生指標體系、分析模型和數據應用。

數據特點

1.數據模型不穩定,隨著分析算法和應用的變更隨時變化或下線

2.數據高度彙總,可做交叉分析、上卷、下鑽、切片、切塊、旋轉等多維分析操作

3.更高級的數據分析或挖掘應用,衍生出信息類、知識類數據

數據處理

1.根據不同的數據應用處理數據,所有的指標或者彙總都依賴於具體的業務分析主題和分析人員的定義,並直接交付信息給使用者

2.數據處理和信息交付方式多樣,如報表、儀表盤、即席查詢、多維分析、實時數據應用、數據挖掘應用等

2.2.6 DIM模型

DIM層主要包括三類即簡單、靜態、代碼類維表,存儲倉庫層歸納梳理的所有維表信息

1).從業務源系統抽取轉化的維表,每日保留全量快照;

2).根據業務分析需求構建的維表,每日保留全量快照;

3).倉庫技術常用維表,只保留當前信息;


歡迎關注 高廣超的簡書博客 與 收藏文章 !


分享到:


相關文章: