而ADFS原理簡(jiǎn)單地說就是將非熱點(diǎn)數(shù)據(jù)存入“數(shù)據(jù)庫”,而非NameNode的內(nèi)存。羅李說:“由于數(shù)據(jù)存放在數(shù)據(jù)庫里,只要數(shù)據(jù)庫‘不掛’就沒有問題,NameNode的單點(diǎn)故障問題由此解決,同時(shí)也一并解決了內(nèi)存瓶頸。系統(tǒng)升級(jí)不需要再停機(jī),重啟時(shí)間也由原來的一兩個(gè)小時(shí)縮短到5分鐘之內(nèi)??傊?,ADFS能提供10億文件/目錄的管理能力,其穩(wěn)定性、性能和可維護(hù)性不輸于甚至優(yōu)于現(xiàn)有系統(tǒng)。”此外,值得一提的是,淘寶已經(jīng)將ADFS開源在GitHub之上。
另一大改進(jìn),就是為減少磁盤使用量而實(shí)施了HDFS Raid技術(shù)。
“HDFS出于可靠性考慮,都是將一份數(shù)據(jù)存成三份,這意味著1GB的數(shù)據(jù)占用了3GB的存儲(chǔ)容量,可靠性是有了,但經(jīng)濟(jì)性并不好。HDFS Raid就相當(dāng)于Raid 10,原來1GB的數(shù)據(jù)所需要的空間從原來的3GB降到2.4GB,對(duì)我們來講,就是上百萬資金的節(jié)省,而可靠性卻并沒有喪失。”羅李說。
不過,羅李表示,HDFS Raid技術(shù)來源于Facebook,他們是在Facebook提供的版本上做了些改進(jìn)。
此外,還一個(gè)無法被描述成“項(xiàng)目”的改進(jìn)就是持續(xù)不斷地“優(yōu)化”。“雖然Hadoop的優(yōu)勢(shì)之一就是不夠了就可以加機(jī)器,但加機(jī)器意味著更大的存儲(chǔ)容量、更大的計(jì)算需求和更大的網(wǎng)絡(luò)流量,對(duì)主節(jié)點(diǎn)都會(huì)帶來新的壓力,因此,每次在擴(kuò)展之前,我們都要對(duì)系統(tǒng)進(jìn)行評(píng)估,都需要優(yōu)化代碼。”羅李說。
羅李頗為驕傲地告訴記者,由于不斷地對(duì)Hadoop內(nèi)核進(jìn)行優(yōu)化,淘寶版本的Hadoop在性能上“比一些社區(qū)的Hadoop版本高出30%~50%”。
“畢竟,我們這么大的規(guī)模作支撐。因?yàn)橄到y(tǒng)的性能瓶頸只有在一定規(guī)模下才能暴露,而我們甚至將Java內(nèi)核的漏洞都跑出來了。”羅李說。
不過,羅李坦承,自從今年七月份新的“云梯”版本上線之后,他們發(fā)現(xiàn)通過優(yōu)化代碼提高系統(tǒng)性能的空間越來越小了。“所以,我們開始和運(yùn)維團(tuán)隊(duì)一起合作,打算去從硬件層面下手,例如購(gòu)買更高性能的CPU、閃存、萬兆網(wǎng)卡等。事實(shí)上,我們現(xiàn)在最緊缺的資源就是CPU和磁盤。”他說。
同時(shí),羅李指出,對(duì)很多公司而言,在規(guī)模不是特別大的情況下,通過購(gòu)買更強(qiáng)勁的硬件來提高集群性能也是一個(gè)好辦法,而且其成本不一定比維持一支技術(shù)團(tuán)隊(duì)要高。而硬件產(chǎn)業(yè)鏈的上游廠商英特爾則公開表示,英特爾未來首要任務(wù)之一,就是要打造適用于大數(shù)據(jù)應(yīng)用的“芯”,該公司今年三月發(fā)布的全新至強(qiáng)處理器E5產(chǎn)品家族,就能為分布式計(jì)算帶來更優(yōu)性能、能效、可擴(kuò)展性和可管理性。同時(shí),英特爾還將幫助合作伙伴打造可承載大數(shù)據(jù)應(yīng)用的基礎(chǔ)設(shè)施。
關(guān)于“云梯”集群未來的發(fā)展方向,羅李表示,短期內(nèi)是存儲(chǔ)結(jié)構(gòu)和技術(shù)進(jìn)行優(yōu)化部署ADFS,并且開發(fā)HDFS NameNode HA技術(shù),而長(zhǎng)期來說,“云梯”將演變成多Master節(jié)點(diǎn)Hadoop集群。
如今,Hadoop之火有目共睹,那什么樣的公司適合采嘗試這一新興技術(shù)?羅李回答道:“還應(yīng)該是從業(yè)務(wù)角度出發(fā)。有海量數(shù)據(jù)需要處理,并且計(jì)算模型并不太復(fù)雜,對(duì)數(shù)據(jù)進(jìn)行處理的過程可以分成一個(gè)個(gè)小的步驟去完成,就可以嘗試Hadoop 技術(shù)。”