2011年10月31日 星期一

Hadoop

雲端是什麼?現在很多東西都要加上"雲端"這個名詞!但是雲端又代表什麼意義?在接觸hadoop平台後讓我對雲端有不同的了解,雲端對一般人來說是新的東西,新的技術,一種讓使用者不需要太好的設備,不需要了解系統的背後,也能漫步在雲端裡享受服務!可是對雲端的技術層面了解後發現他只是新的名詞舊的技術,一種類似分散式系統的概念,來讓多台主機連結來省下高額的設備成本,現在Google、Amazon、IBM和Microsoft等等許多企業都提供雲端服務,但是這裡要介紹的Hadoop雲端平台。

Hadoop是開放的平台,任何使用者都可以自己架設屬於自己的雲,hadoop是由Google的雲端架構得到啟發的開放原始碼平台,Hadoop是以JAVA撰寫而成,能在多種作業系統下執行提供大量資料的分散式運算,主要以MapReduce、HDFS、Hbase三個整合來提供雲端服務。

MapReduce
MapReduce是架設在分散式系統上,簡化了撰寫平行處理程式的難度,方便利用大量的運算資源,加快了在大資料量的處理時間,MapReduce會將問題用Map程序分為許多小問題,交給系統執行再由Reduce回收每個小問題的答案組合成問題的解答,MapReduce有個特點打破了從前的傳統,不在是將資料傳送到運算系統上處理,而是將運算程式傳送到資料端做運算,減少了大量資料傳送的時間。

HDFS
HDFS類似Google的檔案系統,將分散式的儲存整合成具有高容錯力、高效率以及超大容量的環境,HDFS是由Name node和data nodes所組成,由Name node負責權限、管理和儲存,Name node會將資料切割為多個小區塊儲存在不同的data node上,而且每個區塊會有多個備份儲存在不同的data node上,進而提高容錯能力。

Hbase
Hbase是架構在HDFS上的分散式資料庫,Hbase是利用row和colum來儲存和索引資料,與一般關聯式資料庫的不同,Hbase還有一個特點是每個資料都有一個timestamp,可以依不同時間存在多筆資料。

結論
有了Hadoop平台使用者就可以將多台電腦連結起來,來達到想要的效能,而且現在也有許多企業和學術投入大量的金額和時間在研究Hadoop,相信Hadoop可以越來越好,但是如果忽略了好的維護而影響到原有的服務,反而會增加成本讓雲端成為失敗的名詞。
,

沒有留言:

張貼留言