大數據能做什麼,給我們帶來了什麼

Hadoop和大數據是這兩年最火的詞兒們之一,越來越多的公司對這個東西感興趣,但是我接觸到的大多數公司裏的人,無論是技術人員還是老闆。都不知道怎麼能把這些東西用於改善自己公司的業務。在解答的過程中,提煉出幾個要點,記錄一下。

 

大數據和雲是不是一回事?

這是最容易混淆的概念之一,我個人認爲這是兩回事,雲服務,無論是雲主機還是雲存儲還是雲的其他應用,都是向用戶提供一個接口,但這個接口的後端是虛擬機技術,或者分佈式存儲技術,或者其他分佈式計算技術等等。簡而言之,雲的概念就是我向你提供服務,而你不需要關心這種服務的架構或者技術實現有多麼複雜。打個比方,就好象是,雲之前的時代我們要用電,就需要自己造一個電廠發電,造機組,造變電站,然後再去用它。而云服務就好象是別人搭好了一個電廠,電線直接進你家,你要用,只需要插上插頭,不需要關心電是怎麼被製造出來的。電力的生產和電力設備的維護都由國家電網承擔。聯繫到網絡方面,就是,我們以前要自己買服務器,自己裝系統,自己上架,自己做負載均衡,自己維護軟硬件環境。有了雲之後,這些都通過雲服務商的虛擬機技術完成了。數據安全和網絡安全都由雲服務商提供,你也不需要專門請人維護一堆設備。

而說到大數據,這個可以是基於雲的,也可以是不基於雲的。大數據的處理技術與提供雲服務的技術是不盡相同的,但是又有所交集。可以說,雲服務是基礎設施,是市政工程,而大數據是城市裏的高樓大廈。大數據可以基於雲,也可以不基於雲。

從技術角度上說,國內的大多數雲服務商,主要提供的是虛擬機服務,這是一種分的概念,把一臺物理服務器拆成多個虛擬的小服務器,儘可能多的使用其物理資源,避免浪費。而大數據是合的思想,是把很多臺服務器合併成一個虛擬的巨型服務器,通過分配計算資源使數據可以快速的爲生產力服務。用一句中國的老話形容大數據和Hadoop就是:三個臭皮匠頂個諸葛亮。用合併起來的計算資源超越小型機或者中型機的計算能力。這裏面當然也有云的概念存在着,就是說,你不需要關心數據的存儲和計算到底是怎麼完成的,你只需要用就可以了。

 

大數據技術是不是一定需要數據量大纔可以,數據量不大就不需要用?

通常是這樣認爲的,但是並不絕對,計算維度大,計算過程複雜也都可以認爲是大數據。換句話說,就是,如果你所需要的數據,在你所需要的時間內無法正常計算出來,你可能就需要用到大數據的技術了。

一方面,你的數據需要的存儲量超過數據庫或者數據倉庫的能力範圍,你可能需要大數據技術;另一方面,你的計算量超過傳統的數據處理手段的時效性能力範圍之外,你也可能需要大數據技術。而典型的計算能力的挑戰就是來自於數據挖掘和多維度分析。可能數據量不大,但是算法和過程很複雜,也可能會需要大數據的技術。比如對用戶做推薦,基於用戶羣的分類做精準的廣告投放。或者在傳統行業計算氣象預報,計算地質數據做石油探測,礦產探測。又或者用在金融行業,通過對歷史數據建立數學模型,對證券和期貨貸款等做風險預估。之所以阿里巴巴對於中國的經濟和進出口的預測比商務部和統計局更精準,除了他們有一羣數學和統計專家外,大數據是完全不可或缺的技術手段。

 

大數據技術是不是就是那個什麼憨杜普?

顯然不是,大數據領域存在很多廠商和應用,有開源的,有收費的。比如一些非Hadoop大數據處理的公司和軟件,EMC的Greenplum,Splunk公司的splunk等等。這些都不是基於Hadoop的,但是也有共同的缺陷,就是很貴。所以,大多數公司採用開源軟件來完成大數據的業務處理。而開源領域做得最好的,應該就是hadoop了。所以現在hadoop基本成了大數據處理的代名詞了。基於Hadoop衍生了很多家商業公司,因爲Apache的許可協議並不拒絕商業。像國內比較知名的Cloudera,MapR,他們的商業產品都是基於Hadoop及其周邊的生態軟件。

 

大數據應該怎麼推進公司業務的發展?

這是個關乎想象力的事情,有了大容量和大計算,至於怎麼用,這隻能自己想。原來數據怎麼做現在還怎麼做,不過除了啤酒與尿布,口香糖與避孕套之外,還有一個比較生動的案例大約是這樣的:美國有一個公司,在各產糧區每隔一英里插一個傳感器,收集空氣溼度和土壤含氮量等數據。收集上來以後通過大數據的處理手段和算法,預測出該地區的收成可能會是什麼情況,然後把預測報告賣給美國的農業保險公司。

歡迎交流問題,可加我個人QQ 630892562,一起探討交流問題 

或者加我的羣號 710219868  邀請碼 : 南風 (必填)有大神有資源一起交流學習,共同進步

Hadoop有什麼優缺點?

Hadoop的優點是數據的容量和計算能力以及數據的備份安全性有了很大程度的提升,1.0最大可以支持到大約4000臺服務器的並行存儲和運算,而2.0大約可以支持6000臺服務器。不過2.0現在還不是很完善,所以生產環境還是建議用1.0。我認爲4000臺集羣的容量和計算能力足以匹敵IBM的大型機,從去年12月15號的中國銀行大型機宕機事件來看。大型機就算安全性再有保障,也畢竟是單點。真出了故障,誰也不敢拍板切換到備份大型機上。Hadoop 1.0已經有了很多方案去解決單點問題,2.0自己就支持單點故障切換。或許未來繼續發展,將全面超越大型機。事實上,IBM已經開始出自己的Hadoop發行版了。

至於缺點,就是Hadoop1.0還是存在單點問題,但是可以通過其他技術手段彌補做到熱切換,只是要求維護人員的技術水平較高。另外一個缺點是計算的時間會比較長,還無法做到實時查詢和快速決策響應。但是有很多其他的方案在彌補Hadoop的這個問題,像Apache出的跟Google Dremel競爭的Drill,Cloudera推出的Impala,和其他一些產品。而實時計算則有Twitter開源的Storm集羣,設計理念跟Hadoop是一樣的,但是可以對實時數據流進行計算,並即刻生成計算結果。做到隨查隨出。

 

在各個開源社區的支持下,在全世界程序員的共同努力下,大數據的處理能力也在高速的發展,程序員們正在用自己的智慧改造這個世界。

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