數據時代,漫談數據建模
不管什么樣的模型都可以理解為一種預設,比如像一張大寬表,它的維度和指標在大寬表中就是固定的,只是維度列多一些,指標多一些,給了用戶更多的一種組合維度和指標的可能,并不是說就沒有模型的概念。
在理解了這個概念之后,我們再來講下什么是商業(yè)智能BI的前端建模和后端建模,它們有什么區(qū)別和聯系。
?

什么是數據模型
數據模型是現實世界或業(yè)務邏輯在數據層面的投影,是將數據元素以標準化的模式組織起來,用來模擬現實世界的信息框架和藍圖。
商業(yè)智能BI的前端建模
商業(yè)智能BI的前端建??梢岳斫鉃槲覀兺ㄟ^BI的前端可視化分析工具來完成數據分析的建模過程。
一種方式是加載一些文本文件比如常用的EXCEL表,可以將文本類型的字段自動轉化成分析的維度Dimension,將數值類型的自動轉化為被分析的數據就是度量Measure,用戶就可以通過BI分析工具自由的拖拉拽完成維度和度量的組合,進行數據的可視化展示或者分析,這種維度和度量的這種組合就構成了一個最簡單的分析模型。
商業(yè)智能BI的后端建模
那么在數據倉庫中建模的方式就叫后端建模,就是在數據倉庫中預先把維度表Dimension Table和事實表Fact Table 先處理好存儲起來,這些維度表和事實表本身就可以通過維度字段的關聯形成星型和雪花型模型。


在構成維度表和事實表之前,底層的ETL要做大量的數據抽取、轉化和加載的工作,這也是整個BI項目建設的核心,開發(fā)工作量最大的一部分,差不多要占到項目開發(fā)80%左右的時間和精力。
商業(yè)智能BI項目架構
所以,一個企業(yè)級的、完整的最佳實踐的BI項目架構應該是什么樣的?就是利用BI數據倉庫的建模,即后端建模將大部分的、標準的、高度可復用的分析模型預先設計好沉淀出來,形成標準的維度和事實表存儲起來。

之后再通過BI前端可視化分析工具來連接到數據倉庫數據庫,訪問這些可以構成各種分析模型的表,進行可視化分析。遇到特別的分析場景,底層數據倉庫的后端模型不能夠滿足分析場景需要的時候,就可以借助商業(yè)智能BI可視化工具的前端建模能力來擴展一些分析模型,完成前端建模和可視化分析的工作。
數據模型的作用
方便人與人之間信息的傳遞和溝通。
方便人們通過數據模型去理解現實世界。
計算機通過算法模型、規(guī)則模型,可以預測客觀虛擬事物的發(fā)展或軌跡。
現實世界的虛擬事物,抽象到信息世界邏輯模型,再轉換成計算機世界的數據模型,而計算機能夠存儲和識別的是物理模型。
?

數據模型的用途
以一種結構化、方便理解特定事實的組織方式呈現給人,比如BI模型、分析模型。
幫助更好的理解業(yè)務,比如業(yè)務模型、概念模型、領域模型、邏輯模型。
根據對樣本數據或人的經驗猜想,構建模型,去預測其它同類事物或場景,比如算法模型。
將現實世界的信息轉化成數據模型,呈現給計算機,可以用于存儲或計算,比如物理數據存儲模型
根據數據模型用途的不同,建模方法也大相徑庭。所以我們在做數據建模前,一定要先想清楚所建模型的具體用途和場景。
我們所說的數倉建模,實際上就是構建一種數據存儲模型,用于結構化存儲我們日常業(yè)務行為或信息化系統(tǒng)存儲下來有價值的數據。
?

數據建模的意義
降低的存儲成本,同時提高的查詢效率
可以清晰明了的數據結構方便理解和使用
簡化了ETL的處理邏輯
為數據質量提供保障,包括數據的一致性、準確性、完整性、時效性
可以更靈活的應對變化并且可以滿足客戶需求
?