大數據環境下云基礎架構有多重要?
- 時間:2013-11-12
- 來源:
遠光軟件(來源:CIO時代網 作者:不詳)
Q:大數據環境下云基礎架構有多重要?
A:云和大數據在同一時段開始流行起來,因而成了同義詞。但是,二者并不是一回事兒。云是在集成處理器集群上實施的一種并行程序設計模式,主要用于數據密集型分布式應用。云的作用就在于此。早在對大數據的熱衷之前,云就已經存在。但后來云的意義變了,被當作一種結構用以建立大數據基礎架構。云以谷歌的MapReduce算法為基礎,該算法是在集群中分配應用的一種方法。谷歌的文件系統、運行系統、MapReduce應用以及分布式文件系統(HDFS)幾乎都以Java為基礎,從而引發了一系列問題。云也需要通過節點間的故障轉移來提供彈性。在眾多集群中,當一個節點失效了,應該能及時進行故障處理并轉移到下一個集群中去。
在以后,我并不確定有了云就可以高枕無憂了。事實上關于云已有了普遍的共識:為企業所用還需要云基礎架構的許多方面起作用才行。首先,云的核心是NameNodes,儲存了與云集群相關的元數據(集群中的每臺設備、每臺設備的容量、設備的用途及其能承受的工作負載量)。這類信息并非隨處可復制,而只存在于一個地方,因而成了云基礎架構中的單點故障。如果云集群上正進行著重要的程序處理的話,那一定要解決這類信息。其次是JobTracker。JobTracker是管理MapReduce任務和為不同服務器安排工作負載的這樣一個組成部分,換種說法,JobTracker更接近以專門方法分析的數據。需要強調的是,JobTracker也是一個單點故障,并且只存在于急群眾的一臺服務器上。這些也只是有關當下的云架構最明顯的問題。
云技術本身并不簡單。如果打算部署云,需要足夠的程序。這些程序得能夠勝任工具箱里單一程序無法做到的各種事情、得知道Pig是Pig Latin的縮寫、與云運行環境息息相關。當然,這些程序也得知道Java、JavaScript的目標符號語言Jaql。現如今找到能勝任PHP的程序已經不是什么難事兒了,只需找一些跨度極大的組合即可。
因此首先是會有一些單點故障。其次,云需要一些在技術市場上沒有的專項技能。再次,會產生性能問題。每個已部署云的公司都已經有了云操作方面的性能問題,因而關于其的大數據分析會一直存在。雖然一些問題與糟糕的寫入應用代碼有關,但更多的是與其架構本身有關。很多公司在額外的服務器集群、直連存儲和額外的軟件工具上下了很大功夫,都只為改善云基礎架構的速度和進給量。
當然,基礎架構的管理也讓人頭疼。一些人試圖以ZooKeeper技術來處理云基礎架構管理,而很多廠商則力圖以他們提供的定制產品來處理。問題是目前還是沒有一個很好的云管理范式,似乎也沒什么指望。
前不久,福布斯的一篇文章表達了我要分享的另一個重要的關注點:云等同于承擔大數據項目的基礎架構。現在,商人們并不明白這一過程,也不介意如何處理大數據。他們只是想要業務利潤,要它快一點兒。文章的作者正確地觀察到云也許非常適合處理規模數據(其文章觀點所在),但絕對算不上迅速而專業的分析或實時分析學。因此,該文章也不能用于業務處理,只是起到了其下的某些價值作用,并且只是掌控數據的一種方式。
那指向了問題的核心,最終的真正問題是:我們將大數據用于何處?很多人沒有認識到這一問題,除了市場上那些想要使用大數據的商家們,他們的目的是使其產品和服務面向特定客戶群體時能更為專業化。
上一篇:國內首套電纜局放在線監測系統投運