浪潮AS13000為你破解小文件存儲的大難題

搜狐新聞
佚名
海量小文件存儲訪問帶來公認難題 當今世界,互聯(lián)網(wǎng)、大數(shù)據(jù)應用迅猛發(fā)展,物聯(lián)網(wǎng)、人工智能、云計算 技術(shù)日新月異,隨之而來的是各種企業(yè)和個人應用持續(xù)不斷地產(chǎn)生億級甚至是百億級的海量小文件。這些小文件的元...

海量小文件存儲訪問帶來公認難題

當今世界,互聯(lián)網(wǎng)、大數(shù)據(jù)應用迅猛發(fā)展,物聯(lián)網(wǎng)、人工智能、云計算 技術(shù)日新月異,隨之而來的是各種企業(yè)和個人應用持續(xù)不斷地產(chǎn)生億級甚至是百億級的海量小文件。這些小文件的元數(shù)據(jù)管理、存儲性能以及訪問效率等問題因而成為學術(shù)界和工業(yè)界公認的難題。

例如,國內(nèi)目前最大的電商網(wǎng)站淘寶存儲的商品圖片超過 200 億張,這些文件的平均大小僅為 15KB 左右,國外著名的社交網(wǎng)站Facebook 存儲的圖片總量更是超過了600億張;在線視頻播放服務(wù)中,每個視頻會被切片服務(wù)器分割成 1MB 左右的分片文件,一部動畫電影所包含的圖片文件可能會超過 500 萬張,平均大小為15KB;一些在線閱讀圖書每頁內(nèi)容均會被掃描成大約幾十KB的圖片文件……

因此,在購物網(wǎng)站、廣電、網(wǎng)絡(luò)視頻等場景下的應用,存儲系統(tǒng)中小文件數(shù)量眾多,其空間占用一般在1M以下,操作特征為一次寫入,多次讀取。由于每個小文件存儲都會執(zhí)行一次全寫流程,操作頻繁,使得分布式文件系統(tǒng)的磁盤壓力劇增并導致以下兩方面的問題:

資源浪費:海量小文件的數(shù)據(jù)讀取時,往往每個小文件的大小都小于一次數(shù)據(jù)傳輸?shù)淖钚K大小。也就是無論真正有用的數(shù)據(jù)量多大,都會獲取固定大小的數(shù)據(jù),這使得有用數(shù)據(jù)占獲取數(shù)據(jù)量比例過低,從而導致內(nèi)存、帶寬的浪費。

高訪問延遲:當用戶讀取大量小文件時,首先選擇與元數(shù)據(jù)服務(wù)器交互,當訪問過于集中、信息交互過于頻繁時,所產(chǎn)生的延遲顯而易見。并且,由于很多系統(tǒng)目前并沒有提供針對高訪問延遲的預取功能,在數(shù)據(jù)存儲中沒有考慮文件之間的關(guān)聯(lián)性,因而加劇了延遲問題。

浪潮AS13000二大必殺技應對海量小文件存儲挑戰(zhàn)

針對上述難題,浪潮AS13000軟件定義存儲系統(tǒng)推出了自己的獨門絕技,來幫助用戶應對典型應用場景下的存儲挑戰(zhàn)。這其中包括:面向全局存儲資源的條帶化,確保應用數(shù)據(jù)的并發(fā)寫入、讀??;提供小文件聚合功能,有效降低小文件寫入磁盤次數(shù)、減輕寫數(shù)據(jù)壓力;提高磁盤使用率,讀小文件時將所在對象讀入緩存,提高讀命中率、縮短讀I/O路徑。本文重點闡述浪潮AS13000在小文件IO優(yōu)化方面的技術(shù)優(yōu)勢。

技術(shù)優(yōu)勢一::小文件聚合解決存儲性能大難題

首先,浪潮AS13000小文件聚合技術(shù)將碎片化小文件聚合成一個大文件,在數(shù)據(jù)讀寫時提前讀取相關(guān)數(shù)據(jù),提高緩存命中率,使得小文件(128KB以內(nèi))讀寫性能提高100%,讀集群性能提高50%。

圖1:小文件聚合技術(shù)示意圖1

