大數(shù)據(jù)領(lǐng)域建模綜述
性能:良好的數(shù)據(jù)模型能幫助我們快速查詢所需要的數(shù)據(jù)燃逻,減少數(shù)據(jù)I/O吞吐葱色。
成本:良好的數(shù)據(jù)模型能極大的減少不必要的數(shù)據(jù)冗余祟霍,也能實現(xiàn)計算結(jié)果復(fù)用哼凯,極大地降低大數(shù)據(jù)系統(tǒng)中的存儲和計算成本褒翰。
效率:良好的數(shù)據(jù)模型能改善數(shù)據(jù)統(tǒng)計口徑的不一致性贮懈,減少數(shù)據(jù)計算錯誤的可能性。
《數(shù)據(jù)庫系統(tǒng)概念》
OLTP系統(tǒng)通常面向的主要數(shù)據(jù)操作是隨機讀寫优训,主要采用滿足3NF的實體關(guān)系模型存儲數(shù)據(jù)朵你,從而在事務(wù)處理中解決數(shù)據(jù)的冗余和一致性問題;而OLAP系統(tǒng)面向的主要數(shù)據(jù)操作是批量讀寫揣非,事務(wù)處理中的一致性不是OLAP所關(guān)注的抡医,其主要關(guān)注數(shù)據(jù)的整合,以及在一次性的復(fù)雜大數(shù)據(jù)查詢和處理中的性能早敬,因此它需要采用一些不同的數(shù)據(jù)建模方法忌傻。
1.ER模型
高層模型:描述主要的主題以及主題間的關(guān)系,用于描述企業(yè)的業(yè)務(wù)總體情況搞监。
中層模型:在高層模型的基礎(chǔ)上水孩,細(xì)化主題的數(shù)據(jù)項。
物理模型(底層模型):在中層模型的基礎(chǔ)上腺逛,考慮物理存儲荷愕,同時基于性能和平臺的特點進(jìn)行物理屬性的設(shè)計衡怀,也可能做一些表的合并、區(qū)分的設(shè)計等安疗。
2.維度模型
3.DATA VAULT模型
hub:是企業(yè)的核心業(yè)務(wù)主體抛杨,由實體key,數(shù)據(jù)倉庫序列代理鍵,裝載時間荐类,數(shù)據(jù)來源組成怖现。
Link:代表hub之間的關(guān)系,這里與ER模型最大的區(qū)別是將關(guān)系作為一個獨立的單元抽象玉罐,可以提升模型的擴展性屈嗤。
satellite:是hub的詳細(xì)描述內(nèi)容,一個內(nèi)容hub可以有多個satellite吊输。
4.Anchor模型
Anchors:類似于Data Vault的HUB,代表業(yè)務(wù)實體饶号,且只有主鍵。
Attributes:功能類似于Data Vault的satellite,但是它更加規(guī)范化季蚂,將其全部K-V結(jié)構(gòu)化茫船,一個表只有一個Anchors的屬性描述。
Ties:就是Anchors之間的關(guān)系扭屁,單獨用表來描述算谈,類似于Data Vault的Link,可以提升整體模型關(guān)系的擴展能力。
Knots:代表那些可能會在多個Anchors中公用的屬性的提煉料滥。
四層模型架構(gòu):ODL(操作數(shù)據(jù)層)+BDL(基礎(chǔ)數(shù)據(jù)層)+IDL(接口數(shù)據(jù)層)+ADL(應(yīng)用數(shù)據(jù)層)
ODL和源系統(tǒng)保持一致然眼;BDL希望引入ER模型,加強數(shù)據(jù)的整合葵腹,構(gòu)建一致的基礎(chǔ)數(shù)據(jù)模型高每;IDL基于維度模型方法構(gòu)建集市層;ADL完成應(yīng)用的個性化和基于展現(xiàn)需求的數(shù)據(jù)組裝礁蔗。