##[寬表]解耦寬表體系

一位阿里人對數(shù)據(jù)模型建設的幾點思考與總結 - nisjlvhudy的專欄 - 博客頻道 - CSDN.NET
http://blog.csdn.net/nisjlvhudy/article/details/47758749
數(shù)據(jù)平臺在寬表設計中強調(diào)高內(nèi)聚、低耦合的理念,在物理實現(xiàn)中,將業(yè)務關系大,源系統(tǒng)影響差異小的進行整合;業(yè)務關系小,源系統(tǒng)影響差異大的進行分而置之。

目前阿里巴巴數(shù)據(jù)倉庫IDL層普遍采用了維度建模的思想,我們俗稱的寬表也是維度建模思想的一個物理化方法。關于事實表,在kimball維度建模理論中就定義了事實表有三種類型:“We compare thethree fundamental types of fact tables: transaction, periodic snapshot, andaccumulating snapshot.”。事務型事實表(transaction)的典型代表就是我的瀏覽寬表;周期性快照(periodic snapshot)事實表的典型代表就是會員、offer靜態(tài)信息表;而累計型快照的典型代表就是會員寬表中的各種行為統(tǒng)計表。


解耦寬表體系 - nisjlvhudy的專欄 - 博客頻道 - CSDN.NET
http://blog.csdn.net/nisjlvhudy/article/details/7337643

數(shù)據(jù)倉庫應用中,寬表模型以結構簡單,模型容易理解,數(shù)據(jù)訪問效率等優(yōu)勢,被業(yè)界廣泛采用。所謂寬表就是,基于某個實體分析對象而建立的一個邏輯數(shù)據(jù)體系,由實體的維度、描述信息、以及基于這個實體一系列度量組成。它是一個邏輯的概念,在物理實現(xiàn)中不可能就針對一個實體對象建立一個大寬表。因為這樣,對于,刷新效率,容錯能力,擴展能力都是一個很大的挑戰(zhàn),如何設計和組織寬表的體系結構呢?

其實,我們回到軟件設計的基本思想-高內(nèi)聚,低耦合。我們要從在業(yè)務、ETL刷新、指標屬性、數(shù)據(jù)來源等角度,讓高度內(nèi)聚的屬性、描述、度量放在一個表中。基本可以從兩個維度矩陣進行切割:

第一:按實體屬性可能涉及的業(yè)務范圍進行劃分

第二:按業(yè)務指標的歷史周期屬性進行劃分,在歷史周期上我們可以分為以下幾類:

1、當前用戶的基本屬性和維度,數(shù)據(jù)相對靜態(tài),修改較少。統(tǒng)計的集合包括所有實體對象。

2、用戶在統(tǒng)計日發(fā)生的行為度量指標。這類數(shù)據(jù)可以根據(jù)行為的增量數(shù)據(jù)就是,統(tǒng)計集合僅僅是當前統(tǒng)計日發(fā)生過行為的實體對象。

3、用戶在最近一個周期內(nèi)的度量指標累計,它由統(tǒng)計日發(fā)生的行為度量指標在歷史上聚合而成。可以根據(jù)業(yè)務需要可以就是自然月,自然周。或是最近周、最近月移動聚合數(shù)據(jù)。它統(tǒng)計的集合是最近一段時間內(nèi)發(fā)生過行為的實體對象。

4、根據(jù)用戶歷史行為而衍生出的度量維度以及用戶當前存量類指標(比如余額,總的產(chǎn)品數(shù),當前總的帳戶數(shù))比如第一行為的時間,最后一次行為的時間,統(tǒng)計的集合包括所有發(fā)生過一次行為的實體對象。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容