導(dǎo)語:海量小文件的元數(shù)據(jù)管理、存儲(chǔ)性能以及訪問效率等問題是目前學(xué)術(shù)界和工業(yè)界公認(rèn)的難題。杉巖海量對(duì)象存儲(chǔ)MOS利用包括小文件聚合功能在內(nèi)的獨(dú)特技術(shù),幫助用戶應(yīng)對(duì)存儲(chǔ)資源浪費(fèi)、效率低下等諸多挑戰(zhàn),成就大數(shù)據(jù)與人工智能時(shí)代的企業(yè)核心競(jìng)爭(zhēng)力。
海量小文件存儲(chǔ)訪問帶來公認(rèn)難題
當(dāng)今世界,互聯(lián)網(wǎng)、大數(shù)據(jù)應(yīng)用迅猛發(fā)展,物聯(lián)網(wǎng)、人工智能、云計(jì)算 技術(shù)日新月異,隨之而來的是各種企業(yè)和個(gè)人應(yīng)用持續(xù)不斷地產(chǎn)生億級(jí)甚至是百億級(jí)的海量小文件。這些小文件的元數(shù)據(jù)管理、存儲(chǔ)性能以及訪問效率等問題因而成為學(xué)術(shù)界和工業(yè)界公認(rèn)的難題。
例如,國(guó)內(nèi)目前最大的電商網(wǎng)站淘寶存儲(chǔ)的商品圖片超過 200 億張,這些文件的平均大小僅為 15KB 左右,國(guó)外著名的社交網(wǎng)站Facebook 存儲(chǔ)的圖片總量更是超過了600億張;在線視頻播放服務(wù)中,每個(gè)視頻會(huì)被切片服務(wù)器分割成 1MB 左右的分片文件,一部動(dòng)畫電影所包含的圖片文件可能會(huì)超過 500 萬張,平均大小為15KB;一些在線閱讀圖書每頁內(nèi)容均會(huì)被掃描成大約幾十KB的圖片文件……
因此,在購(gòu)物網(wǎng)站、廣電、網(wǎng)絡(luò)視頻等場(chǎng)景下的應(yīng)用,存儲(chǔ)系統(tǒng)中小文件數(shù)量眾多,其空間占用一般在1M以下,操作特征為一次寫入,多次讀取。由于每個(gè)小文件存儲(chǔ)都會(huì)執(zhí)行一次全寫流程,操作頻繁,使得分布式文件系統(tǒng)的磁盤壓力劇增并導(dǎo)致以下兩方面的問題:
資源浪費(fèi):海量小文件的數(shù)據(jù)讀取時(shí),往往每個(gè)小文件的大小都小于一次數(shù)據(jù)傳輸?shù)淖钚K大小。也就是無論真正有用的數(shù)據(jù)量多大,都會(huì)獲取固定大小的數(shù)據(jù),這使得有用數(shù)據(jù)占獲取數(shù)據(jù)量比例過低,從而導(dǎo)致內(nèi)存、帶寬的浪費(fèi)。
高訪問延遲:當(dāng)用戶讀取大量小文件時(shí),首先選擇與元數(shù)據(jù)服務(wù)器交互,當(dāng)訪問過于集中、信息交互過于頻繁時(shí),所產(chǎn)生的延遲顯而易見。并且,由于很多系統(tǒng)目前并沒有提供針對(duì)高訪問延遲的預(yù)取功能,在數(shù)據(jù)存儲(chǔ)中沒有考慮文件之間的關(guān)聯(lián)性,因而加劇了延遲問題。
杉巖MOS二大必殺技應(yīng)對(duì)海量小文件存儲(chǔ)挑戰(zhàn)
針對(duì)上述難題,杉巖數(shù)據(jù)推出了自己的獨(dú)門絕技,來幫助用戶應(yīng)對(duì)典型應(yīng)用場(chǎng)景下的存儲(chǔ)挑戰(zhàn)。這其中包括:面向全局存儲(chǔ)資源的條帶化,確保應(yīng)用數(shù)據(jù)的并發(fā)寫入、讀??;提供小文件聚合功能,有效降低小文件寫入磁盤次數(shù)、減輕寫數(shù)據(jù)壓力;提高磁盤使用率,讀小文件時(shí)將所在對(duì)象讀入緩存,提高讀命中率、縮短讀I/O路徑。
技術(shù)優(yōu)勢(shì)一::小文件聚合解決存儲(chǔ)性能大難題
首先,杉巖MOS小文件聚合技術(shù)將碎片化小文件聚合成一個(gè)大文件,在數(shù)據(jù)讀寫時(shí)提前讀取相關(guān)數(shù)據(jù),提高緩存命中率,使得小文件(128KB以內(nèi))讀寫性能提高100%,讀集群性能提高50%。
原因在于,相比小文件,聚合文件在寫入時(shí)大幅減少了數(shù)據(jù)寫OSD(基于對(duì)象的存儲(chǔ)設(shè)備)的次數(shù),減少了OSD的寫入壓力,因而大大減少了客戶端對(duì)本地緩存(內(nèi)存)的使用。小文件順序?qū)憰r(shí),數(shù)據(jù)寫OSD次數(shù)分別可以減少99.9%(4KB),98.4%(64KB),96.8%(128KB)。
杉巖MOS在小文件順序讀時(shí),亦可以有效縮短IO路徑。原因是,在聚合條件下,小文件分別可以獲得99.9%(4KB),98.4%(64KB),96.8%(128KB)的緩存命中率,從而縮短IO路徑,提升讀文件性能,小文件隨機(jī)讀的緩存命中率也能達(dá)到85%以上。
其次,以重新寫代替修改寫,降低寫延遲。由于小文件一般情況下一次寫操作即可完成,同時(shí)為了降低復(fù)雜度,MOS對(duì)于已下盤到聚合文件的小文件不采取修改寫方式,而是采取"讀取源文件->刪除聚合文件中的源文件->重新寫普通文件"的方式進(jìn)行修改寫入,以降低寫延遲。第三,建立智能定時(shí)掃描、碎片整理、垃圾清理機(jī)制,提高存儲(chǔ)空間利用率。在聚合文件中,多個(gè)源文件共用一個(gè)對(duì)象,刪除源文件并不能真正釋放所占用的空間,所以導(dǎo)致存儲(chǔ)空間的浪費(fèi);同時(shí),源文件數(shù)量的減少還導(dǎo)致在讀取文件時(shí)緩存命中率降低,影響讀性能。為此,MOS采用可配置的定時(shí)掃描聚合文件信息:聚合文件的使用率低于p(設(shè)定值)且t時(shí)間(設(shè)定值)內(nèi)沒有修改過,則將聚合文件放入清理隊(duì)列;掃描處理完所有聚合文件,若清理隊(duì)列有需要清理的聚合文件,則觸發(fā)碎片整理,從而提高空間利用率。
垃圾清理的任務(wù)就是計(jì)算聚合文件中有效數(shù)據(jù)在文件總大小中的占比,當(dāng)?shù)陀谠O(shè)定的閾值,且當(dāng)聚合文件在t時(shí)間內(nèi)無修改時(shí),系統(tǒng)對(duì)聚合文件進(jìn)行清理,以提高存儲(chǔ)空間利用率、提升小文件讀性能。
技術(shù)優(yōu)勢(shì)二:通過數(shù)據(jù)預(yù)讀提高讀取速度
杉巖MOS在讀取某個(gè)目錄下的文件時(shí),會(huì)順序預(yù)加載該文件后面的幾個(gè)文件內(nèi)容到緩存中,以加快其讀取速度;此外,還使用多節(jié)點(diǎn)并發(fā)讀操作,以加快預(yù)讀速度。
同時(shí),在非同步讀取目錄下的文件時(shí),MOS還會(huì)觸發(fā)對(duì)其后續(xù)文件的讀請(qǐng)求,且這些讀請(qǐng)求是異步的,不影響本次用戶讀操作的返回。如果用戶緊接著讀取下一個(gè)文件,且此操作不是同步操作,那么就可以直接將本地緩存的數(shù)據(jù)讀出,從而避免了與OSD的交互,提高了性能。
與此同時(shí),在預(yù)讀文件時(shí),若有對(duì)該文件的寫入操作,MOS會(huì)把當(dāng)前讀文件放入到等待讀隊(duì)列中并返回,等寫完成后再發(fā)信號(hào)通知重新讀該文件,并將之放入到本地緩存,從而提高用戶讀取速度。
由于上述獨(dú)特的技術(shù)機(jī)制,杉巖海量對(duì)象存儲(chǔ)產(chǎn)品MOS很好地解決了小文件讀寫速度慢、訪問延遲高、資源浪費(fèi)等問題,幫助廣電、電商、網(wǎng)絡(luò)視頻等用戶從容應(yīng)對(duì)海量小文件存儲(chǔ)與訪問挑戰(zhàn)。目前,杉巖數(shù)據(jù)系統(tǒng)已經(jīng)在金融、電信、政府、公安、大企業(yè)等行業(yè)客戶中得到廣泛應(yīng)用,充分驗(yàn)證了其領(lǐng)先技術(shù)。未來,杉巖MOS軟件定義存儲(chǔ)將繼續(xù)引領(lǐng)大數(shù)據(jù)與人工智能時(shí)代的存儲(chǔ)技術(shù),為用戶增加其企業(yè)的核心競(jìng)爭(zhēng)力不斷創(chuàng)新。
電子發(fā)燒友App









































































評(píng)論