存儲(chǔ)幫助Facebook 150萬用戶順暢交友
Facebook的用戶現(xiàn)在每個(gè)月都上傳超過800萬張數(shù)碼照片,截至去年夏天,F(xiàn)acebook是全球***的網(wǎng)絡(luò)照片存儲(chǔ)網(wǎng)站,共存儲(chǔ)了6.5億張圖片,同時(shí),F(xiàn)acebook還擁有500多萬部影片,以及其他內(nèi)容,其中包括約20萬件網(wǎng)絡(luò)新聞、博客文章以及報(bào)告和評(píng)論,總計(jì)存儲(chǔ)的數(shù)據(jù)量達(dá)到數(shù)個(gè)PB,所有這些數(shù)據(jù)都需要安全的存儲(chǔ),而且需要馬上就進(jìn)行檢索。而這,是一個(gè)極為艱巨的任務(wù)。
事實(shí)上,F(xiàn)acebook就像是一個(gè)傳奇,很難相信,前哈佛大學(xué)二年級(jí)學(xué)生Mark Zuckerberg創(chuàng)建的Facebook到目前為止僅僅只有5歲,在如此短的時(shí)間內(nèi)積累下如此龐大的數(shù)據(jù)簡直讓人不可思議,但是,這的確是事實(shí)。
其實(shí),F(xiàn)acebook的增長一直這么快且樂觀,在2007年12月,該公司在美國加州的數(shù)據(jù)中心達(dá)到了滿載的容量,幸運(yùn)的是,F(xiàn)acebook的存儲(chǔ)管理團(tuán)隊(duì)已經(jīng)看到了存儲(chǔ)的未來,并且在數(shù)據(jù)增長的過程中在美國東海岸的弗吉尼亞州建立了一個(gè)數(shù)據(jù)中心,并在幾周前正式上線。不過,能夠積極地管理PB級(jí)別的數(shù)據(jù)是很不容易的事情,因此,F(xiàn)acebook的團(tuán)隊(duì)一直在尋找可行之道。
“對(duì)于存儲(chǔ)容量來說,我每天早餐的時(shí)候都會(huì)看到一個(gè)圖表,那上面顯示著我們正在做的。”Facebook公司存儲(chǔ)工程經(jīng)理Anoop Nagwani表示,他已經(jīng)在Facebook工作了一年半,“我們每個(gè)月都會(huì)評(píng)價(jià)整個(gè)我們的組織機(jī)構(gòu),然后每周都會(huì)有一個(gè)小組討論。”
MySQL越來越龐大
Facebook的用戶數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫上,F(xiàn)acebook擁有一個(gè)全球***的MySQL數(shù)據(jù)庫系統(tǒng),騎在超過1800臺(tái)服務(wù)器上運(yùn)行著MySQL數(shù)據(jù)庫。Facebook選擇了MySQL的開放性,因?yàn)槠浯a的可修改性是必要的。Facebook同時(shí)還是用了大量的內(nèi)存緩存服務(wù)器(Memcached Server),其速度大幅度超過了MySQL服務(wù)器,從而能夠更好的跟上存儲(chǔ)數(shù)據(jù)副本的要求。此外,每個(gè)晚上,F(xiàn)acebook都會(huì)進(jìn)行數(shù)據(jù)復(fù)制,將Facebook在西海岸數(shù)據(jù)中心的數(shù)據(jù)復(fù)制到東海岸的數(shù)據(jù)中心中,并進(jìn)行一次數(shù)據(jù)轉(zhuǎn)儲(chǔ),這些數(shù)據(jù)通過重復(fù)數(shù)據(jù)刪除技術(shù)專業(yè)廠商Data Domain的技術(shù)進(jìn)行重復(fù)數(shù)據(jù)刪除后進(jìn)行長期存儲(chǔ)。
Facebook處理圖片和視頻略有不同,其使用NetApp的NFS系統(tǒng)以及SATA硬盤來進(jìn)行存儲(chǔ),因?yàn)镹etApp能夠在一個(gè)很大的容器中存儲(chǔ)很大的對(duì)象。但是,隨著Facebook上存儲(chǔ)的照片數(shù)量的增長,NetApp的系統(tǒng)因由元數(shù)據(jù)已經(jīng)不堪重負(fù),造成了帶寬的瓶頸。
因此,今年晚些時(shí)候,F(xiàn)acebook計(jì)劃推出自己的對(duì)象存儲(chǔ)系統(tǒng)“Haystack”,該系統(tǒng)被其描述為“一個(gè)標(biāo)示數(shù)據(jù)所在的用戶級(jí)別的抽象對(duì)象都存儲(chǔ)在一個(gè)單一的文件中(類似于LUN)”。
Facebook也使用NFS來存儲(chǔ)視頻,“因?yàn)槲覀冇性S多設(shè)備要存儲(chǔ)相同的數(shù)據(jù)在一線系統(tǒng),這事***成本效益和高性能的方式做到這一點(diǎn)?!盢agwani談到。Facebook的系統(tǒng)正在像Isilon的集群存儲(chǔ)系統(tǒng)一樣良好工作著。但是Nagwani和他的團(tuán)隊(duì)仍然在積極尋找其他平臺(tái),比如Sun的Storage 7410統(tǒng)一存儲(chǔ)系統(tǒng),其能夠擴(kuò)展到576TB。
能耗和性能取得均衡
另一個(gè)備受Nagwani和他的團(tuán)隊(duì)關(guān)注的話題是能耗問題。
“我們一直都在關(guān)注電力問題。”他表示,“我們擔(dān)心我們數(shù)據(jù)中心機(jī)架的能耗。話雖如此,我們正在制定一個(gè)解決方案,例如,當(dāng)我們轉(zhuǎn)移到NetApp,特別是當(dāng)我們的照片都轉(zhuǎn)移到運(yùn)行著SATA硬盤的NetApp系統(tǒng)時(shí),我們很看重電力消耗。我們期待系統(tǒng)能夠做到的I/O指數(shù),他們提供的容量和性能。而且我們還希望從根本上創(chuàng)建一個(gè)cookie刀片設(shè)計(jì),我們要知道該系統(tǒng)有多少能力能夠支持多少的用戶使用。”
正如他的MySQL的數(shù)據(jù),F(xiàn)acebook的照片和視頻從西海岸數(shù)據(jù)中心利用快照復(fù)制到東海岸的數(shù)據(jù)中心,這樣一來,“如果有人和類型的應(yīng)用程序或是管理錯(cuò)誤,我們可以隨時(shí)通過快照來返回,或者,在最壞的情況下,出現(xiàn)系統(tǒng)故障,我們能夠轉(zhuǎn)移到東海岸,并將數(shù)據(jù)復(fù)制到西海岸那邊。”Nagwani表示。
另一個(gè)大的問題是,F(xiàn)acebook的團(tuán)隊(duì)關(guān)注擴(kuò)展性,因?yàn)?,大約每周用戶上傳到Facebook的數(shù)據(jù)達(dá)到25TB,“這是我們的***要?jiǎng)?wù),是我們的規(guī)模、和擴(kuò)展水平能夠領(lǐng)先市場(chǎng)需求的原因。”
“閃存將是我們今年巨大的進(jìn)步。”——Anoop Nagwani
作為其始終創(chuàng)建***的數(shù)據(jù)存儲(chǔ)平臺(tái)的長期戰(zhàn)略,F(xiàn)acebook目前正在研究閃存技術(shù),特別是以PCI為基礎(chǔ)的高容量閃存設(shè)備,加入到固態(tài)存儲(chǔ)(SSD)的用戶大軍中去。
“我們正在尋求將高容量的閃存設(shè)備到我們的MySQL數(shù)據(jù)庫中去,因?yàn)槲覀兊臄?shù)據(jù)庫內(nèi)容需要非??斓腎/O操作,這樣做就能更快的進(jìn)行ETL處理、數(shù)據(jù)倉庫并且可以更快的獲得數(shù)據(jù)?!盢agwani表示,“我們也在尋求將Sun的ZFS平臺(tái)作為我們的一個(gè)新的系統(tǒng),就像我們使用NetApp一樣。我們喜歡他們,因?yàn)樗麄冇幸幌盗械拈W存,因此,我們可以緩存大量的數(shù)據(jù),所以基本上我們今年在閃存存儲(chǔ)上的進(jìn)步將是巨大的?!?/P>