【廣告】
數(shù)據(jù)模型應(yīng)滿足三方面要求:一是能較好地模擬現(xiàn)實世界;二是容易為人所理解;三是便于在計算機中實現(xiàn)。一種數(shù)據(jù)模型要很好地、滿足這三方面要求目前還很困難。因此,在數(shù)據(jù)庫系統(tǒng)中針對不同的使用對象和應(yīng)用目的,應(yīng)采用不同的數(shù)據(jù)模型。如同在建筑設(shè)計和施工的不同階段需要不同的圖紙一樣,在開發(fā)實施數(shù)據(jù)庫應(yīng)用系統(tǒng)中也需要使用不同的數(shù)據(jù)模型。
維度建模
1、維度和指標(biāo)的概念
按照維度表、事實表構(gòu)建數(shù)據(jù)模型,通過指標(biāo)評價企業(yè)經(jīng)營活動。
維度一般包括:地區(qū)、時間、部門、產(chǎn)品等等。
指標(biāo)一般包括:銷售數(shù)量、銷售金額、平均銷售金額等等。
2、星型模型
星型模是一種多維的數(shù)據(jù)關(guān)系,它由一個事實表和一組維表組成。每個維表都有一個維作為主鍵,所有這些維的主鍵組合成事實表的主鍵。強調(diào)的是對維度進行預(yù)處理,將多個維度集合到一個事實表,形成一個寬表。這也是我們在使用 hive 時,經(jīng)常會看到一些大寬表的原因,大寬表一般都是事實表,包含了維度關(guān)聯(lián)的主鍵和一些度量信息,而維度表則是事實表里面維度的具體信息,使用時候一般通過 join 來組合數(shù)據(jù),相對來說對OLAP 的分析比較方便。
雪花模型
當(dāng)有一個或多個維表沒有直接連接到事實表上,而是通過其他維表連接到事實表上時,其圖解就像多個雪花連接在一起,故稱雪花模型。雪花模型是對星型模型的擴展。它對星型模型的維表進一步層次化,原有的各維表可能被擴展為小的事實表,形成一些局部的 "層次 " 區(qū)域,這些被分解的表都連接到主維度表而不是事實表。雪花模型更加符合數(shù)據(jù)庫范式,減少數(shù)據(jù)冗余,但是在分析數(shù)據(jù)的時候,操作比較復(fù)雜,需要 join 的表比較多所以其性能并不一定比星型模型高。