大數據的核心:雲技術+BI

關於大數據和雲計算的關係人們通常會有誤解。而且也會把它們混起來說,分別做一句話直白解釋就是:雲計算就是硬件資源的虛擬化;大數據就是海量數據的高效處理。如果做一個更形象的解釋,雲計算相當於我們的計算機和操作系統,將大量的硬件資源虛擬化之後再進行分配使用;大數據則相當於海量數據的“數據庫”。

整體來看,未來的趨勢是,雲計算作為計算資源的底層,支撐著上層的大數據處理,而大數據的發展趨勢是,實時交互式的查詢效率和分析能力,當前的大數據處理一直在向著近似於傳統數據庫體驗的方向發展。

大數據的核心:雲技術+BI

大數據的4V特性,即類型複雜,海量,快速和價值,其總體架構包括三層,數據存儲,數據處理和數據分析。類型複雜和海量由數據存儲層解決,快速和時效性要求由數據處理層解決,價值由數據分析層解決。數據先要通過存儲層存儲下來,然後根據數據需求和目標來建立相應的數據模型和數據分析指標體系對數據進行分析產生價值。而中間的時效性又通過中間數據處理層提供的強大的並行計算和分佈式計算能力來完成(ID:ydotpub)。三層相互配合,讓大數據最終產生價值。

數據存儲層

數據有很多分法,有結構化,半結構化,非結構化;也有元數據,主數據,業務數據;還可以分為GIS,視頻,文件,語音,業務交易類各種數據。傳統的結構化數據庫已經無法滿足數據多樣性的存儲要求,因此在RDBMS基礎上增加了兩種類型,一種是hdfs可以直接應用於非結構化文件存儲,一種是nosql類數據庫,可以應用於結構化和半結構化數據存儲。

從存儲層的搭建來說,關係型數據庫,NoSQL數據庫和hdfs分佈式文件系統三種存儲方式都需要。業務應用根據實際的情況選擇不同的存儲模式,但是為了業務的存儲和讀取方便性,我們可以對存儲層進一步的封裝,形成一個統一的共享存儲服務層,簡化這種操作。從用戶來講並不關心底層存儲細節,只關心數據的存儲和讀取的方便性,通過共享數據存儲層可以實現在存儲上的應用和存儲基礎設置的徹底解耦。

數據處理層

數據處理層核心解決問題在於數據存儲出現分佈式後帶來的數據處理上的複雜度,海量存儲後帶來了數據處理上的時效性要求,這些都是數據處理層要解決的問題。

在傳統的雲相關技術架構上,可以將hive,pig和hadoop-mapreduce框架相關的技術內容全部劃入到數據處理層的能力。原來我思考的是將hive劃入到數據分析層能力不合適,因為hive重點還是在真正處理下的複雜查詢的拆分,查詢結果的重新聚合,而mapreduce本身又實現真正的分佈式處理能力。

mapreduce只是實現了一個分佈式計算的框架和邏輯,而真正的分析需求的拆分,分析結果的彙總和合並還是需要hive層的能力整合。最終的目的很簡單,即支持分佈式架構下的時效性要求。

數據分析層

最後回到分析層,分析層重點是真正挖掘大數據的價值所在,而價值的挖掘核心又在於數據分析和挖掘。那麼數據分析層核心仍然在於傳統的BI分析的內容。包括數據的維度分析,數據的切片,數據的上鑽和下鑽,cube等。

數據分析我只關注兩個內容,一個就是傳統數據倉庫下的數據建模,在該數據模型下需要支持上面各種分析方法和分析策略;其次是根據業務目標和業務需求建立的KPI指標體系,對應指標體系的分析模型和分析方法。解決這兩個問題基本解決數據分析的問題。

傳統的BI分析通過大量的ETL數據抽取和集中化,形成一個完整的數據倉庫,而基於大數據的BI分析,可能並沒有一個集中化的數據倉庫,或者將數據倉庫本身也是分佈式的了,BI分析的基本方法和思路並沒有變化,但是落地到執行的數據存儲和數據處理方法卻發生了大變化。

談了這麼多,核心還是想說明大數據兩大核心為雲技術和BI,離開雲技術大數據沒有根基和落地可能,離開BI和價值,大數據又變化為捨本逐末,丟棄關鍵目標。簡單總結就是大數據目標驅動是BI,大數據實施落地式雲技術。

(本篇圖文均來自於網絡,如有侵權請聯繫刪除)


分享到:


相關文章: