最近各大巨頭在云計算方面的投資都非?;钴S,從云平臺的管理、海量數(shù)據(jù)分析,到各種新興的面向消費(fèi)者的云平臺和云服務(wù),各個領(lǐng)域都呈現(xiàn)遍地開花的形式。而以Hadoop為代表的大規(guī)模數(shù)據(jù)處理(BigData Processing)技術(shù)的日趨成熟使得“業(yè)務(wù)為王”向“數(shù)據(jù)為王”轉(zhuǎn)變。Hadoop社區(qū)的繁榮有目共睹。越來越多的國內(nèi)外公司參與到Hadoop社區(qū)開發(fā),或者直接將線上使用的軟件開源。
當(dāng)年與Google還是處在強(qiáng)烈競爭關(guān)系的Yahoo!于是招了Doug(Hadoop創(chuàng)始人)進(jìn)來,把Google老大賴以生存的DFS與Map-Reduce開源了,開始了Hadoop的童年時期。差不多在2008年的時候,Hadoop才算逐漸成熟。從初創(chuàng)到現(xiàn)在,Hadoop經(jīng)過了至少7年的積累,現(xiàn)在的Hadoop不僅是當(dāng)年的老二Yahoo的專用產(chǎn)品了,從Hadoop長的用戶名單中,可以看到Facebook、Linkedin、Amazon,可以看到EMC、eBay、Twitter、IBM、Microsoft,、Apple、HP...國內(nèi)的公司有淘寶、百度等等。
不僅如此,最新消息顯示連微軟這個軟件巨頭也在近日向Hadoop敞開了懷抱。在10月12日的西雅圖舉行的SQL PASS 2011峰會上,微軟宣布將于從雅虎分拆出來的Hortonworks合作開發(fā),在Apache Hadoop上實現(xiàn)搭建Windows Server以及Windows Azure平臺。Hortonworks作為微軟的戰(zhàn)略合作伙伴將會借助自己在此領(lǐng)域的專長幫助最大化將Hadoop集成到微軟的產(chǎn)品之中。
微軟表示預(yù)計在今年年底可推出基于Hadoop的Windows Azure預(yù)覽版,而基于Hadoop的Windows Server將在在2012年推出?;贖adoop的Windows Server還會與微軟現(xiàn)有的BI工具聯(lián)合處理任務(wù)。同時微軟官方還證實了SQL Server “Denali”將被正式命名為SQL Server 2012。同時微軟還將加大對JavaScript語言的投入,微軟將使用JavaScript實現(xiàn)高性能的Map/Reduce。微軟承諾將緊密與Hadoop社區(qū)合作并積極為Apache軟件基金會的項目作出自身的貢獻(xiàn)。
微軟商業(yè)平臺事業(yè)部高級副總裁Ted Kummert在一份聲明中表示此舉將幫助微軟的客戶更好的管理自己的大數(shù)據(jù)。越來越多的公司正在尋找收集和分析非結(jié)構(gòu)化數(shù)據(jù)以幫助自身洞察業(yè)務(wù)的方法。但迄今為止,由于傳統(tǒng)關(guān)系數(shù)據(jù)庫主要是為處理結(jié)構(gòu)化數(shù)據(jù)而設(shè)計的,其自身固有的特性導(dǎo)致可擴(kuò)展性不佳。而Hadoop作為一個開源框架對大數(shù)據(jù)的支持正日益吸引IT主管的目光,Hadoop非常適合處理非結(jié)構(gòu)化數(shù)據(jù),如電子郵件內(nèi)的內(nèi)容、博客、點擊帶來的流數(shù)據(jù)、音頻及視頻等數(shù)據(jù)。
當(dāng)然其他巨頭也不甘落后,紛紛有所行動。甲骨文也在最近推出了基于Hadoop的大數(shù)據(jù)設(shè)備以及甲骨文自己的NoSQL數(shù)據(jù)庫和基于開源語言R的分布式數(shù)據(jù)統(tǒng)計分析系統(tǒng)。就在幾天前IBM宣布將收購私營的系統(tǒng)軟件公司Platform Computing。此舉可幫助IBM將更好地為客戶提供服務(wù),幫助它們以更適當(dāng)?shù)姆绞焦芾聿⒎治龃笠?guī)模數(shù)據(jù),降低成本和系統(tǒng)復(fù)雜度。
提到甲骨文在Hadoop上的最新動向,就不能不說到R語言。R語言作為開源的數(shù)據(jù)統(tǒng)計分析語言正潛移默化的在企業(yè)中擴(kuò)大自己的影響力。特有的擴(kuò)展插件可提供免費(fèi)擴(kuò)展,并且允許R語言引擎運(yùn)行在Hadoop集群之上。
R語言是主要用于統(tǒng)計分析、繪圖的語言和操作環(huán)境。R本來是由來自新西蘭奧克蘭大學(xué)的Ross Ihaka和Robert Gentleman開發(fā)。(也因此稱為R)現(xiàn)在由“R開發(fā)核心團(tuán)隊”負(fù)責(zé)開發(fā)。R是基于S語言的一個GNU項目,所以也可以當(dāng)作S語言的一種實現(xiàn),通常用 S語言編寫的代碼都可以不作修改的在R環(huán)境下運(yùn)行。R的語法是來自Scheme。
現(xiàn)在,統(tǒng)計工作者可利用R語言,R語言擅長在Hadoop分布式文件系統(tǒng)中存儲的非結(jié)構(gòu)化數(shù)據(jù)的分析。R現(xiàn)在還可以運(yùn)行在HBase這種非關(guān)系型的數(shù)據(jù)庫以及面向列的分布式數(shù)據(jù)存儲之上。其主要模仿了Google的BigTable。這基本上等同于使用Hadoop來持有結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)庫。就像 Apache軟件基金會Hadoop項目的子項目HBase一樣。
Revolution Analytics公司提供對開源R語言的商用軟件擴(kuò)充以及支援,這使得讓統(tǒng)計分析師及科學(xué)家能夠在短暫的時間內(nèi)從大量的重要資料中發(fā)現(xiàn)有意義的資訊。 Revolution Analytics公司首席技術(shù)官David Champagne表示R引擎可部署在Hadoop集群中的每個節(jié)點上面。你可以在部署了R的工作組中設(shè)置R算法,而不是在Java編程中減少算法。它可解析Hadoop映射函數(shù)的節(jié)點,同時可并行的統(tǒng)計分析存儲在HDFS的數(shù)據(jù)。
另外,開源的操作系統(tǒng)Ubuntu 11.10服務(wù)器版本開始支持Juju(先前代號為Ensemble)預(yù)案,該預(yù)案提供30多種云端應(yīng)用程序的自動部署功能,支持MySQL、Tomcat 6與Hadoop等,協(xié)助企業(yè)加快大規(guī)模部署云端應(yīng)用的程序。
以Hadoop部署為例,IT人員先前必須安裝Java程序,透過Java程序安裝Hadoop程序,接著設(shè)定服務(wù)器之間的集群關(guān)系。現(xiàn)在IT人員可在11.10版安裝Juju程序,只要在命令列輸入幾項指令就能自動安裝Java與Hadoop程序,并建立Hadoop運(yùn)算集群,讓企業(yè)能快速建設(shè)Hadoop應(yīng)用。未來IT人員若要擴(kuò)充集群,只要透過Juju輸入指令,就能將新的服務(wù)器納入Hadoop系統(tǒng)。
Twitter也在近期推出了開源實時Hadoop計算系統(tǒng)。這是一個分布式的、容錯的實時計算系統(tǒng),它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType開發(fā)的實時處理系統(tǒng),BackType現(xiàn)在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure寫的。
Storm為分布式實時計算提供了一組通用原語,可被用于“流處理”之中,實時處理消息并更新數(shù)據(jù)庫。這是管理隊列及工作者集群的另一種方式。Storm也可被用于“連續(xù)計算”(continuous computation),對數(shù)據(jù)流做連續(xù)查詢,在計算時就將結(jié)果以流的形式輸出給用戶。它還可被用于“分布式RPC”,以并行的方式運(yùn)行昂貴的運(yùn)算。Storm的主工程師Nathan Marz表示:Storm可以方便地在一個計算機(jī)集群中編寫與擴(kuò)展復(fù)雜的實時計算,Storm之于實時處理,就好比Hadoop之于批處理。Storm保證每個消息都會得到處理,而且它很快——在一個小集群中,每秒可以處理數(shù)以百萬計的消息。更棒的是你可以使用任意編程語言來做開發(fā)。