對象存儲的前世今生
那些沒有為數(shù)據(jù)庫或文件系統(tǒng)寫過代碼的上了年紀的程序員應(yīng)該不太可能讀到這篇文章。畢竟,一般商業(yè)應(yīng)用程序訪問其他數(shù)據(jù)類型的模式已經(jīng)存在超過40年了。因此,代表著***個主要的新型數(shù)據(jù)結(jié)構(gòu)類型的對象存儲,它在兩代的時間里對數(shù)據(jù)管理實踐產(chǎn)生了顯著影響。對象的實現(xiàn)始于上世紀90年代末,但多數(shù)是特殊應(yīng)用。大規(guī)模的部署則由云服務(wù)所***,如亞馬遜S3,F(xiàn)acebook和 Spotify?,F(xiàn)在,無論成熟廠商還是新興廠商的對象存儲解決方案都已達到相當(dāng)成熟度,使得IT部門開始考慮如何在自己企業(yè)中實現(xiàn)對象存儲。
對象存儲在很多重要方面與SAN和NAS迥然不同,對存儲管理員而言最顯著的區(qū)別在于對象存儲沒有LUNs,卷以及RAID等要素。對象數(shù)據(jù)不是存儲在固定的塊,而是在大小可變的“容器”里。鑒于元數(shù)據(jù)(metadata)和數(shù)據(jù)本身可通過傳統(tǒng)數(shù)據(jù)訪問方法進行訪問,對象存儲允許數(shù)據(jù)被直接訪問。此外,支持對象級和命令級的安全策略設(shè)置。
然而,企業(yè)IT部門卻不太認為他們需要對象存儲。相反,存儲經(jīng)理們在尋找更好的方法來滿足企業(yè)的數(shù)據(jù)訪問需求,他們需要盡可能簡單而不貴的解決方案,盡管對象存儲事實上挺符合這些需求的。
在數(shù)據(jù)中心使用對象存儲是一種“和”而不是“或”的解決方案。對象存儲擁有很大前景,但它不會很快就完全取代SAN和NAS存儲。存儲系統(tǒng)實施中的共性有:
- 歸檔
- 云存儲
- 備份與恢復(fù)
- 合規(guī)性
- 內(nèi)容服務(wù)
還有一些應(yīng)用案例中數(shù)據(jù)訪問是必要的,但性能卻不一定是問題。
對象存儲的實現(xiàn)模型
當(dāng)前的對象存儲解決方案從即用型的云服務(wù),軟硬件捆綁或純軟件的應(yīng)用交付,直到完全的融合型陣列。有些實現(xiàn)試圖擁抱并包容傳統(tǒng)存儲架構(gòu),而另一些則是純粹的專門設(shè)計。
從 Helion公有云開始,惠普提供了全系列的對象存儲產(chǎn)品。對于內(nèi)部和私有云環(huán)境,惠普的StoreAll 820存儲網(wǎng)關(guān)應(yīng)用可作為前端搭載StoreServe 7000型或10000型陣列,也就是3PAR陣列。StoreAll 8800則是基于3PAR的一個完全的融合性陣列,在同一設(shè)備里支持SAN,NAS和對象存儲。因此,惠普的產(chǎn)品針對了每種類型和大小的客戶,從小型到中小型(SMBs)再到***的企業(yè)集團。
新興對象存儲廠商Exablox的***個產(chǎn)品是OneBlox應(yīng)用,其架構(gòu)是一群對等節(jié)點組成的“環(huán)”,待存儲對象通過支持SMB/CIFS的通用文件系統(tǒng)在這些節(jié)點上被存儲。有一點值得注意,OneBlox應(yīng)用可以支持任何SAS或SATA硬盤驅(qū)動器,即使是剛剛發(fā)行的***款—如西數(shù)的HGST Ultrastar He66TB充氦型硬盤。IT企業(yè)可以從它們喜愛的電子設(shè)備商采購硬盤,因而避免了常見的陣列加價。Exablox針對中小型企業(yè)和云服務(wù)提供商,目前已有2000用戶。
昆騰Lattus對象存儲應(yīng)用的配置可以從6節(jié)點擴展到20節(jié)點,這些節(jié)點在地理上分散以使得廣域接入和協(xié)作成為可能。 Lattus有三種模式:D,X和M模式。D模式支持原生的S3接口(HTTP Rest);X模式支持NFS,CIFS和HTTPREST協(xié)議;M模式則支持昆騰的StorNext存儲管理接口。Lattus是業(yè)務(wù)無中斷,自修復(fù)和自遷移的系統(tǒng),主要面向大中型企業(yè),尤其是媒體和娛樂行業(yè),或者那些需要進行計算/處理/編輯的應(yīng)用場景。
EMC提供多種對象存儲產(chǎn)品。 Atmos可以以云服務(wù)的形式交付,稱為Atmos Geo Drive,但也可以作為完全的陣列形式交付。EMC的SourceOne歸檔應(yīng)用則通過采用CIFS和NFS協(xié)議將文件接口轉(zhuǎn)換為Atmos對象存儲,從而提供歸檔,合規(guī)和電子發(fā)現(xiàn)功能。此外,EMC的ViPR軟件定義存儲平臺提供對象服務(wù),作為EMC Isilon,VNX,或NetApp陣列的前端,可允許對象訪問到達后端數(shù)據(jù)層。
簡單是關(guān)鍵
對象存儲與傳統(tǒng)存儲的差異反映出它的一個關(guān)鍵優(yōu)勢:簡單性。當(dāng)今大多數(shù)IT企業(yè)并不哀嘆缺乏技術(shù),而是一再增加系統(tǒng)的復(fù)雜性。與此相反,對象存儲系統(tǒng)的特點正是實施和管理上的簡單性。比如Exablox聲稱OneBlox應(yīng)用的安裝和配置是如此簡單以至于有那么個不太較真的“卡布奇諾挑戰(zhàn)賽”,即Exablox演示如何將他們的設(shè)備開箱,上電,安裝硬盤到存儲數(shù)據(jù),整個過程所花時間和品嘗一杯卡布奇諾咖啡的時間相當(dāng)。
由于對象存儲不依賴于LUNs和卷,因此可實現(xiàn)無中斷擴展。通常,新的存儲容量可以通過簡單配置加入到運行系統(tǒng)中。Exablox和昆騰都聲稱用戶將永遠不會再經(jīng)歷大規(guī)模升級,系統(tǒng)配置或重新配置。這種擴展性是由設(shè)備底層的文件系統(tǒng)所實現(xiàn)的,比如惠普的StoreAll系統(tǒng)使用StoreAll分布式文件系統(tǒng),而Exablox則使用它們的環(huán)形架構(gòu)和通用文件系統(tǒng)。它們與其他的對象存儲系統(tǒng)一樣,很像橫向擴展(scale-out)存儲系統(tǒng),由文件系統(tǒng)來實現(xiàn)了跨節(jié)點的全局命名空間。然而需要留心的是,由于擴展性并非***的,在某一特定配置下,廠商對所支持節(jié)點的個數(shù)確實有限制。
對象友好的應(yīng)用
這里提到離散用例的一個主要原因是對象存儲是使用REST API進行訪問,該API的數(shù)據(jù)訪問命令僅限最基本的POST,GET,PUT和DELETE操作,然而很多云供應(yīng)商卻親睞REST作為***接口。為了提供更豐富的功能,惠普StoreAll產(chǎn)品是一個融合的文件和對象系統(tǒng),它的操作系統(tǒng)支持CIFS, NFS, OpenStack, Identity Services, Swift和Keystone等協(xié)議。EMC的云網(wǎng)關(guān)應(yīng)用SourceOne和Cloud Tiering,將CIFS和NFS翻譯成Atoms對象存儲,以及除歸檔外的其它一系列第三方應(yīng)用程序。昆騰在它的Lattus對象存儲產(chǎn)品中捆綁了 RESTful接口,該接口允許昆騰與其他公司如CommVault(Simpana)和Arkivio等展開合作。Exablox的OneBlox支持 REST,但是作為一個CIFS共享呈現(xiàn)給應(yīng)用程序,NFS的支持尚在開發(fā)中。
#p#
對象存儲和數(shù)據(jù)持久性
由于對象存儲并不依賴RAID做故障保護,廠商們需要別的策略來完成。大多數(shù)情況下,這涉及到跨節(jié)點的復(fù)制。昆騰Lattus可以部署持久性策略,即IT經(jīng)理可以指定跨節(jié)點和地點的不同復(fù)制策略,以應(yīng)對一定數(shù)量的節(jié)點故障。如20/4策略可將數(shù)據(jù)分散復(fù)制到20個節(jié)點,從而避免最多4個節(jié)點發(fā)生故障而導(dǎo)致數(shù)據(jù)損失;18/7策略則是將數(shù)據(jù)復(fù)制到3個節(jié)點以應(yīng)對單點故障的數(shù)據(jù)損失。Exablox的OneBlox也將數(shù)據(jù)復(fù)制到其他節(jié)點,其中復(fù)制到3個節(jié)點的數(shù)據(jù)可以避免兩節(jié)點故障的數(shù)據(jù)損失;而如何將數(shù)據(jù)在節(jié)點間做***化分布則由一個哈希算法來保障。
EMC的Atmos擁有兩套保護模式供IT經(jīng)理來決定如何優(yōu)化可達性與效率。數(shù)據(jù)復(fù)制是一種選擇,無論是同步還是異步。此外,該產(chǎn)品還采用分布式可擦除編碼,它具有較高的存儲利用率,但每次數(shù)據(jù)請求都需要訪問兩個或更多地數(shù)據(jù)存儲。昆騰的Lattus同樣使用fountain可擦除編碼,使數(shù)據(jù)在各節(jié)點間分布,而不再需要復(fù)制。
其它高級存儲服務(wù)
由于REST API的固有限制,廠商們不得不使用各自的方式來提供API基本功能以外的存儲服務(wù)。這也正是惠普將StoreAll實現(xiàn)為一個融合設(shè)備的原因之一,在需要一整套存儲服務(wù)的應(yīng)用環(huán)境里惠普可以充分利用NAS端已經(jīng)具備的特性。例如,當(dāng)StoreAll 8200和StoreAll 8800使用3PAR作為存儲后端時,系統(tǒng)即內(nèi)置了惠普的自適應(yīng)優(yōu)化,加密,WORM(Write Once Read Many)和分層等功能特性。
由于沒有遺留系統(tǒng)需要加以考慮,Exablox采取了一條完全不同的道路。它將數(shù)據(jù)管理的原子單位設(shè)置為32KB的哈希塊。如果一個塊已存在,則創(chuàng)建指向它的指針,而不是一個新塊。因而該公司聲稱他們的重復(fù)數(shù)據(jù)刪除功能是“免費”的。數(shù)據(jù)加密則使用AES 256標準來實現(xiàn)。
對象存儲的性能改進
盡管IT用戶確實不會在OLTP應(yīng)用中使用對象存儲系統(tǒng),廠商們依然在努力提高其系統(tǒng)性能。例如,EMC使用一種“boxcarting”的方法來處理大量小交易,即將這些小交易合并在一個單次寫操作中。Exablox則采用不同技術(shù),他們的哈希算法能將數(shù)據(jù)平均分布到所有節(jié)點從而避免I/O瓶頸。
盡管對象存儲系統(tǒng)確實不會用于OLTP應(yīng)用,廠商們依然在努力提高其系統(tǒng)性能。
相較于SAN和NAS的復(fù)雜性,盡管對象存儲也并非銀彈,但是它確實能夠簡化至少一部分存儲投資,特別是在歸檔和非結(jié)構(gòu)化數(shù)據(jù)存儲方面。對象存儲可以提供更低的每GB價格,而***的優(yōu)點則是簡化了存儲管理。按照通常所認為的那樣,如果存儲管理的成本占據(jù)了總擁有成本的85%,那么對象存儲系統(tǒng)由于無需配置,重新配置和部署任務(wù),必將極大地影響總擁有成本。IT經(jīng)理們將會想辦法將對象存儲納入到企業(yè)IT信息架構(gòu)中來。
原文鏈接:什么是對象存儲?