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

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

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

這樣的一個(gè)問(wèn)題就簡(jiǎn)單構(gòu)成了由年、區(qū)域、品牌三個(gè)維度以及銷售量、銷售額、毛利三個(gè)指標(biāo)組成的一個(gè)簡(jiǎn)單的分析模型。當(dāng)然如果需要從其它維度來(lái)看這些指標(biāo),在構(gòu)建這個(gè)分析模型的時(shí)候就可以把這些分析的角度都加進(jìn)去,形成一個(gè)相對(duì)比較全面的分析模型。
?

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

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