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