根據(jù)IDC在2018年底的預(yù)測顯示,由于大數(shù)據(jù)、AI、物聯(lián)網(wǎng)、5G等因素的驅(qū)動(dòng),全球的數(shù)據(jù)量在2025年將高達(dá)175ZB(1ZB=1024EB,1EB=1024PB)。在中國市場,由于AI技術(shù)在安防等領(lǐng)域的大規(guī)模落地與應(yīng)用,IDC預(yù)計(jì),中國將在2025年成為擁有數(shù)據(jù)量最大的地區(qū),甚至超過整個(gè)EMEA(歐洲+中東+非洲),其中絕大部分?jǐn)?shù)據(jù)是非結(jié)構(gòu)化數(shù)據(jù)。
海量數(shù)據(jù)時(shí)代來臨,但在這上空飄著一朵烏云——那就是海量小文件的存儲(chǔ)問題。
海量小文件是怎么產(chǎn)生的?
海量小文件:業(yè)內(nèi)通常將大小在1MB以內(nèi)的文件稱為小文件,百萬級(jí)數(shù)量及以上稱為海量,由此量化定義海量小文件。
首先我們來看一下海量小文件是怎么產(chǎn)生的?
人工智能、物聯(lián)網(wǎng)、智慧金融、智能安防、傳感器網(wǎng)絡(luò)、科學(xué)實(shí)驗(yàn)等應(yīng)用的發(fā)展產(chǎn)生了大量數(shù)據(jù),這些數(shù)據(jù)種類繁多,大小不一。不僅包括海量的大文件(大于1MB),也包括海量的小文件(小于1MB)。特別是小文件的數(shù)量將達(dá)到千萬級(jí)、億級(jí)甚至十億、百億級(jí)。
在智能安防領(lǐng)域有很多典型的海量小文件場景,人臉識(shí)別就是其中之一。人臉識(shí)別的基礎(chǔ)原理,就是通過將攝像機(jī)拍攝的圖片與視圖庫進(jìn)行比較,如果匹配則命中。對于一個(gè)大型城市來說,攝像機(jī)抓拍的圖片數(shù)量會(huì)達(dá)到百億級(jí)規(guī)模。在對這些原始數(shù)據(jù)進(jìn)行分析應(yīng)用的過程中就會(huì)涉及到對百億級(jí)規(guī)模的海量小文件的處理。
類似的還有智慧金融,這也是一個(gè)會(huì)產(chǎn)生海量小文件的場景。金融業(yè)務(wù)不僅有大量原始票據(jù)通過掃描形成圖片和描述信息文件,還有電子合同、簽名數(shù)據(jù)、人臉識(shí)別數(shù)據(jù)等。金融的影像數(shù)據(jù)一般單個(gè)文件大小為幾KB至幾百KB不等,文件數(shù)量達(dá)到數(shù)億至數(shù)十億級(jí)規(guī)模,并且逐年增長,需要做長期的保存。
海量小文件,存儲(chǔ)大煩惱
海量小文件體量龐大,但目前的文件系統(tǒng)包括本地文件系統(tǒng)、分布式文件系統(tǒng)都是匹配大文件場景的。從細(xì)節(jié)來說,如對元數(shù)據(jù)的管理、數(shù)據(jù)布局、緩存管理等的實(shí)現(xiàn)策略都側(cè)重于大文件,導(dǎo)致在海量小文件情況下,存儲(chǔ)處理性能極差。(比如日常的文件拷貝,如果拷貝一個(gè)大文件的電影到移動(dòng)硬盤,拷貝的速度能達(dá)到100MB/S,但是如果拷貝的是超過上萬個(gè)小圖片,拷貝速度可能不到5MB/s)
因此,海量小文件存儲(chǔ)問題一直被認(rèn)為是工業(yè)界和學(xué)術(shù)界的難題,是海量數(shù)據(jù)時(shí)代上空飄著的那朵烏云。如前面所講的智能安防、智慧金融的存儲(chǔ)架構(gòu)方案設(shè)計(jì),就需要重點(diǎn)考慮到存儲(chǔ)系統(tǒng)對于海量小文件的處理性能難題。
具體來說,導(dǎo)致海量小文件處理性能差的原因主要有如下三點(diǎn):
元數(shù)據(jù)管理低效的問題
講這個(gè)問題之前,我們先認(rèn)識(shí)一下元數(shù)據(jù)。在存儲(chǔ)系統(tǒng)中,數(shù)據(jù)分為兩部分進(jìn)行存儲(chǔ):一部分是真實(shí)數(shù)據(jù);另一部分是描述這份數(shù)據(jù)的元數(shù)據(jù),比如文件系統(tǒng)中文件的文件名、文件大小、執(zhí)行權(quán)限等。元數(shù)據(jù)有著明顯特點(diǎn),那就是數(shù)量多,而且容量小。
在通用的文件系統(tǒng)設(shè)計(jì)中,如果需要訪問一份真實(shí)的數(shù)據(jù)就需要先訪問到該數(shù)據(jù)的元數(shù)據(jù)。可是我們知道,當(dāng)前主流的文件系統(tǒng)基本都是面向大文件設(shè)計(jì)的,在海量小文件的情況下,因?yàn)楸厝粫?huì)產(chǎn)生更大數(shù)量級(jí)的元數(shù)據(jù),這會(huì)放大文件系統(tǒng)擴(kuò)展性差、檢索效率低的問題。比如傳統(tǒng)NAS存儲(chǔ)采用二叉樹結(jié)構(gòu)進(jìn)行數(shù)據(jù)的存放,這種方法在遇到海量小文件的時(shí)候,文件系統(tǒng)在存儲(chǔ)海量小文件的同時(shí)還需要存儲(chǔ)更大數(shù)據(jù)級(jí)的海量元數(shù)據(jù),NAS存儲(chǔ)在擴(kuò)展性和檢索速度方面很容易就達(dá)到了瓶頸。所以,傳統(tǒng)的NAS文件系統(tǒng)在海量小文件下,性能衰減得異常厲害,一般文件數(shù)量級(jí)到達(dá)千萬級(jí)的時(shí)候效率就會(huì)變得極其低效。
因此,如果想要徹底解決海量小文件的問題,首先就需要存儲(chǔ)系統(tǒng)有一個(gè)健壯高效的元數(shù)據(jù)管理平臺(tái)(庫)。如果沒有核心技術(shù)解決這個(gè)問題,這個(gè)存儲(chǔ)系統(tǒng)即使在其他方面的優(yōu)化做得再好,也僅能滿足幾個(gè)億級(jí)別的小文件存儲(chǔ),而無法滿足百億級(jí)別的小文件存儲(chǔ)。
I/O訪問流程復(fù)雜的問題
傳統(tǒng)的文件系統(tǒng)在文件讀寫的時(shí)候流程過于復(fù)雜,在讀取一個(gè)文件的時(shí)候,需要產(chǎn)生多次IO。例如對于Linux系統(tǒng)在讀取文件的時(shí)候,至少需要先讀取文件目錄元數(shù)據(jù)到內(nèi)存,緊接著把文件的索引節(jié)點(diǎn)(inode)裝載到內(nèi)存,最后再讀取實(shí)際的文件內(nèi)容,在訪問數(shù)據(jù)過程中會(huì)多次讀取元數(shù)據(jù),效率極低。
機(jī)械磁盤對于隨機(jī)小IO讀寫性能低
當(dāng)前很多文件系統(tǒng)都是將元數(shù)據(jù)分散存儲(chǔ),從真實(shí)存儲(chǔ)的位置來看分散在存儲(chǔ)的所有磁盤當(dāng)中,因此元數(shù)據(jù)的讀寫屬于隨機(jī)的IO。然而機(jī)械磁盤對于隨機(jī)的IO性能極低,因此在海量小文件的場景下由于元數(shù)據(jù)讀寫會(huì)產(chǎn)生隨機(jī)高頻次的I/O讀寫,對于當(dāng)前以機(jī)械盤為主的存儲(chǔ)系統(tǒng)來說,性能極差。
(采用全閃存效果會(huì)比較好,但是目前來說,對于海量的非結(jié)構(gòu)化數(shù)據(jù)若使用全閃存,從成本來看并不現(xiàn)實(shí))
解決海量小文件存儲(chǔ)難題,需要對癥下藥
綜合上述分析,如果想要解決好海量小文件的存儲(chǔ)難題,就需要對癥下藥。對于海量小文件的存儲(chǔ)優(yōu)化可以從元數(shù)據(jù)管理、數(shù)據(jù)組織、I/O 流程優(yōu)化與緩存管理(業(yè)界通常稱為Cache管理)等幾個(gè)方面下手。具體的技術(shù)包括通過優(yōu)化元數(shù)據(jù)管理與數(shù)據(jù)組織方式、小文件合并、優(yōu)化緩存命中率等方面,來提升海量小文件的存儲(chǔ)性能支撐,從而達(dá)到提升海量小文件訪問效率的目的。
元數(shù)據(jù)的承載。正如上文所說,海量小文件處理的瓶頸在于對元數(shù)據(jù)的處理,業(yè)內(nèi)通常采用分布式數(shù)據(jù)庫實(shí)現(xiàn)。通過對元數(shù)據(jù)進(jìn)行獨(dú)立組織與承載,并通過元數(shù)據(jù)語義優(yōu)化、寫入優(yōu)化等,降低元數(shù)據(jù)在IO路徑和資源等方面不必要的性能消耗與寫入次數(shù)。匹配上優(yōu)化的技術(shù),減少IO數(shù)量,比如在處理業(yè)務(wù)高并發(fā)的時(shí)候,將并發(fā)的多個(gè)操作合并成一個(gè)操作,進(jìn)一步提升吞吐。最后,為了進(jìn)一步保障元數(shù)據(jù)的小IO高性能,通常將元數(shù)據(jù)存儲(chǔ)在SSD的數(shù)據(jù)分層空間中,進(jìn)一步加速元數(shù)據(jù)的訪問效率。
分布式智能緩存技術(shù)。針對海量小文件設(shè)計(jì)的分布式智能緩存層,能夠讓小文件在寫入SSD后即返回,縮短IO路徑,有效降低時(shí)延,提高性能。同時(shí)還可以有效降低原生糾刪碼的I/O寫入放大的問題,提高原生糾刪碼的性能,進(jìn)一步提升分布式存儲(chǔ)對海量小文件的性能支持。
小文件合并。通過將小文件落在智能緩存的同時(shí)還能夠?qū)⑿∥募诰€合并成大IO,然后通過條帶化技術(shù)(將大數(shù)據(jù)切分成小數(shù)據(jù)并發(fā)存儲(chǔ)到不同硬盤)寫入HDD,極大地提升了IO的性能。并且小文件合并還能夠減少文件數(shù)量,從而減少對應(yīng)的元數(shù)據(jù)數(shù)量,來提升性能。
行業(yè)難題與機(jī)遇往往相伴而行,各大廠商在攻克海量小文件存儲(chǔ)難題上各顯神通,既有老牌廠商,也有近年來異軍突起的新銳玩家。在這其中,深信服存儲(chǔ)宛若一個(gè)老道的新手,在海量小文件的處理上攜清晰的解題思路強(qiáng)勢入局。根據(jù)深信服公開的技術(shù)資料來看,其EDS對企業(yè)級(jí)分布式存儲(chǔ)處理海量小文件的性能優(yōu)化思路與前面講的幾點(diǎn)不謀而合,其核心技術(shù)點(diǎn)可以歸納為三點(diǎn):
第一,深信服推出了一個(gè)全新的分布式數(shù)據(jù)庫PhxKV來對獨(dú)立承載元數(shù)據(jù)。PhxKV具備優(yōu)秀的性能擴(kuò)展能力,能夠輕松承載數(shù)百億規(guī)模的元數(shù)據(jù),成為深信服支撐百億海量小文件高性能的堅(jiān)實(shí)基礎(chǔ)。深信服內(nèi)部進(jìn)行的性能測試顯示,PhxKV使用兩核時(shí)的吞吐,就能和MongoDB使用17核時(shí)的吞吐相當(dāng)。
第二,通過智能緩存技術(shù),采用高性能的SSD來加速海量小文件的讀寫效率并縮短I/O路徑。
第三,通過小文件合并技術(shù)來降低文件的數(shù)量,從而減少整體I/O讀寫頻次來提高I/O性能。
尤其是針對海量小文件的頑疾,深信服企業(yè)級(jí)分布式存儲(chǔ)EDS在性能提升方面表現(xiàn)搶眼,并且在權(quán)威機(jī)構(gòu)測試和用戶的實(shí)際應(yīng)用中得到檢驗(yàn)。
日前,深信服企業(yè)級(jí)分布式存儲(chǔ)EDS通過中國泰爾實(shí)驗(yàn)室權(quán)威機(jī)構(gòu)多項(xiàng)指標(biāo)測試驗(yàn)證,其中對海量小文件承載的性能表現(xiàn)很搶眼。根據(jù)測試數(shù)據(jù),深信服EDS通過三節(jié)點(diǎn)構(gòu)建的對象存儲(chǔ)能夠輕松承載100億小文件,且性能抖動(dòng)不超過5%;對象上傳速度達(dá)到15,000個(gè)/s,對象下載速度達(dá)到40,000個(gè)/s。
深信服EDS中國泰爾實(shí)驗(yàn)室測試內(nèi)容及結(jié)果
筆者還了解到,深信服EDS在處理海量小文件時(shí)呈現(xiàn)出的高性能,是通過軟件機(jī)制和優(yōu)化來最大程度發(fā)揮硬件長處、激發(fā)硬件潛能,最終實(shí)現(xiàn)用更低成本的硬件平臺(tái),也能夠獲得高性能,帶來的是更具性價(jià)比的解題思路。
海量小文件案例實(shí)踐
據(jù)深信服透露,南方某市公安反恐工程項(xiàng)目采用了深信服分布式存儲(chǔ)進(jìn)行智能安防的數(shù)據(jù)存儲(chǔ),其中涉及到3.5PB的視頻存儲(chǔ)以及數(shù)十億級(jí)別的人臉識(shí)別的海量小文件存儲(chǔ),是一個(gè)典型的大文件與海量小文件混合存儲(chǔ)的場景。
深信服企業(yè)級(jí)分布式存儲(chǔ)EDS采用對象存儲(chǔ)與平臺(tái)進(jìn)行對接,系統(tǒng)峰值每秒有將近3,000張圖片寫入存儲(chǔ)系統(tǒng)。目前存儲(chǔ)系統(tǒng)內(nèi)保存的海量小文件數(shù)量已經(jīng)超過50億,而且還在不斷增長當(dāng)中。得益于深信服在海量小文件的性能優(yōu)化,使得EDS平臺(tái)能夠從容應(yīng)對大并發(fā)的人臉識(shí)別系統(tǒng),并且滿足后續(xù)針對原始圖片數(shù)據(jù)的二次挖掘應(yīng)用。
對于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)來說,攻克了海量小文件存儲(chǔ)難題,基本代表了該存儲(chǔ)能夠適配絕大多數(shù)非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的場景。深信服分布式存儲(chǔ)基于軟件定義技術(shù)、采用通用的X86服務(wù)器與以太網(wǎng)交換機(jī),激發(fā)硬件潛能,在海量數(shù)據(jù)時(shí)代幫助用戶構(gòu)建一個(gè)可靠、高性能、智能管理的海量數(shù)據(jù)存儲(chǔ)平臺(tái)。
免責(zé)聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評(píng)論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個(gè)人觀點(diǎn),與極客網(wǎng)無關(guān)。文章僅供讀者參考,并請自行核實(shí)相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長
- 雷軍說破了3999元的心魔,然而蘋果就如一座大山在頭上壓著
- 中國不買了,三大光刻機(jī)企業(yè)都降低預(yù)期,后悔莫及
- 東軟解決方案論壇2024在武漢開幕 東軟發(fā)布多款創(chuàng)新型解決方案
- 收入首超特斯拉,比亞迪市值為何只有六分之一?
- 永洪科技:點(diǎn)亮數(shù)據(jù)分析之光,成就數(shù)據(jù)價(jià)值之夢
- 明星為何爭做探店頂流?
- 小米80多萬元的車值嗎?為誰造?
- 江湖老劉:胖東來為何備受追捧
- 臺(tái)積電更強(qiáng)了,漲價(jià)一成收割美國芯片
- 雙十一期間大連海參為何受歡迎
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。