對象存儲,也許對你來說,可能很了解,或者只是一個(gè)陌生的概念。但是,不管怎么樣,對象存儲和作為網(wǎng)絡(luò)存儲的一種,已經(jīng)走到每個(gè)人的身邊。當(dāng)你在Facebook上查看一張照片,就用到了Facebook Haystack對象存儲,淘寶打開一個(gè)商品頁面的時(shí)候也使用到了淘寶對象存儲TFS。另外,亞馬遜的存儲云S3和OpenStack的Swift都是對象存儲的實(shí)現(xiàn)。對象存儲作為存儲實(shí)現(xiàn)的一種技術(shù),它的優(yōu)勢在哪里,應(yīng)用環(huán)境又是什么樣的。本文以EMC的Atmos產(chǎn)品為例,帶領(lǐng)讀者走近對象存儲。
對象用來存儲什么內(nèi)容?在了解對象存儲,先要談一下兩種數(shù)據(jù)的類型:結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)通常就是指能在關(guān)系數(shù)據(jù)庫系統(tǒng)中存儲的數(shù)據(jù),即可以用二維表的結(jié)構(gòu)來邏輯表達(dá)的數(shù)據(jù)。反之,非結(jié)構(gòu)化數(shù)據(jù)指得是那些沒有特定的數(shù)據(jù)結(jié)構(gòu)和模式來決定它如何存儲的數(shù)據(jù),這些數(shù)據(jù)并不適合直接用關(guān)系數(shù)據(jù)庫系統(tǒng)來存儲。例如文本文檔,圖片,音樂,視頻文件,博客文檔等等。所謂對象存儲技術(shù)的出現(xiàn),主要的目的就是用來優(yōu)化非結(jié)構(gòu)化數(shù)據(jù)的存儲。
對象和傳統(tǒng)的文件的區(qū)別是什么?可以說,最大的區(qū)別是,在對象中,可以存儲更多的元數(shù)據(jù),雖然有些文件系統(tǒng)也支持?jǐn)U展元數(shù)據(jù),但是這些數(shù)據(jù)通常很少會被應(yīng)用程序用到。而作為對象存儲系統(tǒng),這種元數(shù)據(jù)的存儲會被放置在一個(gè)特定的區(qū)域,而不是文件中,從而可以被更好訪問和搜索。下圖顯示了同樣兩個(gè)圖片,使用文件和對象存儲的區(qū)別。
對象存儲的概念是由SNIA在1999年提出的,然后再2002年左右出現(xiàn)一些商用產(chǎn)品,EMC Centera作為一個(gè)內(nèi)容尋址存儲(Content Addressed Storage)歸檔系統(tǒng)也是其中之一。2009年EMC又發(fā)布了基于云存儲的平臺Atmos。作為對象的信息存儲,對象存儲系統(tǒng)會對每個(gè)文件增加了豐富的元數(shù)據(jù),從而克服了許多文件系統(tǒng)的限制。基于對象存儲系統(tǒng)通常可以在一個(gè)系統(tǒng)中輕易存儲數(shù)十億的對象而不需要額外文件系統(tǒng)和存儲管理的支持,這是普通的網(wǎng)絡(luò)存儲NAS所不能比擬的。
EMC Atmos簡介:
EMC Atmos結(jié)合CAS和NAS的特點(diǎn),再其基礎(chǔ)上添加更加豐富基于云端優(yōu)化的對象分類支持以及分布式的內(nèi)容尋址,Atmos也可以叫做基于云端優(yōu)化的存儲系統(tǒng)(Cloud-Optimized Storage)。Atmos可以以軟件和硬件集成的兩種形式進(jìn)行部署。下圖中左側(cè)為硬件集成的部署方式,這種交付方式中,Atmos系統(tǒng)中包含運(yùn)算節(jié)點(diǎn),連接網(wǎng)絡(luò)的交換機(jī)和存儲數(shù)據(jù)的磁盤柜。右側(cè)是以軟件的方式部署,Atmos軟件安裝在運(yùn)行vSphere的VMware的ESX服務(wù)器上,后端連接傳統(tǒng)的存儲系統(tǒng),這種部署的好處可以利用現(xiàn)有的硬件實(shí)現(xiàn)。
Atmos的數(shù)據(jù)訪問主要是通過Atmos Object API來實(shí)現(xiàn),支持多類型的數(shù)據(jù)訪問模式。基于Web的SOAP和REST,基于文件的CIFS、NFS、Installable File System(IFS),以及針對內(nèi)容尋址CAS的API方式。
下圖顯示了一個(gè)典型的對象寫入過程全過程,這里需要提一點(diǎn)的是在Atmos寫入的過程中,文件的元數(shù)據(jù)基于Atmos中定義的策略決定數(shù)據(jù)是如何存儲,和存儲在哪里(針對分布式模式),且系統(tǒng)策略還會根據(jù)數(shù)據(jù)的復(fù)制模式(同步和異步)選擇對于前端確認(rèn)的方式。OID本身的組織結(jié)構(gòu),也會定義對象存儲位置,以便Atmos可以更快的定位數(shù)據(jù)。在典型的Web訪問的情況下,Atmos中的前端服務(wù),充當(dāng)了一個(gè)標(biāo)準(zhǔn)的文件訪問結(jié)構(gòu),使得用戶端的瀏覽器可以直接從Atmos從獲取數(shù)據(jù)而不需要再通過Web服務(wù)器來定位。
Atmos解決方案主要可以應(yīng)用在以下幾個(gè)方面:
Web應(yīng)用:基于Web 2.0分布式存儲,用作電子照片,多媒體的影像文件等等。
非結(jié)構(gòu)化的數(shù)據(jù)存儲(網(wǎng)盤):基于網(wǎng)絡(luò)的數(shù)據(jù)隨時(shí)隨地的訪問解決方案。
歸檔和備份:Atmos基于系統(tǒng)策略、只需要少量的監(jiān)控和維護(hù),支持自動(dòng)復(fù)制,自動(dòng)刪除等功能,為數(shù)據(jù)的歸檔和備份提供解決方案。關(guān)鍵是,數(shù)據(jù)存放在Atmos作為備份和歸檔的數(shù)據(jù)還是隨時(shí)提供用戶訪問。
基于云計(jì)算的IaaS:提供多租戶,自助服務(wù),資源管理,自動(dòng)配置的存儲平臺。