雲計算需要大數據,大數據需要雲計算!

雲計算需要大數據,大數據需要雲計算!

1. 數據不大也包含智慧

一開始這個大數據並不大。原來才有多少數據?現在大家都去看電子書,上網看新聞了,在我們80後小時候,信息量沒有那麼大,也就看看書、看看報,一個星期的報紙加起來才有多少字?如果你不在一個大城市,一個普通的學校的圖書館加起來也沒幾個書架,是後來隨著信息化的到來,信息才會越來越多。

首先我們來看一下大數據裡面的數據,就分三種類型,一種叫結構化的數據,一種叫非結構化的數據,還有一種叫半結構化的數據。

結構化的數據:即有固定格式和有限長度的數據。例如填的表格就是結構化的數據,國籍:中華人民共和國,民族:漢,性別:男,這都叫結構化數據。

非結構化的數據:現在非結構化的數據越來越多,就是不定長、無固定格式的數據,例如網頁,有時候非常長,有時候幾句話就沒了;例如語音,視頻都是非結構化的數據。

半結構化數據:是一些XML或者HTML的格式的,不從事技術的可能不瞭解,但也沒有關係。

其實數據本身不是有用的,必須要經過一定的處理。例如你每天跑步帶個手環收集的也是數據,網上這麼多網頁也是數據,我們稱為Data。數據本身沒有什麼用處,但數據裡面包含一個很重要的東西,叫做信息(Information)。

數據十分雜亂,經過梳理和清洗,才能夠稱為信息。信息會包含很多規律,我們需要從信息中將規律總結出來,稱為知識(Knowledge),而知識改變命運。信息是很多的,但有人看到了信息相當於白看,但有人就從信息中看到了電商的未來,有人看到了直播的未來,所以人家就牛了。如果你沒有從信息中提取出知識,天天看朋友圈也只能在互聯網滾滾大潮中做個看客。

有了知識,然後利用這些知識去應用於實戰,有的人會做得非常好,這個東西叫做智慧(Intelligence)。有知識並不一定有智慧,例如好多學者很有知識,已經發生的事情可以從各個角度分析得頭頭是道,但一到實幹就歇菜,並不能轉化成為智慧。而很多的創業家之所以偉大,就是通過獲得的知識應用於實踐,最後做了很大的生意。

所以數據的應用分這四個步驟:數據、信息、知識、智慧。

最終的階段是很多商家都想要的。你看我收集了這麼多的數據,能不能基於這些數據來幫我做下一步的決策,改善我的產品。例如讓用戶看視頻的時候旁邊彈出廣告,正好是他想買的東西;再如讓用戶聽音樂時,另外推薦一些他非常想聽的其他音樂。

用戶在我的應用或者網站上隨便點點鼠標,輸入文字對我來說都是數據,我就是要將其中某些東西提取出來、指導實踐、形成智慧,讓用戶陷入到我的應用裡面不可自拔,上了我的網就不想離開,手不停地點、不停地買。

很多人說雙十一我都想斷網了,我老婆在上面不斷地買買買,買了A又推薦B,老婆大人說,“哎呀,B也是我喜歡的啊,老公我要買”。你說這個程序怎麼這麼牛,這麼有智慧,比我還了解我老婆,這件事情是怎麼做到的呢?

雲計算需要大數據,大數據需要雲計算!

2. 數據如何昇華為智慧

數據的處理分幾個步驟,完成了才最後會有智慧。

第一個步驟叫數據的收集。首先得有數據,數據的收集有兩個方式:

第一個方式是拿,專業點的說法叫抓取或者爬取。例如搜索引擎就是這麼做的:它把網上的所有的信息都下載到它的數據中心,然後你一搜才能搜出來。比如你去搜索的時候,結果會是一個列表,這個列表為什麼會在搜索引擎的公司裡面?就是因為他把數據都拿下來了,但是你一點鏈接,點出來這個網站就不在搜索引擎它們公司了。比如說新浪有個新聞,你拿百度搜出來,你不點的時候,那一頁在百度數據中心,一點出來的網頁就是在新浪的數據中心了。

第二個方式是推送,有很多終端可以幫我收集數據。比如說小米手環,可以將你每天跑步的數據,心跳的數據,睡眠的數據都上傳到數據中心裡面。

第二個步驟是數據的傳輸。一般會通過隊列方式進行,因為數據量實在是太大了,數據必須經過處理才會有用。可系統處理不過來,只好排好隊,慢慢處理。

第三個步驟是數據的存儲。現在數據就是金錢,掌握了數據就相當於掌握了錢。要不然網站怎麼知道你想買什麼?就是因為它有你歷史的交易的數據,這個信息可不能給別人,十分寶貴,所以需要存儲下來。

第四個步驟是數據的處理和分析。上面存儲的數據是原始數據,原始數據多是雜亂無章的,有很多垃圾數據在裡面,因而需要清洗和過濾,得到一些高質量的數據。對於高質量的數據,就可以進行分析,從而對數據進行分類,或者發現數據之間的相互關係,得到知識。

比如盛傳的沃爾瑪超市的啤酒和尿布的故事,就是通過對人們的購買數據進行分析,發現了男人一般買尿布的時候,會同時購買啤酒,這樣就發現了啤酒和尿布之間的相互關係,獲得知識,然後應用到實踐中,將啤酒和尿布的櫃檯弄的很近,就獲得了智慧。

第五個步驟是對於數據的檢索和挖掘。檢索就是搜索,所謂外事不決問Google,內事不決問百度。內外兩大搜索引擎都是將分析後的數據放入搜索引擎,因此人們想尋找信息的時候,一搜就有了。

另外就是挖掘,僅僅搜索出來已經不能滿足人們的要求了,還需要從信息中挖掘出相互的關係。比如財經搜索,當搜索某個公司股票的時候,該公司的高管是不是也應該被挖掘出來呢?如果僅僅搜索出這個公司的股票發現漲的特別好,於是你就去買了,其實其高管發了一個聲明,對股票十分不利,第二天就跌了,這不坑害廣大股民麼?所以通過各種算法挖掘數據中的關係,形成知識庫,十分重要。

3. 大數據時代,眾人拾柴火焰高

當數據量很小時,很少的幾臺機器就能解決。慢慢的,當數據量越來越大,最牛的服務器都解決不了問題時,怎麼辦呢?這時就要聚合多臺機器的力量,大家齊心協力一起把這個事搞定,眾人拾柴火焰高。

對於數據的收集:就IoT來講,外面部署這成千上萬的檢測設備,將大量的溫度、溼度、監控、電力等數據統統收集上來;就互聯網網頁的搜索引擎來講,需要將整個互聯網所有的網頁都下載下來。這顯然一臺機器做不到,需要多臺機器組成網絡爬蟲系統,每臺機器下載一部分,同時工作,才能在有限的時間內,將海量的網頁下載完畢。

對於數據的傳輸:一個內存裡面的隊列肯定會被大量的數據擠爆掉,於是就產生了基於硬盤的分佈式隊列,這樣隊列可以多臺機器同時傳輸,隨你數據量多大,只要我的隊列足夠多,管道足夠粗,就能夠撐得住。

對於數據的存儲:一臺機器的文件系統肯定是放不下的,所以需要一個很大的分佈式文件系統來做這件事情,把多臺機器的硬盤打成一塊大的文件系統。

對於數據的分析:可能需要對大量的數據做分解、統計、彙總,一臺機器肯定搞不定,處理到猴年馬月也分析不完。於是就有分佈式計算的方法,將大量的數據分成小份,每臺機器處理一小份,多臺機器並行處理,很快就能算完。例如著名的Terasort對1個TB的數據排序,相當於1000G,如果單機處理,怎麼也要幾個小時,但並行處理209秒就完成了。

所以說什麼叫做大數據?說白了就是一臺機器幹不完,大家一起幹。可是隨著數據量越來越大,很多不大的公司都需要處理相當多的數據,這些小公司沒有這麼多機器可怎麼辦呢?

4. 大數據需要雲計算,雲計算需要大數據

說到這裡,大家想起雲計算了吧。當想要幹這些活時,需要很多的機器一塊做,真的是想什麼時候要就什麼時候要,想要多少就要多少。

例如大數據分析公司的財務情況,可能一週分析一次,如果要把這一百臺機器或者一千臺機器都在那放著,一週用一次非常浪費。那能不能需要計算的時候,把這一千臺機器拿出來;不算的時候,讓這一千臺機器去幹別的事情?

誰能做這個事兒呢?只有雲計算,可以為大數據的運算提供資源層的靈活性。而云計算也會部署大數據放到它的PaaS平臺上,作為一個非常非常重要的通用應用。因為大數據平臺能夠使得多臺機器一起幹一個事兒,這個東西不是一般人能開發出來的,也不是一般人玩得轉的,怎麼也得僱個幾十上百號人才能把這個玩起來。

所以說就像數據庫一樣,其實還是需要有一幫專業的人來玩這個東西。現在公有云上基本上都會有大數據的解決方案了,一個小公司需要大數據平臺的時候,不需要採購一千臺機器,只要到公有云上一點,這一千臺機器都出來了,並且上面已經部署好了的大數據平臺,只要把數據放進去算就可以了。

雲計算需要大數據,大數據需要雲計算,二者就這樣結合了。

雲計算需要大數據,大數據需要雲計算!


分享到:


相關文章: