我們已經(jīng)進(jìn)入了“大數(shù)據(jù)時(shí)代”,2011 IDC Digital Universe報(bào)告說(shuō),數(shù)據(jù)增長(zhǎng)的速度已經(jīng)超過(guò)了摩爾定律(Moore's Law)。這種趨勢(shì)表明企業(yè)處理數(shù)據(jù)模式的轉(zhuǎn)變,即隔離的孤島正在被大型集群服務(wù)器所取代,這種服務(wù)器集群將數(shù)據(jù)與計(jì)算資源保存在一起。
從另一種角度來(lái)看這種模式轉(zhuǎn)變,這種轉(zhuǎn)變表明數(shù)據(jù)增長(zhǎng)的速度和數(shù)據(jù)量需要一種新的網(wǎng)絡(luò)計(jì)算方法。在這方面,谷歌就是一個(gè)很好的例子。早在1998年谷歌推出測(cè)試版搜索引擎時(shí),雅虎公司占主導(dǎo)地位,其他競(jìng)爭(zhēng)者還包括infoseek、Lycos等,而在短短兩年內(nèi),谷歌就成為主導(dǎo)搜索引擎供應(yīng)商。直到2003年,谷歌發(fā)布一份關(guān)于MapReduce的文件,我們才有幸窺見(jiàn)到谷歌的后端架構(gòu)。
谷歌的架構(gòu)顯示了該公司如何能夠索引更多數(shù)據(jù),以更快地獲得搜索結(jié)果,以及比所有競(jìng)爭(zhēng)對(duì)手更有效和更具成本效益地獲取這些結(jié)果。谷歌做出的轉(zhuǎn)變是將復(fù)雜的數(shù)據(jù)分析任務(wù)分成簡(jiǎn)單的子任務(wù),這些子任務(wù)在并行商品服務(wù)器中執(zhí)行。單獨(dú)進(jìn)程被用于映射Map這些數(shù)據(jù),然后將其縮小Reduce到中期或最終結(jié)果。這種MapReduce框架最終通過(guò)Apache的Hadoop供企業(yè)使用。
Hadoop簡(jiǎn)史
在2003年閱讀了谷歌的文件后,雅虎工程師Doug Cutting開(kāi)發(fā)了基于Java的MapReduce,將其命名為Hadoop。在2006年,Hadoop成為Apache軟件基金會(huì)Lucene(一種流行的全文檢索庫(kù))的子項(xiàng)目,并在2008年成為頂級(jí)Apache項(xiàng)目。
從本質(zhì)上講,Hadoop提供了對(duì)大型商品計(jì)算機(jī)集群間的捕捉、組織、存儲(chǔ)、搜索、共享、分析和可視化不同數(shù)據(jù)源(結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化),并能夠從幾十臺(tái)服務(wù)器擴(kuò)展到上千臺(tái)服務(wù)器,每臺(tái)服務(wù)器都提供本地計(jì)算和存儲(chǔ)。
Hadoop包含兩個(gè)基本組成部分:首先是作為主要存儲(chǔ)系統(tǒng)的Hadoop分布式文件系統(tǒng)(HDFS),HDFS復(fù)制和分發(fā)源數(shù)據(jù)塊到服務(wù)器集群的計(jì)算節(jié)點(diǎn),以由一個(gè)或多個(gè)應(yīng)用程序進(jìn)行分析。其次是MapReduce,它創(chuàng)建了一個(gè)軟件框架和編程模型,用于編寫(xiě)能夠并行處理大量分布式數(shù)據(jù)的應(yīng)用程序。
Apache Hadoop的開(kāi)源性質(zhì)創(chuàng)建了一個(gè)生態(tài)系統(tǒng),使其功能、性能、可靠性和易用性都不斷進(jìn)步。
保持簡(jiǎn)單性和可擴(kuò)展性
在名為“數(shù)據(jù)不合理的有效性”的文章中,來(lái)自谷歌的研究人員將簡(jiǎn)單的物理方程式(例如E = mc2)與其他學(xué)科對(duì)比,并指出,“涉及人類而非基本粒子的科學(xué)更適合使用簡(jiǎn)單的數(shù)學(xué)算法”。
事實(shí)上,簡(jiǎn)單的公式完全能夠解釋復(fù)雜的自然世界,以及理解難以捉摸的人類行為,這也是為什么Hadoop普及的原因。
研究人員發(fā)現(xiàn),相對(duì)簡(jiǎn)單的算法適用于大規(guī)模數(shù)據(jù)集,并能產(chǎn)生驚人的結(jié)果。其中一個(gè)例子就是scene completion技術(shù),它使用一個(gè)算法來(lái)消除圖片上的某物(例如汽車(chē)),然后從成千上萬(wàn)的圖片資料庫(kù)中尋找合適的照片進(jìn)行“修補(bǔ)”,當(dāng)圖片資料庫(kù)的照片增加到數(shù)百萬(wàn)時(shí),該算法表現(xiàn)不佳。當(dāng)擁有足夠的數(shù)據(jù),這種簡(jiǎn)單的算法表現(xiàn)極為出色。尋找模式以及“修補(bǔ)”技術(shù)是當(dāng)今很多數(shù)據(jù)分析應(yīng)用程序的共同主題。
數(shù)據(jù)分析還面臨著另一個(gè)固有復(fù)雜性:非結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)的增加。非結(jié)構(gòu)化數(shù)據(jù)(例如日志文件、社交媒體、視頻等)的規(guī)模和重要性同時(shí)在增加,并且有些結(jié)構(gòu)化在經(jīng)過(guò)一些變化后也失去了結(jié)構(gòu)。傳統(tǒng)分析技術(shù)在產(chǎn)生結(jié)果前需要對(duì)非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)進(jìn)行大量預(yù)處理,并且如果預(yù)處理存在某種缺陷的話,產(chǎn)生的結(jié)果可能是錯(cuò)誤的。
Hadoop采用簡(jiǎn)單算法來(lái)分析原始形式的非結(jié)構(gòu)化、半結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)以及產(chǎn)生有意義結(jié)果的能力是前所未有的,目前來(lái)看,也是無(wú)與倫比的。MapReduce使我們能夠以漸進(jìn)的方式來(lái)分析數(shù)據(jù),而必須要進(jìn)行復(fù)雜的數(shù)據(jù)轉(zhuǎn)換或者其他數(shù)據(jù)預(yù)處理,或提前創(chuàng)建任何模式或整合數(shù)據(jù)。
數(shù)據(jù)分析的價(jià)格和性能
Hadoop不僅提供卓越的數(shù)據(jù)分析功能和結(jié)果,還比傳統(tǒng)數(shù)據(jù)分析工具更具成本效益。其原因是傳統(tǒng)數(shù)據(jù)分析工具的擴(kuò)展數(shù)據(jù)分析能力主要遵循80/20規(guī)則:最初的小努力和付出能夠帶來(lái)大收益,但隨著數(shù)據(jù)集發(fā)展為大數(shù)據(jù),這種回報(bào)會(huì)減少。
形成鮮明對(duì)比的是,Hadoop可以線性擴(kuò)展,這是有效且符合成本效益的數(shù)據(jù)分析的關(guān)鍵因素。隨著數(shù)據(jù)集的增長(zhǎng),傳統(tǒng)數(shù)據(jù)分析環(huán)境規(guī)模呈指數(shù)增長(zhǎng),為獲取洞察力需要投入更多額外費(fèi)用,這最終讓人望而卻步。而對(duì)于Hadoop,服務(wù)器集群能夠隨著數(shù)據(jù)集數(shù)量和規(guī)模的增長(zhǎng)而直接附加存儲(chǔ)線性地?cái)U(kuò)展規(guī)模。
Hadoop的這些優(yōu)勢(shì)是其在基于web的企業(yè)和數(shù)據(jù)密集型企業(yè)快速普及的主要原因。
然而,Hadoop部署面臨的主要挑戰(zhàn)仍然是其文件系統(tǒng)。HDFS是append-only(只允許在這個(gè)文件之后追加數(shù)據(jù))存儲(chǔ)要求數(shù)據(jù)裝在Hadoop集群中,然而再輸出后處理以供不支持HDFS API的其他應(yīng)用程序使用。
Hadoop在較大型企業(yè)部署的另一個(gè)障礙是需要采取使環(huán)境可靠的特殊措施。需要不斷監(jiān)控Hadoop以確保單點(diǎn)故障不會(huì)導(dǎo)致災(zāi)難,在數(shù)據(jù)丟失的情況下,數(shù)據(jù)會(huì)被重新加載到Hadoop集群。
沖破障礙
Hadoop的這些問(wèn)題已經(jīng)成為過(guò)去式。開(kāi)源社區(qū)創(chuàng)造了一個(gè)充滿活力的生態(tài)系統(tǒng),使Hadoop不斷完善。一些公司現(xiàn)在正在提供基于開(kāi)源Hadoop的商業(yè)產(chǎn)品。
越來(lái)越多商業(yè)Hadoop產(chǎn)品的推出推動(dòng)了Hadoop的更廣泛普及。這些商業(yè)產(chǎn)品使Hadoop更易于整合到企業(yè),以及提供企業(yè)級(jí)的性能和可靠性。實(shí)現(xiàn)這些改進(jìn)的方法之一是使用現(xiàn)有的標(biāo)準(zhǔn)通信協(xié)議作為基礎(chǔ),來(lái)使傳統(tǒng)環(huán)境和Hadoop環(huán)境無(wú)縫集成。
結(jié)束還是剛剛開(kāi)始?
數(shù)據(jù)分析模式正在轉(zhuǎn)變,這為企業(yè)帶來(lái)了真正的機(jī)會(huì)。Hadoop讓所有企業(yè)能夠通過(guò)這種模式轉(zhuǎn)變所提供的洞察力優(yōu)勢(shì)來(lái)獲得顯著的競(jìng)爭(zhēng)優(yōu)勢(shì)。
Hadoop無(wú)疑是一個(gè)改變游戲規(guī)則的技術(shù),并且隨著企業(yè)級(jí)商業(yè)Hadoop產(chǎn)品的推出,Hadoop本身也正在發(fā)生轉(zhuǎn)變。這些下一代解決方案正引領(lǐng)新的數(shù)據(jù)分析模式。


