数据仓库分层类型-具体实例
| 數據倉庫分層類型 | 架構發明者 | 建模方式[5] | 著作 | 數據倉庫特點 | 架構圖 |
| Kimball | Ralph Kimbal | 維度建模 | The Data Warehouse Toolkit | 自底向上 | |
| Inmon | Bill Inmon | 3NF范式建模 | Building the Data Warehouse | 自頂向下 |
這里Kimball中的星形結構可以舉例如下[10]:
所以星型結構中的每一個角都是不同的維度表,
他們的連接常常是通過join操作進行起來的。
| 層次 | 細分層次 | 實際舉例 |
| ODS | - | web采集到的電商平臺消費數據存入kafka |
| DW | DWD(Data Warehouse Detail) | 在DWD層會根據維度模型,設計事實表和維度表[2] |
| DWM(Data WareHouse Middle) | 在實際計算中,如果直接從DWD或者ODS計算出寬表的統計指標,會存在計算量太大并且維度太少的問題,因此一般的做法是,在DWM層先計算出多個小的中間表,然后再拼接成一張DWS的寬表。由于寬和窄的界限不易界定,也可以去掉DWM這一層,只留DWS層,將所有的數據在放在DWS亦可。(這個意思是說避免報表太卡頓,所以來個中間層先計算一部分) | |
| DWS(Data WareHouse Servce) | DWS層為公共匯總層,會進行輕度匯總,粒度比明細數據稍粗,基于DWD層上的基礎數據,整合匯總成分析某一個主題域的服務數據,一般是寬表。DWS層應覆蓋80%的應用場景。[2] 存放數據集市數據[3],即高度匯總的數據 | |
| DM | - | |
| App | - | BI報表(展示給領導或者監控室等)、推薦系統等 |
要不要嚴格遵守上面的每一層分別落實?
沒有這個必要,根據自己業務需求來,
例如采集的數據本身很干凈,那就沒必要清洗。
80%需求由20%的表來支持。
直接點講,就是大部分(80%以上)的需求,都用DWS的表來支持就行,
DWS支持不了的,就用DWM和DWD的表來支持,這些都支持不了的極少一部分數據需要從原始日志中撈取。
結合第一點來講的話就是:
80%的需求,我們都希望以對應用很友好的方式來支持(DWD),而不是直接暴露給應用方原始日志。[3]
來自[9]的一個舉例:
當然[4][5][6]中也含有具體舉例
Reference:
[1]數據倉庫數據分層 - 李秋 - 博客園 (cnblogs.com)
[2](16條消息) 數據倉庫設計方案(轉載)_微電子學與固體電子學-CSDN博客
[3]數據倉庫--通用的數據倉庫分層方法 - 大蔥拌豆腐 - 博客園 (cnblogs.com)
[4]深入對比數據倉庫模式:Kimball vs Inmon - SegmentFault 思否
[5]通俗易懂數倉建模—Inmon范式建模與Kimball維度建模_wx5f5b2077bc1fb的技術博客_51CTO博客
[6]數據倉庫ODS、DW和DM概念區分 - 簡書 (jianshu.com)
[7](16條消息) 數據倉庫dw層_數據倉庫分層之辯_云女友的博客-CSDN博客
[8](16條消息) 數據倉庫中的Inmon與Kimball架構之爭_Xlucas的博客-CSDN博客_inmon 數據倉庫
[9]數據倉庫搭建——Inmon與Kimball - 李秋 - 博客園 (cnblogs.com)
[10](24條消息) 數據倉庫學習(四)——星型模型與雪花模型_livan1234的博客-CSDN博客_星型模型
總結
以上是生活随笔為你收集整理的数据仓库分层类型-具体实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票的本质是什么简答
- 下一篇: loc和iloc的用法汇总(完成)