
一談到BI總是離不開數據倉庫,有很多人不太明白數據倉庫到底在商業智能BI項目中有什么作用,對數據倉庫的作用有些爭論,所以今天來聊聊數據倉庫,探討下數據倉庫的真正用處。
數據倉庫數據庫類型的選擇
從技術實現角度上來說,我們在通常的商業智能BI項目中,數據倉庫大多構建在以關系型數據庫為代表的數據庫上。數據中臺的數據倉庫在底層是以大數據為基礎架構的。
【資料圖】
商業智能BI – 派可數據商業智能BI可視化分析平臺比如大數據的數據倉庫Hive,就是構建在大數據Hadoop分布式基礎架構之上。底層的HDFS分布式文件系統為海量數據提供文件式的存儲,MapReduce為海量數據提供了計算能力。在Hive數據倉庫上可以將Hive SQL轉化成MapReduce任務與底層HDFS文件系統進行因映射和數據交互。
實現數據倉庫的SQL
在商業智能BI的數據倉庫中通過標準的SQL就可以進行數據的操作,數據中臺大數據架構Hive數據倉庫中是通過Hive SQL進行數據操作。但Hive SQL最初的設計目的就是為了讓會SQL但是不會編程MapReduce的人也能使用Hadoop進行數據處理,所以在很多語法上不像標準的SQL那么靈活。所以商業智能BI的數據倉庫和數據中臺數據倉庫在技術架構上,一個是基于傳統關系型數據庫來實現,一個是基于大數據來實現。操作底層數據的基本SQL有一些語法上的差異,但也大同小異。
數據倉庫的分層實現
只要是數據倉庫都會對數據進行分層處理和規劃,比如在商業智能BI的數據倉庫中我們講到要構建ODS層,再構建DW里面的Dimension維度和標準的Fact事實層,到Data Mart 數據集市層,最后面向前端的商業智能BI可視化分析應用。數據中臺數據倉庫就提到了貼源層、統一數據倉庫DW層、TDM、ADS層等等,最后也是面向應用端比如商業智能BI可視化分析。
數據倉庫 – 派可數據商業智能BI可視化分析平臺
這些分層從本質上有區別嗎?并沒有,都是在講一些概念。比如標簽層,不就是描述一個對象、一個實體的分析維度屬性嗎?應用數據ADS層不就是我們通常講到的數據集市層做一些數據的特定加工,比如聚合、跨事實的聚合去組裝各種分析的基礎數據表嗎?所謂的One ID 打通的不就是在一個或者多個業務流程中通過ID編碼將各類數據串聯起來做一個ID的對照和映射關系嗎?本質上都在做什么事情?數據的標準化分類、歸檔,將不規范、不規則、不可分析的數據變成一種規范、規則、可分析的數據過程。這就是為什么像商業智能BI數據倉庫要進行分層實現。
可以這么來說,十來年前商業智能BI的數據倉庫怎么構建的,現在的數據中臺數據倉庫就是怎么構建的,一樣的寫SQL、做分層、打標簽、建模型,并沒有什么特殊的。
數據倉庫的本質
數據倉庫的本質就是完成從面向業務過程數據的組織管理到面向業務分析數據的組織和管理的轉變過程,也是商業智能BI中數據倉庫的主要作用。
商業智能BI數據倉庫中,業務過程數據的組織管理實際上就是由各種業務系統來完成的,比如ERP、CRM、OA等各類業務系統,他們解決的是基本的業務流程管理。通過數據的錄入 Insert、刪除Delete、修改 Update、查詢 Search 即用戶在業務系統操作界面中做的增刪改查操作,這些操作和業務系統底層的數據庫例如MySQL、Oracle、SQL Server 完成了數據的交互,數據也沉淀在這些數據庫中。
商業智能BI數據倉庫 – 派可數據商業智能BI可視化分析平臺
那么把各個業務系統的數據庫比做是一個個糧食倉庫的話,商業智能BI數據倉庫就可以簡單理解要把各個分散的糧食倉庫的糧食搬運到一個更大的糧食倉庫來集中管理。
不同的獨立的糧食倉庫中存儲的糧食可能不一樣,有的糧食壞了可能不能吃了,那么在匯總到大的糧食倉庫過程中就需要把這些壞掉的糧食給去除掉。還有在不同的糧食倉庫中可能也存了一些同樣的糧食,那么在搬運到大的糧食倉庫中,就需要去做一些歸類合并,按照更好的一種陳列方式將糧食擺放整齊,最后對外支持的時候,就從這個大的糧食倉庫直接取糧食就可以了。各類糧食都有,并且有很好的組織形式。這個存放糧食的大糧倉就是商業智能BI數據倉庫。從小的糧食倉庫搬運、清洗轉換、加載糧食的過程就是ETL過程,Extraction 抽取、Transformation 轉換、Loading 加載。
商業智能BI數據倉庫 – 派可數據商業智能BI可視化分析平臺
所以,商業智能BI數據倉庫的本質還是一個數據庫,它將各個異構的數據源數據庫的數據給統一管理起來,并且完成了質量較差的數據的剔除、格式轉換,最終按照一種合理的建模方式來完成源數據組織形式的轉變,以更好的支持到前端的可視化分析。
在商業智能BI數據倉庫的全周期流程中,有的時候可能用普通的汽車搬運糧食,有的可能用飛機運糧食,有的可能需要每小時運一次,有的可能就需要每天運一次或者每月運一次,這就是ETL工具的選擇和數據抽取調度以及抽取頻次的管理。
商業智能BI數據倉庫 – 派可數據商業智能BI可視化分析平臺
有的時候糧食比較多,一般的糧食倉庫容量不夠,或者要求效率更高,就會選擇不同的糧食倉庫架構來進行管理,這就是數據倉庫技術框架的選擇,是選擇大數據技術框架,還是一般的技術框架就可以滿足,最終決定了我們要建設這個數據倉庫的投入成本。
標簽: