做數據的步驟?
當數據量很小時,很少的幾臺機器就能解決。慢慢的,當數據量越來越大,牛的服務器都解決不了問題時,怎么辦呢?這時就要聚合多臺機器的力量,大家齊心協力一起把這個事搞定,眾人拾柴火焰高。
對于數據的收集:外面部署這成千上萬的檢測設備,將大量的溫度、濕度、監控、電力等數據統統收集上來;就互聯網網頁的搜索引擎來講,需要將整個互聯網所有的網頁都下載下來。這顯然一臺機器做不到,需要多臺機器組成網絡爬蟲系統,每臺機器下載一部分,同時工作,才能在有限的時間內,將海量的網頁下載完畢。
對于數據的傳輸:一個內存里面的隊列肯定會被大量的數據擠爆掉,于是就產生了基于硬盤的分布式隊列,這樣隊列可以多臺機器同時傳輸,隨你數據量多大,只要我的隊列足夠多,管道足夠粗,就能夠撐得住。
對于數據的存儲:一臺機器的文件系統肯定是放不下的,所以需要一個很大的分布式文件系統來做這件事情,把多臺機器的硬盤打成一塊大的文件系統。
對于數據的分析:可能需要對大量的數據做分解、統計、匯總,一臺機器肯定搞不定,處理到猴年馬月也分析不完。于是就有分布式計算的方法,將大量的數據分成小份,每臺機器處理一小份,多臺機器并行處理,很快就能算完。例如著名的Terasort對1個TB的數據排序,相當于1000G,如果單機處理,怎么也要幾個小時,但并行處理209秒就完成了。