從存儲和分析角度看大數據和雲計算區別與聯繫

關於大數據雲計算的關係人們通常會有誤解。而且也會把它們混起來說,分別做一句話直白解釋就是:雲計算就是硬件資源的虛擬化;大數據就是海量數據的高效處理。

  雖然上面的一句話解釋不是非常的貼切,但是可以幫助你簡單的理解二者的區別。另外,如果做一個更形象的解釋,雲計算相當於我們的計算機和操作系統,將大量的硬件資源虛擬化之後再進行分配使用,在雲計算領域目前的老大應該算是amazon,可以說爲雲計算提供了商業化的標準,另外值得關注的還有vmware(其實從這一點可以幫助你理解雲計算和虛擬化的關係),開源的雲平臺最有活力的就是openstack了;

  大數據相當於海量數據的“數據庫”,而且通觀大數據領域的發展也能看出,當前的大數據處理一直在向着近似於傳統數據庫體驗的方向發展,hadoop的產生使我們能夠用普通機器建立穩定的處理tb級數據的集羣,把傳統而昂貴的並行計算等概念一下就拉到了我們的面前,但是其不適合數據分析人員使用(因爲mapreduce開發複雜),所以piglatin和hive出現了(分別是yahoo!和facebook發起的項目,說到這補充一下,在大數據領域google、facebook、twitter等前沿的互聯網公司作出了很積極和強大的貢獻),爲我們帶來了類sql的操作,到這裏操作方式像sql了,但是處理效率很慢,絕對和傳統的數據庫的處理效率有天壤之別,所以人們又在想怎樣在大數據處理上不只是操作方式類sql,而處理速度也能“類sql”,google爲我們帶來了dremel/powerdrill等技術,cloudera(hadoop商業化最強的公司,hadoop之父cutting就在這裏負責技術領導)的impala也出現了。

  整體來看,未來的趨勢是,雲計算作爲計算資源的底層,支撐着上層的大數據處理,而大數據的發展趨勢是,實時交互式的查詢效率和分析能力,借用google一篇技術論文中的話,“動一下鼠標就可以在秒級操作pb級別的數據”難道不讓人興奮嗎?

  在談大數據的時候,首先談到的就是大數據的4v特性,即類型複雜,海量,快速和價值。ibm原來談大數據的時候談3v,沒有價值這個v。而實際我們來看4v更加恰當,價值纔是大數據問題解決的最終目標,其它3v都是爲價值目標服務。在有了4v的概念後,就很容易簡化的來理解大數據的核心,即大數據的總體架構包括三層,數據存儲,數據處理和數據分析。類型複雜和海量由數據存儲層解決,快速和時效性要求由數據處理層解決,價值由數據分析層解決。

  數據先要通過存儲層存儲下來,然後根據數據需求和目標來建立相應的數據模型和數據分析指標體系對數據進行分析產生價值。而中間的時效性又通過中間數據處理層提供的強大的並行計算和分佈式計算能力來完成。三層相互配合,讓大數據最終產生價值。

  數據存儲層

  數據有很多分法,有結構化,半結構化,非結構化;也有元數據,主數據,業務數據;還可以分爲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,大數據實施落地式雲技術。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章