原因在于,相比小文件,聚合文件在寫入時大幅減少了數(shù)據(jù)寫OSD(基于對象的存儲設(shè)備)的次數(shù),減少了OSD的寫入壓力,因而大大減少了客戶端對本地緩存(內(nèi)存)的使用。小文件順序?qū)憰r,數(shù)據(jù)寫OSD次數(shù)分別可以減少99.9%(4KB),98.4%(64KB),96.8%(128KB)。

AS13000在小文件順序讀時,亦可以有效縮短IO路徑。原因是,在聚合條件下,小文件分別可以獲得99.9%(4KB),98.4%(64KB),96.8%(128KB)的緩存命中率,從而縮短IO路徑,提升讀文件性能,小文件隨機讀的緩存命中率也能達到85%以上。

其次,以重新寫代替修改寫,降低寫延遲。由于小文件一般情況下一次寫操作即可完成,同時為了降低復雜度,AS13000對于已下盤到聚合文件的小文件不采取修改寫方式,而是采取"讀取源文件->刪除聚合文件中的源文件->重新寫普通文件"的方式進行修改寫入,以降低寫延遲。第三,建立智能定時掃描、碎片整理、垃圾清理機制,提高存儲空間利用率。在聚合文件中,多個源文件共用一個對象,刪除源文件并不能真正釋放所占用的空間,所以導致存儲空間的浪費;同時,源文件數(shù)量的減少還導致在讀取文件時緩存命中率降低,影響讀性能。為此,AS13000采用可配置的定時掃描聚合文件信息:聚合文件的使用率低于p(設(shè)定值)且t時間(設(shè)定值)內(nèi)沒有修改過,則將聚合文件放入清理隊列;掃描處理完所有聚合文件,若清理隊列有需要清理的聚合文件,則觸發(fā)碎片整理,從而提高空間利用率。

垃圾清理的任務(wù)就是計算聚合文件中有效數(shù)據(jù)在文件總大小中的占比,當?shù)陀谠O(shè)定的閾值,且當聚合文件在t時間內(nèi)無修改時,系統(tǒng)對聚合文件進行清理,以提高存儲空間利用率、提升小文件讀性能。

圖2:聚合文件使用率低于p值時進行垃圾清理,重新寫入新聚合文件

技術(shù)優(yōu)勢二:通過數(shù)據(jù)預讀提高讀取速度

浪潮AS13000在讀取某個目錄下的文件時,會順序預加載該文件后面的幾個文件內(nèi)容到緩存中,以加快其讀取速度;此外,還使用多節(jié)點并發(fā)讀操作,以加快預讀速度。

圖3:數(shù)據(jù)預讀技術(shù)加快存儲數(shù)據(jù)讀取速度1

同時,在非同步讀取目錄下的文件時,AS13000還會觸發(fā)對其后續(xù)文件的讀請求,且這些讀請求是異步的,不影響本次用戶讀操作的返回。如果用戶緊接著讀取下一個文件,且此操作不是同步操作,那么就可以直接將本地緩存的數(shù)據(jù)讀出,從而避免了與OSD的交互,提高了性能。

與此同時,在預讀文件時,若有對該文件的寫入操作,AS13000會把當前讀文件放入到等待讀隊列中并返回,等寫完成后再發(fā)信號通知重新讀該文件,并將之放入到本地緩存,從而提高用戶讀取速度。

由于上述獨特的技術(shù)機制,浪潮AS13000軟件定義存儲產(chǎn)品很好地解決了小文件讀寫速度慢、訪問延遲高、資源浪費等問題,幫助廣電、電商、網(wǎng)絡(luò)視頻等用戶從容應對海量小文件存儲與訪問挑戰(zhàn)。目前,AS13000系統(tǒng)已經(jīng)在中國資源衛(wèi)星應用中心、國家廣電總局、濟南商行、中國移動、成都交通等金融、電信、政府、公安、大企業(yè)等行業(yè)客戶中得到廣泛應用,充分驗證了其領(lǐng)先技術(shù)。未來,浪潮AS13000軟件定義存儲將繼續(xù)引領(lǐng)大數(shù)據(jù)與人工智能時代的存儲技術(shù),為用戶增加其企業(yè)的核心競爭力不斷創(chuàng)新。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論