01
概述
塊存儲和文件存儲是我們比較熟悉的兩種主流的存儲類型,而對象存儲(Object-based Storage)是一相對比較新的存儲技術(shù),基于對象存儲技術(shù)的設(shè)備就是對象存儲設(shè)備(Object-based Storage Device)簡稱OSD。 對象存儲是無層次結(jié)構(gòu)的數(shù)據(jù)存儲方法,不同于其他數(shù)據(jù)存儲方法,基于對象的存儲不使用目錄樹。各個單獨的數(shù)據(jù)(對象)單元存在于存儲池中的同一級別,供應(yīng)用進(jìn)行檢索。此外,每個對象可包含有助于檢索的元數(shù)據(jù)。每個對象都分配一個對象ID(或唯一標(biāo)識符),使它們可以從單個存儲庫或存儲池中檢索,因為它提供了更大的靈活性,可以將數(shù)據(jù)放置在基于數(shù)據(jù)塊和文件的存儲解決方案之外。對象存儲與文件系統(tǒng)存儲或塊存儲不同,它不是通過塊地址或文件名引用數(shù)據(jù),而是將數(shù)據(jù)存儲為對象并由對象ID(或唯一標(biāo)識符)引用。另外對象存儲一般為分布式橫向擴(kuò)展多節(jié)點的架構(gòu)。02
什么是對象
03
對象存儲的主要特點
-
數(shù)據(jù)作為單獨的對象進(jìn)行存儲;
-
數(shù)據(jù)并不放置在目錄層次結(jié)構(gòu)中,而是存在于平面地址空間內(nèi);
-
應(yīng)用通過唯一地址(對象ID或者唯一標(biāo)識符)來識別每個單獨的數(shù)據(jù)對象,可用代客泊車作類比,每個數(shù)據(jù)對象就像一輛車;
-
專為使用 API 在應(yīng)用級別(而非用戶級別)進(jìn)行訪問而設(shè)計。
04
數(shù)據(jù)訪問流程
-
客戶端應(yīng)用發(fā)出讀請求;
-
文件系統(tǒng)向元數(shù)據(jù)服務(wù)器發(fā)送請求,獲取要讀取的數(shù)據(jù)所在的OSD;
-
然后直接向每個OSD發(fā)送數(shù)據(jù)讀取請求;
-
OSD得到請求以后,判斷要讀取的Object,并根據(jù)此Object要求的認(rèn)證方式,對客戶端進(jìn)行認(rèn)證,如果此客戶端得到授權(quán),則將Object的數(shù)據(jù)返回給客戶端;
-
文件系統(tǒng)收到OSD返回的數(shù)據(jù)以后,讀操作完成。
寫操作步驟類似。
05
對象存儲 VS 塊級和文件級存儲
有大量的基于塊和基于文件的存儲系統(tǒng)可供選擇,我們?yōu)槭裁葱枰硗庖环N存儲技術(shù)呢?塊和文件都是成熟且經(jīng)過驗證的,所以也許看起來好像他們可以增強(qiáng)以滿足日益增長的分布式云計算生態(tài)系統(tǒng)的需求?;趬K的存儲系統(tǒng),磁盤塊通過底層存儲協(xié)議訪問,像SCSI命令,開銷很小而且沒有其它額外的抽象層。這是訪問磁盤數(shù)據(jù)最快的方式,所有高級別的任務(wù),像多用戶訪問、共享、鎖定和安全通常由操作系統(tǒng)負(fù)責(zé)。換句話講,基于塊的存儲關(guān)心所有底層的問題,但其它事情都要依靠高層的應(yīng)用程序?qū)崿F(xiàn)。所有的對象存儲擁有基于塊存儲的節(jié)點,并且利用對象存儲軟件集合提供所有其它的功能。
基于塊的存儲系統(tǒng)是對象存儲系統(tǒng)的補(bǔ)充,而基于文件的存儲系統(tǒng)一般被認(rèn)為是直接的競爭者。橫向擴(kuò)展的NAS系統(tǒng)的關(guān)鍵屬性就是擴(kuò)展性,對象存儲也是這樣,通過增加存儲節(jié)點實現(xiàn)水平擴(kuò)展。但由于NAS系統(tǒng)是基于分層文件結(jié)構(gòu)的有限的命名空間,它們對于有著接近無限擴(kuò)展能力的、具有扁平結(jié)構(gòu)的純對象存儲來講,所受的約束更多,對象存儲僅受到對象ID的位數(shù)限制。另外橫向擴(kuò)展的NAS欠缺一些功能,像對于表征狀態(tài)轉(zhuǎn)移(REST)協(xié)議的支持,當(dāng)然廠商們正在快速的完善中,或許有一天就可以把橫向擴(kuò)展的NAS系統(tǒng)劃歸到對象存儲的類別中了。
06
對象存儲的優(yōu)勢
對象存儲的優(yōu)點在于它具有很強(qiáng)的伸縮性,并且在將屬性與對象相關(guān)聯(lián)方面具有高度的靈活性。對象存儲同時兼具SAN高級直接訪問磁盤特點及NAS的共享特點(但不是說SAN和NAS就完全不需要了,具體要看應(yīng)用場景)。核心是將數(shù)據(jù)通路(數(shù)據(jù)讀或?qū)?/span>)和控制通路(元數(shù)據(jù))分離,并且基于對象存儲設(shè)備(OSD)構(gòu)建分布式存儲系統(tǒng),每個對象存儲設(shè)備具備一定的職能,能夠自動管理其上的數(shù)據(jù)分布。
07
適用場景
-
對象存儲主要是為實現(xiàn)可伸縮性而設(shè)計的,因此它是公共云提供商的熱門選擇;
-
由于可以靈活地組織文件,它更適合需要頻繁讀取的數(shù)據(jù)。其中靜態(tài)內(nèi)容存儲和分發(fā)、備份和歸檔以及災(zāi)難恢復(fù)等使用情形恰好多為一次寫入、反復(fù)讀取,因此對象存儲是這些場景的絕配;
-
媒體和 Web 內(nèi)容的理想之選,但不適合需要定期修改的數(shù)據(jù)。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!