天天看點

從存儲和分析角度看大資料和雲計算差別與聯系

關于大資料和雲計算的關系人們通常會有誤解。而且也會把它們混起來說,分别做一句話直白解釋就是:雲計算就是硬體資源的虛拟化;大資料就是海量資料的高效處理。

  雖然上面的一句話解釋不是非常的貼切,但是可以幫助你簡單的了解二者的差別。另外,如果做一個更形象的解釋,雲計算相當于我們的計算機和作業系統,将大量的硬體資源虛拟化之後再進行配置設定使用,在雲計算領域目前的老大應該算是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名額體系,對應名額體系的分析模型和分析方法。解決這兩個問題基本解決資料分析的問題。

繼續閱讀