什么是對(duì)象存儲(chǔ)?與文件存儲(chǔ)相比,對(duì)象存儲(chǔ)有何不同?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
存儲(chǔ),雖然這已經(jīng)不是新的詞匯,但是存儲(chǔ)對(duì)于我們來說至關(guān)重要,尤其是在大數(shù)據(jù)時(shí)代。往期存儲(chǔ)相關(guān)文章中,小編對(duì)云存儲(chǔ)、組合式存儲(chǔ)等內(nèi)容有所介紹。為增進(jìn)大家對(duì)存儲(chǔ)的了解,本文將對(duì)對(duì)象存儲(chǔ)予以闡述,并探討對(duì)象存儲(chǔ)與文件存儲(chǔ)的不同之處?如果你對(duì)存儲(chǔ)具有興趣,不妨繼續(xù)往下閱讀哦。
一、對(duì)象存儲(chǔ)
對(duì)象存儲(chǔ),也叫做基于對(duì)象的存儲(chǔ),是用來描述解決和處理離散單元的方法的通用術(shù)語,這些離散單元被稱作為對(duì)象。
就像文件一樣,對(duì)象包含數(shù)據(jù),但是和文件不同的是,對(duì)象在一個(gè)層結(jié)構(gòu)中不會(huì)再有層級(jí)結(jié)構(gòu)。每個(gè)對(duì)象都在一個(gè)被稱作存儲(chǔ)池的扁平地址空間的同一級(jí)別里,一個(gè)對(duì)象不會(huì)屬于另一個(gè)對(duì)象的下一級(jí)。
文件和對(duì)象都有與它們所包含的數(shù)據(jù)相關(guān)的元數(shù)據(jù),但是對(duì)象是以擴(kuò)展元數(shù)據(jù)為特征的。每個(gè)對(duì)象都被分配一個(gè)唯一的標(biāo)識(shí)符,允許一個(gè)服務(wù)器或者最終用戶來檢索對(duì)象,而不必知道數(shù)據(jù)的物理地址。這種方法對(duì)于在云計(jì)算環(huán)境中自動(dòng)化和簡(jiǎn)化數(shù)據(jù)存儲(chǔ)有幫助。
對(duì)象存儲(chǔ)經(jīng)常被比作在一家高級(jí)餐廳代客停車。當(dāng)一個(gè)顧客需要代客停車時(shí),他就把鑰匙交給別人,換來一張收據(jù)。這個(gè)顧客不用知道他的車被停在哪,也不用知道在他用餐時(shí)服務(wù)員會(huì)把他的車移動(dòng)多少次。在這個(gè)比喻中,一個(gè)存儲(chǔ)對(duì)象的唯一標(biāo)識(shí)符就代表顧客的收據(jù)。
由于對(duì)象存儲(chǔ)將遍布于很多節(jié)點(diǎn)且最新的數(shù)據(jù)并非總是可用,這將成為對(duì)象存儲(chǔ)最終一致性的問題。
所有的數(shù)據(jù)存儲(chǔ)都涉及到簡(jiǎn)稱為CAP的三個(gè)元素:一致性、可用性和分區(qū)。
如果只是執(zhí)行了寫操作從而改變了一個(gè)對(duì)象,但有人正在從另外的節(jié)點(diǎn)訪問這個(gè)對(duì)象。節(jié)點(diǎn)可能會(huì)在不同的物理位置,因?yàn)閷?duì)象存儲(chǔ)支持很大的地理擴(kuò)展。新用戶可能正在讀取對(duì)象,但那是舊版本。這就是對(duì)象存儲(chǔ)的最終一致性問題,此時(shí)并沒有及時(shí)的同步。
這將成為問題,特別是利用對(duì)象存儲(chǔ)做協(xié)同的時(shí)候,廠商為保證對(duì)象存儲(chǔ)的一致性做了很好的工作,像是Joyent以及他的Manta 存儲(chǔ)服務(wù),一旦對(duì)象更改將不支持讀取舊的內(nèi)容。你必須等待,但你所讀取的內(nèi)容會(huì)是一致的。
企業(yè)對(duì)存儲(chǔ)的訴求有一定的延續(xù)性,但其訪問的介質(zhì)不外乎是主機(jī)、PC、移動(dòng)端以及應(yīng)用,針對(duì)不同的訪問介質(zhì)來看,面向?qū)ο蟠鎯?chǔ)的解決方案也有所不同。然而如果應(yīng)用軟件不支持HTTP下REST API的方式,需要以傳統(tǒng)文件服務(wù)器協(xié)議的方式訪問,則需要在面向存儲(chǔ)對(duì)象前面加一個(gè)網(wǎng)關(guān)進(jìn)行協(xié)議的轉(zhuǎn)換。
二、對(duì)象存儲(chǔ)和文件存儲(chǔ)有什么不同之處
1.概念,對(duì)象存儲(chǔ)也就是我們說的鍵值存儲(chǔ),其接口就是簡(jiǎn)單的GET,PUT,DEL和其他擴(kuò)展。
文件存儲(chǔ)通常支持POSIX接口,它跟傳統(tǒng)的文件系統(tǒng)是一個(gè)類型,區(qū)別在于分布式存儲(chǔ)提供了并行化的功能,如Ceph的CephFS。但有時(shí)也會(huì)把GFS,HDFS這種非POSIX接口的類文件存儲(chǔ)接口歸入此類。
2.IO特點(diǎn)區(qū)別,針對(duì)對(duì)象存儲(chǔ)來說,接口簡(jiǎn)單,一個(gè)對(duì)象就可以看成是一個(gè)文件,只能全寫全拼,都是以大文件為主,因此要求足夠的IO帶寬。
文件存儲(chǔ)的話具有更豐富的及入口,是需要考慮目錄、文件屬性等支持的。實(shí)現(xiàn)一個(gè)支持并行化的文件存儲(chǔ)應(yīng)該是很困難的。
3.Ceph支持,Ceph是同時(shí)支持對(duì)象存儲(chǔ)和文件存儲(chǔ)的,只是對(duì)應(yīng)的接口不同。對(duì)象存儲(chǔ)接口主要以S3與Swift為主,文件存儲(chǔ)的話是以libcephfs庫與posix接口為主。因此在接口上會(huì)存在一定的差異。
以上便是此次小編帶來的“存儲(chǔ)”相關(guān)內(nèi)容,通過本文,希望大家對(duì)對(duì)象存儲(chǔ)以及對(duì)象存儲(chǔ)和文件存儲(chǔ)的不同之處具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!