大白話給你講明白數據倉庫
數據倉庫的本質就是完成從面向業(yè)務過程數據的組織管理到面向業(yè)務分析數據的組織和管理的轉變過程。
數據倉庫類比糧食倉庫
業(yè)務過程數據的組織管理實際上就是由各種業(yè)務系統(tǒng)來完成的,比如ERP、CRM、OA等各類業(yè)務系統(tǒng),解決的是基本的業(yè)務流程管理。通過數據的錄入 Insert、刪除Delete、修改 Update、查詢 Search ,即用戶在業(yè)務系統(tǒng)操作界面中做的增刪改查操作,這些操作和業(yè)務系統(tǒng)底層的數據庫例如MySQL、Oracle、SQL Server 完成了數據的交互,數據也沉淀在這些數據庫中。?

各個業(yè)務系統(tǒng)的數據庫比做是一個個糧食倉庫的話,數據倉庫就可以簡單理解為,要把各個分散的糧食倉庫的糧食搬運到一個更大的糧食倉庫來集中管理。
不同的獨立的糧食倉庫中存儲的糧食可能不一樣,有的糧食壞了可能不能吃了,那么在匯總到大的糧食倉庫過程中就需要把這些壞掉的糧食給去除掉。還有在不同的糧食倉庫中可能也存了一些同樣的糧食,那么在搬運到大的糧食倉庫中,就需要去做一些歸類合并,按照更好的一種陳列方式將糧食擺放整齊,最后對外支持的時候,就從這個大的糧食倉庫直接取糧食就可以了。各類糧食都有,并且有很好的組織形式。
這個從小的糧食倉庫搬運、清洗轉換、加載糧食的過程就是ETL過程,Extraction 抽取、Transformation 轉換、Loading 加載。
數據倉庫的本質還是一個數據庫,它將各個異構的數據源數據庫的數據給統(tǒng)一管理起來,并且完成了質量較差的數據的剔除、格式轉換,最終按照一種合理的建模方式來完成源數據組織形式的轉變,以更好的支持到前端的可視化分析。?

在這個過程中,有的時候可能用普通的汽車搬運糧食,有的可能用飛機運糧食,有的可能需要每小時運一次,有的可能就需要每天運一次或者每月運一次,這就是ETL工具的選擇和數據抽取調度以及抽取頻次的管理。有的時候糧食比較多,一般的糧食倉庫容量不夠,或者要求效率更高,就會選擇不同的糧食倉庫架構來進行管理,這就是數據倉庫技術框架的選擇,是選擇大數據技術框架,還是一般的技術框架就可以滿足,最終決定了我們要建設這個數據倉庫的投入成本。
數據的維度和指標
維度就是看數據的角度,被看的數據就是指標。比如:我想看2020年北京地區(qū)某品牌電腦的銷售量、銷售額和毛利。這里面的2020年、北京地區(qū)、某品牌電腦就是維度,分別代表了年維度、區(qū)域維度和品牌維度,看的是什么數據呢?就是銷售量、銷售額和毛利,這三個數據就是被看的指標。?

這樣的一個問題就簡單構成了由年、區(qū)域、品牌三個維度以及銷售量、銷售額、毛利三個指標組成的一個簡單的分析模型。當然如果需要從其它維度來看這些指標,在構建這個分析模型的時候就可以把這些分析的角度都加進去,形成一個相對比較全面的分析模型。
?

在這個分析模型中,維度可以任意搭配組合,比如只想知道2019年山東地區(qū)的銷售量、銷售額,實際上就只用到了這個分析模型中的兩個維度和兩個指標,前臺的分析就會根據用戶所選擇的維度和指標組合相應的 SQL 查詢語句到后臺數據倉庫中查詢,并將查詢的結果返回到前端頁面來渲染并呈現出最后所需要的結果。
SQL
這個 SQL 基本的格式就是 SELECT SUM
(銷售量)、SUM(銷售額)FROM 模型 GROUP BY 時間、區(qū)域,時間過濾條件就是2019年,區(qū)域過濾條件就是山東地區(qū)。
如果只想知道2020年全年的銷售量、銷售額,還是剛才的哪個 SQL 語句,只不過在GROUP BY 的時候就只會 GROUP BY 時間這個維度,時間過濾條件就是 2020年。?

所以,分析維度和分析指標在這個模型中是可以靈活的組織搭配,動態(tài)的組織SQL查詢反查數據分析模型,從數據分析模型中提取查詢結果返回到前端頁面,這就是商業(yè)智能?BI 分析的基本原理。
?