1.引言
近年來,大數(shù)據(jù)已經(jīng)成為學(xué)術(shù)界和工業(yè)界普遍關(guān)注的一個熱點問題。維基百科中將“大數(shù)據(jù)”定義為無法在一定時間內(nèi)用常規(guī)軟件工具對其內(nèi)容進(jìn)行抓取、管理和處理的數(shù)據(jù)集合。目前一般認(rèn)為大數(shù)據(jù)具有4V特征,即Volume,Variety,Value,Velocity。Volume特征是指大數(shù)據(jù)的規(guī)模巨大,通常是PB甚至ZB級別。在2011年,就產(chǎn)生了1.8ZB(也就是1.8萬億GB)的大數(shù)據(jù),著名咨詢公司IDC發(fā)布的報告中稱全球產(chǎn)生的數(shù)據(jù)將在2020年達(dá)到40 ZB。Variety特征是指數(shù)據(jù)類型繁多。大數(shù)據(jù)超越了以事務(wù)為代表的結(jié)構(gòu)性數(shù)據(jù)的概念,涉及了以網(wǎng)頁為代表的半結(jié)構(gòu)化數(shù)據(jù)以及形式多樣的非結(jié)構(gòu)化數(shù)據(jù),如文本、音頻、視頻等,也涉及了物流、交通、醫(yī)療、農(nóng)業(yè)、金融、工業(yè)等多樣化的信息源。Value特征是指大數(shù)據(jù)的高價值信息密度低。以視頻為例,連續(xù)不間斷監(jiān)控過程中,可能有用的數(shù)據(jù)僅有一兩秒。Velocity特征是指大數(shù)據(jù)要求很高的處理速度。大數(shù)據(jù)的處理通常具有時效性,必須把握好對數(shù)據(jù)流的掌控應(yīng)用,從而才能最大化地挖掘利用大數(shù)據(jù)所潛藏的價值。
大數(shù)據(jù)的4V特征對現(xiàn)有的數(shù)據(jù)管理技術(shù)提出了許多新的挑戰(zhàn)。從存儲的角度看,大數(shù)據(jù)管理面臨的主要問題可歸納為如下幾個方面:
(1)大數(shù)據(jù)存儲架構(gòu)的挑戰(zhàn):磁盤讀寫性能差,與主存的速度差距正在逐漸增大,使得傳統(tǒng)的主存-磁盤存儲架構(gòu)越來越無法適應(yīng)大數(shù)據(jù)管理的要求。
(2)大數(shù)據(jù)管理算法的挑戰(zhàn):隨著新型存儲介質(zhì)越來越多地被運用于大規(guī)模分布式存儲中,大規(guī)模分布式數(shù)據(jù)庫中傳統(tǒng)的持久化策略、索引結(jié)構(gòu)、查詢執(zhí)行、查詢優(yōu)化、恢復(fù)策略等均是基于磁盤存儲設(shè)計的,新型存儲介質(zhì)具有完全不同于磁盤的物理特性,因此無法發(fā)揮新型存儲的優(yōu)勢。
(3)大數(shù)據(jù)管理的能耗挑戰(zhàn):能耗在現(xiàn)有大型數(shù)據(jù)管理系統(tǒng)(通常是數(shù)據(jù)中心)中的費用比例逐年升高(目前大約占總能耗的16%左右),給企業(yè)帶來了沉重的經(jīng)濟(jì)負(fù)擔(dān)。
與大數(shù)據(jù)技術(shù)同步發(fā)展的是新型存儲技術(shù)。新型存儲是相對于傳統(tǒng)的磁存儲介質(zhì)而言的。鑒于磁盤在面臨上述挑戰(zhàn)時已顯得力不從心,市場上對于新型存儲器件的需求越來越強(qiáng)烈,國際上從2000年以來在閃存、相變存儲器等新型存儲器件的制造和產(chǎn)業(yè)化方面取得了重要突破,并已開始逐步在各類應(yīng)用領(lǐng)域(如嵌人式系統(tǒng)、企業(yè)計算等)中使用。
但是,新型存儲技術(shù)的快速發(fā)展對于大數(shù)據(jù)管理而言帶來了哪些新的機(jī)遇和問題?引人新型存儲技術(shù)后是否能夠部分解決大數(shù)據(jù)管理中的挑戰(zhàn)性問題?這些問題目前在研究面向新型存儲的大數(shù)據(jù)管理中還沒有滿意的答案;谶@一背景,本文試圖對面向新型存儲的大數(shù)據(jù)管理的研究現(xiàn)狀做一個梳理,分析該領(lǐng)域中的已有進(jìn)展,理清存在的新問題和新方向,從而為未來新型存儲和大數(shù)據(jù)管理的研究提供有價值的參考。
本文的后續(xù)內(nèi)容安排如下:第2節(jié)介紹了新型存儲,第3節(jié)總結(jié)了面向新型存儲的大數(shù)據(jù)存儲架構(gòu)現(xiàn)狀,第4節(jié)討論了面向新型存儲的大數(shù)據(jù)管理算法進(jìn)展,第5節(jié)給出了面向新型存儲的大數(shù)據(jù)管理未來發(fā)展方向,最后是論文總結(jié)。
2.新型存儲技術(shù)
目前,主流的新型存儲設(shè)計觀點是IBM提出的存儲級主存技術(shù)SCM ( Storage Class Memo-ry)SCM同時具有內(nèi)存級存取和持久存儲的特點,其主要特征為:非易失(壽命在10年左右),DRAM的高速訪問時間、價格低廉、固態(tài)無機(jī)械運動等。SCM的性能特點使其可以存在于存儲系統(tǒng)的不同層次上:既可以作為主存,也可以作為內(nèi)存與二級存儲之間的緩存,也可以作為二級存儲器。SCM技術(shù)的候選材料有很多,如閃存(Flash Memory)、磁性存儲器MRAM(Magnetic RAM),電阻式存儲器RRAM ( Resistive RAM)和相變存儲器PCM ( Phase-Change Memory,也稱PRAM或PCRAM)等。其中閃存和PCM發(fā)展最為迅速,目前已經(jīng)達(dá)到了實用化的水平,也是大數(shù)據(jù)存儲中最可能引人的新型存儲技術(shù)。
2.1 閃存
閃存是一種可以被電子化擦除和重寫的非易失性存儲設(shè)備,閃存將二進(jìn)制數(shù)據(jù)存儲在雙層MOS管組成的記憶單元陣列中,MOS管中包含“浮動?xùn)?rdquo;和“控制柵”,數(shù)據(jù)位是1或者0取決于浮動?xùn)派鲜欠裼须娮,寫?時,向柵電極和漏極施加高電壓,增加在源極和漏極之間傳導(dǎo)的電子能量,這樣一來,電子就會突破氧化膜絕緣體,進(jìn)人浮動?xùn),即成功寫人。讀取數(shù)據(jù)時,向柵電極施加一定的電壓,電流大為1,電流小則為0。
固態(tài)盤SSD ( Solid State Drives)是目前閃存存儲的最主要形式,主要由閃存芯片閃存轉(zhuǎn)換層、址映射表寄存器、控制器等部件構(gòu)成,其中閃存芯片用于存儲數(shù)據(jù),閃存轉(zhuǎn)換層向操作系統(tǒng)提供邏輯頁的訪問接口,實現(xiàn)了邏輯頁和物理頁的映射,隱藏了閃存芯片上的寫前擦除、異地更新,實現(xiàn)擦除塊之間的磨損平衡等功能。并且使閃存設(shè)備可以處理USB, SAS, SATA命令,實質(zhì)上將閃存存儲抽象為與磁盤一樣的塊設(shè)備。
目前閃存發(fā)展迅速,已在便攜式存儲設(shè)備上廣泛應(yīng)用,隨著半導(dǎo)體技術(shù)的進(jìn)步,容量也在不斷增加,價格不斷降低,閃存也越多越多地應(yīng)用到大型存儲中,例如,百度已經(jīng)在2009年開始就在其搜索服務(wù)器上全部使用了固態(tài)硬盤。
與磁盤介質(zhì)相比,閃存具有一些特殊的物理性質(zhì):
(1)無機(jī)械延遲:閃存作為一種純電子設(shè)備,沒有機(jī)械尋道操作,隨機(jī)讀的延遲很低。
(2)讀寫不對稱:通常閃存上的隨機(jī)讀速度較快,但隨機(jī)寫速度較慢。這是因為寫人數(shù)據(jù)時,需要通過加壓的方式對存儲單元進(jìn)行電子填充。
(3)異地更新:傳統(tǒng)磁盤采用的是原位更新機(jī)制(In-Place Update),即可以直接用新的二進(jìn)制位覆蓋磁盤上舊的二進(jìn)制位。但是,對閃存的寫操作不是簡單地改變某個二進(jìn)制位,而是需要將所在的整個擦除塊的所有二進(jìn)制位全部重置為1,即需要先執(zhí)行塊擦除操作。塊擦除操作會使得系統(tǒng)性能顯著降低。
(4)壽命限制:閃存芯片的塊擦除次數(shù)是有限制的,超過一定擦除次數(shù)的閃存單元將不再可用。
(5)低能耗:與磁盤相比,閃存的能耗更低,每GB讀數(shù)據(jù)的能耗只有磁盤的200,寫操作能耗不足磁盤的3000。閃存的出現(xiàn)為建設(shè)綠色數(shù)據(jù)中心以及低能耗數(shù)據(jù)管理系統(tǒng)提供了有力支持。
2.2 相變存儲器PCM
相變存儲器PCM是一種非易失類型的存儲器,由硫系玻璃材質(zhì)構(gòu)成。由于這種材質(zhì)的特質(zhì),通過施以電脈沖熱,它可以在無定形和結(jié)晶這兩種狀態(tài)之間進(jìn)行切換。PCM兼具速度快、耐用、非揮發(fā)性和高密度性等多種優(yōu)勢于一身,其讀寫數(shù)據(jù)和恢復(fù)數(shù)據(jù)的速度是當(dāng)前應(yīng)用最廣一泛的非揮發(fā)性存儲技術(shù)閃存的100倍。
自20世紀(jì)60年代開始人們就已經(jīng)在研究相變存儲器,但直到2000年Intel和Ovonyx發(fā)布合作和許可協(xié)議才標(biāo)志著大容量PCM研發(fā)時代的到來。2009年12月工業(yè)界推出了1Gb的PCM產(chǎn)品,2012年推出了8GB的PCM存儲芯片。國內(nèi)的中國科學(xué)院上海微系統(tǒng)所近年來也研制了8MB的PCM芯片。
與磁盤以及閃存相比,PCM具有以下特性:
(1)非易失性:與閃存一樣,PCM是非易失的存儲介質(zhì)。
(2)讀取速度高:和DRAM一樣,相變存儲技術(shù)以隨機(jī)訪問性能高而見長,它可直接從存儲器執(zhí)行代碼。PCM的讀取延遲比閃存縮短1到2個數(shù)量級,而讀取帶寬可與DRAM媲美。
(3)寫人速度高:與DRAM一樣,PCM具有位可變性(Bit Alterability),將信息存儲在位可變性存儲器中,只需在1和0之間進(jìn)行轉(zhuǎn)換,不需要獨立的擦除步驟。
(4)字節(jié)可尋址:類似于DRAM, PCM也具有字節(jié)可尋址的特性。
(5)寫壽命長:PCM寫壽命已經(jīng)達(dá)到了10的8次方次,遠(yuǎn)超過了閃存的105次。隨著技術(shù)進(jìn)步,PCM的寫壽命正在接近磁盤的寫壽命(10的15次方次),一定程度上解決了閃存取代磁盤過程中因耐寫能力嚴(yán)重不足帶來的缺陷,可以保證存儲器更高的可靠性。
(6)低能耗:PCM基于微型存儲單元的相變存儲數(shù)據(jù),沒有機(jī)械轉(zhuǎn)動裝置并具有低電壓的特性(0.2V-0.4V),同時由于相變存儲器的非易失性,保存代碼或數(shù)據(jù)也不需要刷新電流,使其成為理想的下一代綠色存儲器。
3. 基于新型存儲的大數(shù)據(jù)存儲架構(gòu)
閃存、PCM等新型存儲介質(zhì)的引人使得大數(shù)據(jù)存儲架構(gòu)有了多種選擇。但是,由于新型存儲介質(zhì)在價格、壽命等方面與傳統(tǒng)的磁盤相比不具優(yōu)勢,因此目前主流的觀點是在大數(shù)據(jù)存儲系統(tǒng)中同時使用新型存儲介質(zhì)以及傳統(tǒng)存儲介質(zhì),由此產(chǎn)生了多種基于新型存儲的大數(shù)據(jù)存儲架構(gòu),例如基于PCM的主存架構(gòu)、基于閃存的主存擴(kuò)展架構(gòu)、基于多存儲介質(zhì)的分層存儲架構(gòu)等。
3.1 基于PCM的主存架構(gòu)
由于PCM存儲密度高、容量大、耗電低,而且訪問速度接近內(nèi)存,因此工業(yè)界和學(xué)術(shù)界都開展了將PCM作為主存系統(tǒng)的研究。PCM替代DRAM,首先必須考慮克服PCM寫次數(shù)限制,即延長PCM的壽命問題。為了解決PCM壽命的問題,目前的研究重點主要集中在減少對PCM的寫操作以及負(fù)載均衡等方面。
在文獻(xiàn)中,研究者提出了一種利用DRAM來減少對PCM寫操作的方法。它將PCM作為主存,同時使用一塊較小的DRAM作為PCM的緩存,并借助DRAM緩存來延遲對PCM的寫操作,從而達(dá)到減少PCM寫次數(shù)的目的。研究的實驗結(jié)果表明,這種混合存儲結(jié)構(gòu)可以在使用13%左右的額外DRAM存儲代價的基礎(chǔ)上,有效地延長PCM的壽命。
負(fù)載均衡思想是通過增加一層地址映射,將PCM的寫均勻地分配給所有的存儲單元,以盡可能達(dá)到PCM的最大使用壽命。在文獻(xiàn)中,研究者提出了一種代數(shù)映射方法Start-Gap。它利用少量的寄存器來保存地址映射關(guān)系和執(zhí)行地址映射關(guān)系的改變,通過定期將每一個存儲單元遷移到他相鄰的位置來實現(xiàn)負(fù)載均衡。文獻(xiàn)提出了隨機(jī)化Start-Gap算法,改進(jìn)了原始算法中具有集中寫特征的存儲單元在遷移時可能帶來的不均衡寫問題。
在針對大數(shù)據(jù)存儲的集群架構(gòu)中,負(fù)載均衡主要通過適合PCM的數(shù)據(jù)劃分算法來實現(xiàn)。文獻(xiàn)提出了一種針對服務(wù)器集群的PCM與DRAM混合主存架構(gòu),并基于該架構(gòu)設(shè)計了一種新的數(shù)據(jù)劃分算法。該算法實現(xiàn)了集群的全局負(fù)載均衡以及DRAM和PCM之間的數(shù)據(jù)合理分配,使混合存儲系統(tǒng)表現(xiàn)出比純DRAM系統(tǒng)和純PCM系統(tǒng)更好的性能。
PCM作為主存系統(tǒng)的思想對大數(shù)據(jù)管理的性能和能耗等問題的解決都有著重要的意義。雖然大數(shù)據(jù)應(yīng)用中涉及的原始數(shù)據(jù)量非常大,但真正有價值的數(shù)據(jù)量以及應(yīng)用每次需要存取的數(shù)據(jù)量仍是有限的,因此我們可以利用PCM的高性能、低能耗特性,將應(yīng)用需要實時存取的高價值數(shù)據(jù)存儲在PCM中,同時利用磁盤等傳統(tǒng)存儲介質(zhì)維護(hù)大規(guī)模的原始數(shù)據(jù)。因此,將PCM引人到目前的存儲架構(gòu)中構(gòu)建混合存儲系統(tǒng),將有望解決大數(shù)據(jù)管理中的性能與能耗問題。
3.2 基于閃存的主存擴(kuò)展架構(gòu)
與PCM相比,目前閃存的應(yīng)用更為廣泛。高速大容量固態(tài)硬盤SSD設(shè)備的不斷出現(xiàn),使得SSD在存儲架構(gòu)中的地位也得以提升。在大數(shù)據(jù)管理方面,目前SSD的存儲容量還達(dá)不到大數(shù)據(jù)的PB級別存儲需求,因此近年來的主要工作集中在利用高端SSD進(jìn)行主存擴(kuò)展的研究上。
在文獻(xiàn)中,普林斯頓大學(xué)的研究人員提出了一種利用SSD進(jìn)行內(nèi)存擴(kuò)展的主存管理系統(tǒng)一SSDAIIoc。SSDAIIoc在存儲體系中將SSD升到一個更高的層次,它把SSD當(dāng)做一個更大、更慢的RAM而不是將它當(dāng)做磁盤的緩存。通過使用SSDAIIoc,應(yīng)用程序可以幾乎透明地將他們的主存擴(kuò)展到幾百GB而不需要對軟件重新設(shè)計,遠(yuǎn)遠(yuǎn)超出了服務(wù)器上RAM容量的限制。此外,SS-DAlloc能夠提升90%的SSD的原始性能,同時將SSD的壽命提高32倍。
在文獻(xiàn)中,研究者以NoSQL數(shù)據(jù)庫系統(tǒng)Redis為基礎(chǔ)平臺,用SSD代替磁盤作為虛擬內(nèi)存中的交換設(shè)備,擴(kuò)大虛擬內(nèi)存的同時幫助NoSQL數(shù)據(jù)庫減少數(shù)據(jù)讀延遲,并針對SSD隨機(jī)寫性能差的特點,設(shè)計了針對SSD的寫緩沖區(qū)優(yōu)化算法和垃圾回收機(jī)制,從而提高了數(shù)據(jù)庫系統(tǒng)的整體性能。
考慮到當(dāng)將SSD作為虛擬交換設(shè)備時,頁面交換的代價依然較大,文獻(xiàn)設(shè)計了一種基于DRAM與SSD的混合主存架構(gòu),將SSD作為主存,將 DRAM作為SSD的高速緩沖,以對象為單位管理資源。為了減少寫放大,將SSD組織成log結(jié)構(gòu)的順序塊,并將這種混合主存結(jié)構(gòu)融人Mem-cached,大幅提升了Memcached性能。
基于閃存的混合主存系統(tǒng)與基于PCM的主存系統(tǒng)在設(shè)計動機(jī)上類似—都是以性能為主要的目標(biāo)。對于大數(shù)據(jù)管理而言,引人閃存(或者PCM)來部分地替代傳統(tǒng)內(nèi)存,可以有效地擴(kuò)展內(nèi)存容量,減少對底層大數(shù)據(jù)的頻繁訪問,從而提高大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)訪問性能。此外,在能耗方面,由于閃存和PCM的能耗都低于磁盤,因此也有助于降低大數(shù)據(jù)管理的能耗。
3.3 基于多存儲介質(zhì)的分層存儲架構(gòu)
基于不同存儲介質(zhì)的分層存儲架構(gòu)目前主要集中在DRAM、閃存、磁盤的混合存儲研究上。一種觀點是將閃存做為內(nèi)存與磁盤之間的緩存。例如,F(xiàn)1ash Cache是Facebook為innoDB設(shè)計的塊緩存應(yīng)用,它將閃存劃分為一個邏輯集合,基于組相聯(lián)映射的思想將磁盤上的塊數(shù)據(jù)映射到閃存中。當(dāng)I/O請求到達(dá)時,F(xiàn)lash Cache會先在閃存中查找該數(shù)據(jù)是否已被緩存,如果有,則直接進(jìn)行讀寫操作,否則訪問磁盤。將閃存作為DRAM與磁盤之間的緩存進(jìn)行數(shù)據(jù)預(yù)取或者預(yù)寫,還可以充分發(fā)揮閃存讀性能好的優(yōu)點,減少對磁盤的寫操作,同時減少系統(tǒng)能耗。另一種觀點是將閃存與磁盤一樣作為二級存儲介質(zhì),手動或者自動地將不同類別的數(shù)據(jù)分配到閃存或磁盤。由于不同的存儲分配策略以及存儲介質(zhì)組合方式對于此類系統(tǒng)的性能有著決定性影響,因此目前主要集中在存儲分配、存儲介質(zhì)用量組合等方面。
(1)在存儲分配方面,已有研究傾向于根據(jù)I/O特性和數(shù)據(jù)的冷熱程度來進(jìn)行存儲分配,將讀傾向負(fù)載的數(shù)據(jù)或者熱點數(shù)據(jù)存放在SSD上,而寫傾向負(fù)載或冷數(shù)據(jù)等則存放在磁盤上。IBM在其企業(yè)級存儲設(shè)備DS8700上增加了EasyTier自動封存存儲功能,將較大的邏輯卷進(jìn)行劃分,并對劃分后的子卷進(jìn)行熱度檢測,如果是熱點卷,就將其遷移到SSD上,同時把SSD上的非熱點卷再遷回到磁盤。文獻(xiàn)中提出的HRO方法將隨機(jī)性強(qiáng)、熱度高的數(shù)據(jù)分配在SSD上,順序性強(qiáng)、熱度低的數(shù)據(jù)分配在磁盤上,并設(shè)計了數(shù)據(jù)隨機(jī)性檢測算法。文獻(xiàn)結(jié)合數(shù)據(jù)頁的訪問次數(shù)以及訪問熱度實現(xiàn)對頁面的準(zhǔn)確分類和分配,即將讀傾向負(fù)載的熱頁面存儲到SSD上,將寫傾向負(fù)載的頁面或者冷頁面存儲到磁盤上。文獻(xiàn)為了增加閃存的壽命,使用數(shù)據(jù)I/O特性進(jìn)行存儲分配,以減少對閃存的寫操作,以頁為單位檢測數(shù)據(jù)的I/O特性,將寫操作較多的數(shù)據(jù)放置在磁盤中,而讀操作較多的數(shù)據(jù)放置在SSD中。文獻(xiàn)將隨機(jī)數(shù)據(jù)和讀操作傾向較多的數(shù)據(jù)傾向于放置在SSD中,順序數(shù)據(jù)和寫操作較多的數(shù)據(jù)傾向于分配到磁盤。
分層存儲的存儲分配思想也被運用于針對大數(shù)據(jù)存儲的集群中。例如,淘寶網(wǎng)采用了基于SSD,SAS和SATA的分層存儲系統(tǒng),并采用了兩種不同的存儲分配方法:一種是根據(jù)文件大小來定義遷移到哪種存儲介質(zhì)上;另一種遷移策略按訪問的熱度來進(jìn)行分配。文獻(xiàn)討論了在Lustre集群文件系統(tǒng)上的對象存儲服務(wù)器OSS(Object-based Storage Server)。該服務(wù)器是由SSD和磁盤陣列構(gòu)成的混合存儲系統(tǒng),其中SSD主要用來存儲較小的、訪問頻率高的對象,磁盤陣列用于存儲較大的、訪問頻率低的對象。文獻(xiàn)針對面向?qū)ο蟠鎯Φ腖ustre集群文件系統(tǒng),在對象存儲結(jié)構(gòu)上增加一層基于PCM新型存儲設(shè)備的高速存儲層,自動分析I/O訪問特征,預(yù)測其后續(xù)操作,主動把可能需要的對象預(yù)取到PCM高速存儲層,并且設(shè)計了預(yù)取和對象遷移算法。
此外,面向分層存儲的存儲分配方法還應(yīng)用在大數(shù)據(jù)文件系統(tǒng)的元數(shù)據(jù)管理上。在面向大數(shù)據(jù)管理的分布式文件系統(tǒng)中,利用分層系統(tǒng)存儲分配用頻率、規(guī)模等都不允許將所有數(shù)據(jù)統(tǒng)一存儲于集中式的存儲設(shè)備上,因此基于分層存儲的多介質(zhì)混合存儲技術(shù)將越來越受到研究者們的重視。但是,由于多種存儲介質(zhì)的分層存儲存在著多種組合方式,什么樣的混合存儲策略適合大數(shù)據(jù)應(yīng)用、在多介質(zhì)混合存儲系統(tǒng)中如何有效地實現(xiàn)數(shù)據(jù)分配與遷移等仍有待進(jìn)一步探索。
4.基于新型存儲的大數(shù)據(jù)管理算法
由于傳統(tǒng)的數(shù)據(jù)庫技術(shù)取得了巨大的成功,因此許多研究者從數(shù)據(jù)庫管理系統(tǒng)的角度研究基于新型存儲的大數(shù)據(jù)管理方法。傳統(tǒng)的數(shù)據(jù)庫研究集中在存儲管理、索引、查詢處理等方面,因此本節(jié)也從這些角度來總結(jié)現(xiàn)有的基于新型存儲的大數(shù)據(jù)管理算法。
4.1 基于新型存儲的大數(shù)據(jù)存儲管理
大數(shù)據(jù)存儲通常采用分布式存儲策略,但傳統(tǒng)的分布式存儲策略通常采用基于副本的方式。例如,MongoDB設(shè)計了復(fù)制集指定每個文檔的副本保存位置,Hbase基于HDFS進(jìn)行副本管理并采用機(jī)架感知的方式進(jìn)行副本分布。但是,已有的這些分布式存儲策略沒有考慮不同存儲介質(zhì)的性能、成本以及物理特性上的差異。引人了多樣化的新型存儲介質(zhì)后,需要設(shè)計新的數(shù)據(jù)分配算法,使數(shù)據(jù)分布在合適的新型存儲介質(zhì)上,從而加快數(shù)據(jù)的訪問性能。
Ramcloud是針對異構(gòu)多存儲系統(tǒng)設(shè)計的高性能分布式數(shù)據(jù)庫系統(tǒng)。它針對異構(gòu)存儲系統(tǒng)的不同特性,采用了所謂的日志緩存(Buffered Log-grog)技術(shù),將主數(shù)據(jù)放置在性能最好的存儲系統(tǒng)上,而將副本以及數(shù)據(jù)更新日志放置在成本較低的存儲上,既降低了成本,又保證了性能。
此外,由于Web作為大數(shù)據(jù)的主要來源之一,開展基于Web的大數(shù)據(jù)研究是當(dāng)前的一個主要研究方向。Web領(lǐng)域中廣泛使用了NoSQL數(shù)據(jù)庫技術(shù),但在NoSQL數(shù)據(jù)庫中引人閃存等新型存儲介質(zhì)后產(chǎn)生了許多新的問題,例如持久化策略。
持久化策略是指將數(shù)據(jù)寫人持久存儲介質(zhì)的策略。不同的持久化策略對于系統(tǒng)性能有著很大的影響。在現(xiàn)有的NoSQL數(shù)據(jù)庫系統(tǒng)中,Redis以AOF日志的形式把更新操作順序?qū)懭巳罩窘Y(jié)構(gòu)文件,累計多次寫操作,進(jìn)行集中地追加寫操作。BigTable,Cassandra和Hbase都采用了類似LSM樹結(jié)構(gòu)來進(jìn)行寫優(yōu)化,數(shù)據(jù)首先被入數(shù)據(jù)內(nèi)存緩沖區(qū)的Memstore,當(dāng)Memstore達(dá)到一定闌值時,緩存數(shù)據(jù)會被刷新到磁盤,生成一個新的存儲文件持久化數(shù)據(jù)SSTable。逐步增多的SSTable文件會以滾動合并(Rolling Merge)的模式合并成更大的SSTable。LSM樹結(jié)構(gòu)的好處是優(yōu)化了寫操作,但在一定程度上降低了查詢性能,而且SSTable的合并也會引入較大的內(nèi)存開銷。在NoSQL數(shù)據(jù)庫系統(tǒng)中引人閃存之后,由于閃存具有異地更新特性,往往需要設(shè)計新的持久化策略。RethinkDB是一個SSD優(yōu)化的分布式No-SQL數(shù)據(jù)庫系統(tǒng)。它為了有效減少閃存異地更新和垃圾回收對持久化性能帶來的影響,設(shè)計了“隱形Trim”機(jī)制,優(yōu)化了持久化策略,通過將閃存存儲層作為黑盒,使用基于性能、塊大小等參數(shù)的演化推理機(jī)制找到最理想的工作負(fù)載模式,最終實現(xiàn)系統(tǒng)在閃存上的讀寫性能優(yōu)化。
基于新型存儲的大數(shù)據(jù)存儲管理與傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)有著較大的差別。主要的一點在于大數(shù)據(jù)環(huán)境下的數(shù)據(jù)存儲通常是分布式、分層的,而傳統(tǒng)數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)以集中存儲為主。因此,面向新型存儲的大數(shù)據(jù)存儲管理面臨著存儲介質(zhì)異構(gòu)性、數(shù)據(jù)分片、存儲分配等問題。雖然NoSQL在Web領(lǐng)域得到了廣泛應(yīng)用,但能否作為大數(shù)據(jù)管理的統(tǒng)一平臺還有待進(jìn)一步研究。
4.2 基于新型存儲的大數(shù)據(jù)索引設(shè)計
數(shù)據(jù)庫索引管理是有效組織數(shù)據(jù)、提高數(shù)據(jù)庫查詢性能的關(guān)鍵技術(shù)之一。大數(shù)據(jù)管理中的索引設(shè)計主要考慮高擴(kuò)展性、高性能,能夠有效支持非主鍵查詢和多維查詢等不同類型查詢,主要索引結(jié)構(gòu)有二級索引、雙層索引、按照空間目標(biāo)排序的索引等。
二級索引由局部索引和全局索引構(gòu)成,局部索引只負(fù)責(zé)該節(jié)點上的數(shù)據(jù)索引,全局索引則依據(jù)局部索引構(gòu)建,如Efficient B-tree ,RT-CAN,QT-Chord,EMINC等;雙層索引主要適用于非鍵值列的快速查詢,索引表由原數(shù)據(jù)表中的鍵值和索引列的組合構(gòu)成,如ITHBase,IHBase ,CCIndex等;按照空間目標(biāo)排序的索引有MD-HBase, UQE-Index等。
目前二級索引中的局部索引均基于磁盤特性進(jìn)行設(shè)計,如Efficient B-tree局部索引結(jié)構(gòu)采用了B+-tree,RT-CAN局部索引結(jié)構(gòu)為R-tree,EM-INC局部索引結(jié)構(gòu)為KD-tree。閃存等新型存儲的特性和磁盤具有明顯差異,將基于磁盤的索引實現(xiàn)方法直接移植到新型存儲上會嚴(yán)重響索引性能。以閃存為例,傳統(tǒng)的索引更新維護(hù)往往導(dǎo)致頻繁的小數(shù)據(jù)量更新,這些更新操作會帶來大量的閃存擦除操作,極大地降低了索引的性能和閃存壽命。
在基于新型存儲的索引方面,目前主要的研究集中在面向閃存的索引上。閃存數(shù)據(jù)庫索引設(shè)計的目標(biāo)是不僅要在閃存介質(zhì)上實現(xiàn)索引的高查詢性能,而且還要根據(jù)閃存的物理特性減少索引更新維護(hù)帶來的性能代價(如頻繁擦除等)。目前提出的閃存索引結(jié)構(gòu)大都采用了傳統(tǒng)的樹型結(jié)構(gòu),并以減少對閃存的隨機(jī)寫為主要目的,采用的方法往往是延遲更新或者合并更新等。這方面的研究目前比較多,例如Hash-Tree ,u-Tree ,Lazy-up-date B+-Tree,LA-Tree等。u-Tree將從根到目標(biāo)節(jié)點路徑上的所有節(jié)點都放置在同一閃存塊中,通過新分配閃存塊來解決索引更新過程中產(chǎn)生的新路徑,從而減少了隨機(jī)寫操作。Lazy-up-date B+-Tree。首先將更新在內(nèi)存中進(jìn)行緩沖,對屬于相同節(jié)點的更新進(jìn)行合并,然后進(jìn)行組提交。Lazy-update-Tree方法存在以下兩個優(yōu)點:首先是緩沖的更新可以進(jìn)行批量提交,這樣可以減少在更新節(jié)點時因為尋址而帶來的讀代價;其次,更新可以進(jìn)行分組,通過分組可以大大減少數(shù)據(jù)的更新次數(shù)。LA-Tree將索引樹分為一組等高度的子樹,每棵子樹組織為B+-Tree,并且對于每棵子樹采取延遲更新操作。Hash-Tree采用樹形一散列的混合設(shè)計思路,它首先使用一個散列函數(shù)將數(shù)據(jù)劃分到若干個桶中,然后對于每個桶中的數(shù)據(jù)提出了一種新的樹形索引結(jié)構(gòu)一FTree進(jìn)行組織。由于Hash-Tree將數(shù)據(jù)組織成了許多棵小的樹,因此發(fā)生更新時不需要更新整個索引,因此可以提高更新性能。
雖然目前在基于閃存的索引設(shè)計方面已經(jīng)做了不少的工作,但仍鮮有工作針對PB級別的超大規(guī)模數(shù)據(jù)開展研究。索引的性能通常與數(shù)據(jù)量的大小成反比,因此已有的索引技術(shù)能否在大規(guī)模數(shù)據(jù)下依然保持較好的性能還有待進(jìn)一步研究。此外,由于大數(shù)據(jù)應(yīng)用中,數(shù)據(jù)的價值、訪問頻度有高有低,在索引設(shè)計方面也需要進(jìn)行有針對性的分層設(shè)計。
4.3 基于新型存儲的大數(shù)據(jù)查詢處理
查詢處理與優(yōu)化是數(shù)據(jù)庫系統(tǒng)的一項主要功能。I/O問題是基于磁盤的傳統(tǒng)數(shù)據(jù)庫查詢處理和優(yōu)化的基礎(chǔ)和核心問題。由于新型存儲和磁盤物理特性的不同,兩者具有不同的I/O機(jī),所以基于磁盤I/O機(jī)制設(shè)計的查詢處理和優(yōu)化機(jī)制不能直接應(yīng)用于基于新型存儲的大數(shù)據(jù)管理上,需要設(shè)計全新的查詢處理和優(yōu)化機(jī)制。
在數(shù)據(jù)庫查詢處理中,連接操作的方法對于查詢執(zhí)行的效率影響很大,特別是連接操作會產(chǎn)生大量的中間結(jié)果,需要寫到外部存儲,這對于閃存這樣的新型存儲介質(zhì)來說代價非常昂貴,并且傳統(tǒng)的連接算法主要是針對磁盤特性設(shè)計的,沒有考慮新存儲介質(zhì)的讀寫特性。目前提出的面向新型存儲的連接算法主要集中在閃存方面,其出發(fā)點是避免在閃存上執(zhí)行大量隨機(jī)寫操作,同時盡量發(fā)揮閃存的隨機(jī)讀性能。相關(guān)的算法主要有DigestJoin算法,Sub一Join算法等。
DigestJoin算法提出了兩階段連接的方法。在第一階段僅將記錄的關(guān)鍵字和連接列讀人內(nèi)存進(jìn)行排序或者哈希,從而很大程度上減小連接表的大小,以此來減少連接操作的代價;在第二階段,從閃存中按照連接的結(jié)果從表中讀取投影的列輸出,這個過程就是重新載人的過程。重新載人過程的代價對整個算法性能來說很關(guān)鍵,通過使用naive的載人方法、基于頁的載人方法以及傳統(tǒng)的載人方法證明重新載人過程的代價計算是個NP問題。DigestJoin算法提出了一種基于圖的載人策略,用連接圖來選擇載人的頁。通過實驗發(fā)現(xiàn)該方法可以有效地減小連接的代價。
子連接算法Sub-Join也是一種針對閃存關(guān)系數(shù)據(jù)庫上的連接操作,通過減少對數(shù)據(jù)的讀取和連接中的隨機(jī)寫操作來提高查詢執(zhí)行效率。首先將進(jìn)行連接查詢的相關(guān)數(shù)據(jù)表在主鍵和連接列上進(jìn)行投影,形成子表;然后在子表上進(jìn)行連接操作。最終的查詢結(jié)果是根據(jù)子表連接查詢的結(jié)果再從原始表中回取獲得。Sub-Join僅從子表中讀取數(shù)據(jù)進(jìn)行匹配,從而大量減少了需要讀取的數(shù)據(jù)量。同時,Sub-Join在生成子表時采取連續(xù)讀,而且在寫子表連接結(jié)果時采取順序?qū)懙姆绞,有效地減少了連接過程中的隨機(jī)寫操作。
此外,在大數(shù)據(jù)環(huán)境下,查詢往往被分解成多個任務(wù)并發(fā)執(zhí)行,根據(jù)資源的占用情況和節(jié)點的運行情況對任務(wù)進(jìn)行有效的調(diào)度,對查詢優(yōu)化有著至關(guān)重要的作用。目前針對調(diào)度的優(yōu)化已經(jīng)有不少工作,根據(jù)調(diào)度對象的粒度,可以把已有工作分成三個類型:查詢調(diào)度、MapReduce作業(yè)調(diào)度和MapReduce任務(wù)調(diào)度。
查詢調(diào)度的基本思想是,根據(jù)不同查詢?nèi)蝿?wù)的優(yōu)先級、服務(wù)等級協(xié)議(SLO)等調(diào)整資源分配,保障用戶體驗。文獻(xiàn)設(shè)計了一種SLO感知的存儲系統(tǒng),討論了SSD作為磁盤讀緩存存儲環(huán)境下的查詢動態(tài)調(diào)度方案,通過將閃存緩存層進(jìn)行分區(qū),然后根據(jù)要求的服務(wù)等級對應(yīng)用進(jìn)行緩存大小分配,并且根據(jù)當(dāng)前緩存命中率、利用率、系統(tǒng)延遲等要素對緩存大小進(jìn)行調(diào)整,以提高查詢調(diào)度性能。
MapReduce任務(wù)調(diào)度的基本思想在于進(jìn)行MapReduce任務(wù)運行時間預(yù)測,繼而將更多的任務(wù)分配給性能高的節(jié)點,以提升查詢性能。文獻(xiàn)將任務(wù)負(fù)載特征和硬件異構(gòu)性作為任務(wù)調(diào)度的指標(biāo),其中硬件異構(gòu)性包含了CPU性能、網(wǎng)絡(luò)帶寬、內(nèi)存、存儲系統(tǒng)性能等特征。隨著SSD在大數(shù)據(jù)存儲系統(tǒng)中的普遍應(yīng)用,存儲系統(tǒng)異構(gòu)性將日益凸顯,同時副本也可能存儲在不同的存儲介質(zhì)上,這些都給MapReduce任務(wù)調(diào)度帶來了新的挑戰(zhàn)。
基于新型存儲的大數(shù)據(jù)查詢處理很難孤立地進(jìn)行研究,因此查詢處理機(jī)制、查詢優(yōu)化算法等與大數(shù)據(jù)存儲架構(gòu)、索引設(shè)計、存儲管理機(jī)制等都是密切相關(guān)的。相對而言,基于新型存儲的大數(shù)據(jù)查詢處理研究的迫切程度要低于大數(shù)據(jù)存儲管理與索引設(shè)計。
5.未來發(fā)展展望
5.1 面向新型存儲的大數(shù)據(jù)層次化存儲體系
隨著閃存、PCM , SCM等新型存儲介質(zhì)的出現(xiàn),未來數(shù)據(jù)存儲體系中將以多介質(zhì)混合存儲為主流,這與目前RAM、磁盤、磁帶共存的現(xiàn)象類似。在大數(shù)據(jù)應(yīng)用中,將數(shù)據(jù)集中存儲是不可行的,因為巨大的數(shù)據(jù)量將導(dǎo)致性能低下。因此,必須建立一種新的層次化的多介質(zhì)存儲體系,根據(jù)數(shù)據(jù)的不同特性(例如訪問的冷熱屬性、操作的特性等)以及不同存儲介質(zhì)的特性合理地分配數(shù)據(jù)存儲位置,從而實現(xiàn)海量存儲、高性能以及低能耗的設(shè)計目標(biāo)。這一問題涉及多個方面的內(nèi)容,未來可能的研究內(nèi)容包括多介質(zhì)混合存儲系統(tǒng)與一體化管理、存儲器結(jié)構(gòu)感知的數(shù)據(jù)管理技術(shù)以及大數(shù)據(jù)分布式協(xié)同存儲技術(shù)等。
(1)多介質(zhì)棍合存儲系統(tǒng)與一體化管理:市場上的閃存、磁盤等規(guī)格形式眾多。以閃存為例,不同廠商生產(chǎn)的SSD產(chǎn)品性能差異比較大,SSD的接口協(xié)議主要有PCIe, SAS, SATA三種,磁盤分為FC HDD, SAS HDD, SATA HDD。此外,SCM技術(shù)的候選材料形式眾多,除了閃存外,還包括了憶阻器(Memristor)、磁性存儲器(MRAM) ,電阻式存儲器(ReRAM, RRAM )、相變存儲器(PCM,PRAM,PCRAM)等,在存儲密度、壽命、讀寫速率方面都有較大的差異。因此,基于不同類型和性能的存儲介質(zhì)來構(gòu)建多介質(zhì)混合存儲系統(tǒng)帶來了更加復(fù)雜的問題,需要我們從理論模型和實驗驗證兩方面研究不同的混合存儲策略,并建立不同混合存儲策略下的存儲分配模型和代價模型。以RAM、閃存和磁盤混合存儲為例,可能的混合存儲策略包括:
①傳統(tǒng)模式,即磁盤作為二級存儲,RAM作為磁盤的緩存;
②閃存作為二級存儲,RAM作為閃存的緩存;
③閃存和磁盤都作為二級存儲,RAM作為兩者共同的緩存;
④磁盤作為二級存儲,閃存作為RAM的擴(kuò)充并且與RAM共同作為磁盤的單一緩存;
⑤磁盤作為二級存儲,閃存作為介于RAM和磁盤之間的另一層獨立緩存。
(2)存儲器結(jié)構(gòu)感知的數(shù)據(jù)管理技術(shù):針對RAM,PCM、閃存、RRAM、磁盤等多類型存儲介質(zhì)共存的現(xiàn)狀,研究適應(yīng)新型存儲器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)軟件基礎(chǔ)理論和關(guān)鍵技術(shù)。目前,Janus系統(tǒng)在閃存用量分配推薦上已經(jīng)取得了非常好的性能,但對于更加復(fù)雜的異構(gòu)存儲環(huán)境,如何實現(xiàn)存儲介質(zhì)用量的自適應(yīng)動態(tài)分配將是一個極具挑戰(zhàn)性的問題。另一方面,充分利用新型存儲低能耗的特點,將能耗作為存儲用量分配的指標(biāo),可以有效減少大數(shù)據(jù)管理系統(tǒng)的整體能耗。因此,基于能耗的異構(gòu)存儲系統(tǒng)中存儲介質(zhì)用量分配也將是未來的一個研究方向。
(3)大數(shù)據(jù)分布式協(xié)同存儲技術(shù):大數(shù)據(jù)在整個系統(tǒng)中的存儲位置通常包括感知器件端、中間層、應(yīng)用層等不同的位置。我們一般把感知器件端稱為“海”端,而把應(yīng)用端稱為“云”端。大數(shù)據(jù)如何在海、云以及平臺層實現(xiàn)分布式協(xié)同存儲是大數(shù)據(jù)存儲研究中的一個重要問題。在現(xiàn)有研究中,無論是通過數(shù)據(jù)的I/O特性、冷熱程度進(jìn)行存儲分配,還是將所有新建文件放置在閃存或PCM上,都無法滿足大多數(shù)大數(shù)據(jù)應(yīng)用的需求。大數(shù)據(jù)應(yīng)用數(shù)據(jù)負(fù)載具有多樣性、復(fù)雜性,如相冊、商品圖片類存儲應(yīng)用,讀遠(yuǎn)多于寫;而社區(qū)游戲類應(yīng)用的特點在于好友間互動性強(qiáng),用戶數(shù)據(jù)會被頻交叉訪問,也不存在明顯熱點數(shù)據(jù)。傳統(tǒng)的分布式數(shù)據(jù)存儲并沒有考慮不同的大數(shù)據(jù)應(yīng)用數(shù)據(jù)負(fù)載特點。此外,分布式大數(shù)據(jù)協(xié)同存儲環(huán)境的數(shù)據(jù)遷移也是一個值得研究的問題,F(xiàn)有的基于頁、塊或文件的數(shù)據(jù)熱點識別和數(shù)據(jù)遷移算法往往不能發(fā)揮有效作用,原因主要在于現(xiàn)有的數(shù)據(jù)管理系統(tǒng)(如NoSQL數(shù)據(jù)庫系統(tǒng))采用了特殊的持久化策略,如Big-Table,Hbase,Cassandra等采用的類似于LSM-Tree寫優(yōu)化結(jié)構(gòu),數(shù)據(jù)以SSTable的形式存儲在存儲介質(zhì)上。因此,未來的研究重點可以集中在基于新的粒度模型的熱點數(shù)據(jù)識別和數(shù)據(jù)遷移方面。
(4)高性能、可擴(kuò)展的大數(shù)據(jù)存儲優(yōu)化技術(shù):傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)以磁盤為基礎(chǔ)進(jìn)行設(shè)計,其核心算法包括體系結(jié)構(gòu)都是針對磁盤而優(yōu)化設(shè)計的。隨著閃存、PCM等新型存儲介質(zhì)的快速發(fā)展和產(chǎn)品化,在未來的計算機(jī)系統(tǒng)中,一種更為可行的方法是在系統(tǒng)中同時使用磁盤、閃存、SCM,RAM等存儲介質(zhì),構(gòu)建一個多介質(zhì)的混合存儲環(huán)境,從而發(fā)揮各種介質(zhì)的特性,在性能和價格上取得較好的折衷。數(shù)據(jù)庫系統(tǒng)的存儲優(yōu)化機(jī)理不僅要建立可以充分發(fā)揮新型存儲器件優(yōu)點的數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu),還要解決多介質(zhì)混合存儲時的系統(tǒng)優(yōu)化設(shè)計問題。此外,傳統(tǒng)的關(guān)系數(shù)據(jù)庫技術(shù)在可擴(kuò)展性方面存在不足,因此在大數(shù)據(jù)混合存儲系統(tǒng)的實現(xiàn)上,還需要綜合考慮NoSQL、列存儲等技術(shù),同時從性能角度還應(yīng)考慮內(nèi)存數(shù)據(jù)庫等技術(shù)。
5.2 面向新型存儲的大數(shù)據(jù)管理算法
新型存儲器件的發(fā)展要求數(shù)據(jù)庫技術(shù)充分結(jié)合存儲器件的特性,而現(xiàn)在的研究大都還停留在磁盤數(shù)據(jù)庫上,造成存儲與CPU之間的性能鴻溝,無法徹底解決計算機(jī)系統(tǒng)的性能瓶頸問題。同時,由于傳統(tǒng)關(guān)系數(shù)據(jù)庫在可擴(kuò)展性方面存在的不足難以滿足社會網(wǎng)絡(luò)、生物計算等領(lǐng)域的應(yīng)用需求,而大數(shù)據(jù)的海量、動態(tài)、多樣化等特征也對數(shù)據(jù)庫技術(shù)提出了新的挑戰(zhàn),因此面向新型存儲的大數(shù)據(jù)研究迫切需要設(shè)計有效的系統(tǒng)層核心算法。結(jié)合傳統(tǒng)DBMS的發(fā)展歷史,可以預(yù)計,面向新型存儲的大數(shù)據(jù)管理算法也將集中在索引、查詢處理等方面。
(1)基于新型存儲的大數(shù)據(jù)持久化算法:No-SQL數(shù)據(jù)庫系統(tǒng)普遍采用的日志追加寫、類LSM-Tree寫優(yōu)化雖然可以較好地適應(yīng)閃存的異地更新特性,但是往往采用為SSTable建立索引的方式彌補(bǔ)損失的查詢性能,系統(tǒng)運行時索引全部都需要在內(nèi)存中維護(hù),占用了大量內(nèi)存;同,如果SSTable較大,通過索引查找到SSTable之后的表順序查找,同樣會帶來延遲,因此需要內(nèi)存使用效率更高且查找效率高的存儲策略;陂W存的Key-Value存儲SILT設(shè)計了三種不同的鍵值存儲結(jié)構(gòu),降低了內(nèi)存占用率、減少了閃存I/O,對基于新型存儲的大數(shù)據(jù)持久化算法有啟發(fā)性作用。未來可研究的方向包括:針對不同應(yīng)用場景下高效的閃存持久化策略;提高內(nèi)存使用效率和查找效率的閃存存儲策略。
(2)基于新型存儲的大數(shù)據(jù)可靠性保障方法:Ramcloud中的副本管理策略對異構(gòu)性存儲副本管理有著啟發(fā)作用,結(jié)合不同存儲介質(zhì)之間的不同讀寫性能、成本、能耗等,將讀寫操作集中在性能較好的新型存儲上,而副本則保存在具有很高可靠性、低成本的磁盤等存儲介質(zhì)上。但是,隨之帶來了數(shù)據(jù)恢復(fù)問題,即如何從性能較差的磁盤存儲中快速恢復(fù)數(shù)據(jù)?這方面值得研究的工作包括基于多介質(zhì)分層存儲的副本管理策略、基于多介質(zhì)分層存儲的恢復(fù)策略等。
(3)基于新型存儲的大數(shù)據(jù)索引算法:分布式
雙層索引RT-CAN, EMINC中分別使用R-Tree,Tree提高其多維查詢效率,R-Tree,Tree等高維索引的頻繁更新在閃存上會造成寫放大和擦除,代價較大。而目前閃存數(shù)據(jù)庫中的索引研究主要集中在為數(shù)不多的樹結(jié)構(gòu),缺乏類似于R-Tree和KB-Tree的高效多維查詢索引。未來的一些發(fā)展方向包括:分布式多維索引設(shè)計、復(fù)雜數(shù)據(jù)索引(如物聯(lián)網(wǎng)數(shù)據(jù)、社會網(wǎng)絡(luò)數(shù)據(jù)等)、針對大數(shù)據(jù)復(fù)雜查詢的索引等。
(4)基于新型存儲的大數(shù)據(jù)查詢執(zhí)行算法:目前,大數(shù)據(jù)查詢處理通常采用MapReduce策略。閃存數(shù)據(jù)庫領(lǐng)域的一些連接算法對于基于Ma-pReduce的連接算法有很大的啟發(fā)作用。MapRe-duce連接操作主要考慮中間結(jié)果產(chǎn)生量、網(wǎng)絡(luò)傳輸量,中間結(jié)果需要寫到外部存儲,這對于閃存、PCM等來說代價非常昂貴。如果能夠盡量發(fā)揮閃存的快速讀性能,消除MapReduce連接產(chǎn)生的大量中間結(jié)果,則有望得到高效的大數(shù)據(jù)連接算法。但是,同樣也面臨著一些問題。首先,大數(shù)據(jù)查詢執(zhí)行中對內(nèi)存容量要求較高,但目前內(nèi)存單機(jī)容量已經(jīng)較難提升,易形成性能瓶頸;此外,仍然缺乏面向閃存的高效等值連接算法,如星型連接、鏈?zhǔn)竭B接等。因此,基于新型存儲的高效多表等值連接算法、基于新型存儲的高效MapReduce連接算法等可能是未來在大數(shù)據(jù)連接算法方面的發(fā)展方向。
(5)基于新型存儲的大數(shù)據(jù)查詢優(yōu)化算法:大數(shù)據(jù)環(huán)境中,隨著基于SSD的分層存儲系統(tǒng)的應(yīng)用越來越廣泛,存儲系統(tǒng)的異構(gòu)性越來越成為查詢優(yōu)化中的關(guān)鍵要素,這要求大數(shù)據(jù)管理系統(tǒng)能夠根據(jù)集群中不同節(jié)點的不同存儲性能,將更多的Ma-pReduce任務(wù)放置在存儲性能更強(qiáng)的節(jié)點上,從而提升查詢性能。因此,基于新型存儲的大數(shù)據(jù)查詢優(yōu)化算法可以集中研究考慮不同節(jié)點存儲設(shè)備的不同耐用性、I/O特性、訪存速度等因素的MapRe-duce任務(wù)調(diào)度算法。
5.3 能耗感知的大數(shù)據(jù)管理技術(shù)
能耗代價是大數(shù)據(jù)管理中的一個核心問題。傳統(tǒng)的數(shù)據(jù)管理技術(shù)通常以高性能為主要目標(biāo),忽略了能耗代價。隨著數(shù)據(jù)規(guī)模的快速增長,存儲和管理數(shù)據(jù)的能耗代價在數(shù)據(jù)中心的比例越來越高,因此研究能耗感知的大數(shù)據(jù)管理技術(shù)是未來大數(shù)據(jù)庫系統(tǒng)中必須考慮的一個重要方面。
傳統(tǒng)的磁盤存儲介質(zhì)能耗較大,而閃存、PCM等新型存儲介質(zhì)則具有相對更低的能耗代價,因此也為我們設(shè)計能耗感知的大數(shù)據(jù)存儲系統(tǒng)提供了新的支持。能耗感知的大數(shù)據(jù)管理技術(shù)涉及兩個層面的研究:一是DBMS的能耗有效性算法和技術(shù),主要研究DBMS能耗測試技術(shù)、能耗有效的查詢處理機(jī)制;二是以多個數(shù)據(jù)庫節(jié)點集群為背景的能耗均衡性實現(xiàn)方法,主要研究如何使數(shù)據(jù)庫節(jié)點集群以及存儲設(shè)備能夠根據(jù)負(fù)載動態(tài)地切換電源狀態(tài),以實現(xiàn)能耗與負(fù)載之間的匹配。這兩個方面的問題都涉及到數(shù)據(jù)庫系統(tǒng)架構(gòu)以及存儲架構(gòu)的重新設(shè)計,同時需要解決其中出現(xiàn)的一些新問題,具有很大的挑戰(zhàn)性。未來主要的研究方向包括:
(1)能耗有效的查詢優(yōu)化技術(shù):不同的查詢計劃已被證明具有不同的能耗,但目前已有研究沒有在查詢處理器中提供靈活的能耗和性能折衷的方案。因此,在查詢處理器中引人能耗代價,開展能耗有效的查詢優(yōu)化技術(shù)研究將是未來的一個主要研究方向。
(2)能耗均衡的數(shù)據(jù)庫節(jié)點集群體系結(jié)構(gòu):數(shù)據(jù)庫節(jié)點集群中一般包括計算節(jié)點、存儲節(jié)點以及控制節(jié)點。計算節(jié)點用于任務(wù)處理(例如Join操作),存儲節(jié)點提供數(shù)據(jù)存儲和管理,控制節(jié)點提供協(xié)調(diào)、控制等功能。計算架構(gòu)研究主要探討節(jié)點的分組、任務(wù)劃分、節(jié)點間的協(xié)同方式、狀態(tài)控制等問題。能耗均衡的主要思想是根據(jù)負(fù)載來動態(tài)切換節(jié)點的電源狀態(tài),因此,需要研究有效的算法來決定何時切換節(jié)點電源狀態(tài)。此外,對于存儲設(shè)備的能耗均衡性控制,也需要研究根據(jù)數(shù)據(jù)訪問的頻率、本地性等特征來動態(tài)切換存儲設(shè)備電源狀態(tài)的算法。
(3)能耗均衡的集群存儲分配方法:在數(shù)據(jù)庫節(jié)點集群中,存儲設(shè)備的能耗均衡性依賴于優(yōu)化的冷熱數(shù)據(jù)劃分算法以及存儲分配算法,同時還要考慮集群中存儲節(jié)點之間的數(shù)據(jù)復(fù)制策略,以保證在不同的訪問模式下存儲系統(tǒng)能夠使用盡可能少的設(shè)備就可以響應(yīng)數(shù)據(jù)訪問請求。存儲分配和復(fù)制策略還要避免頻繁地切換設(shè)備的電源狀態(tài)。
(4)面向集群的高能效緩沖區(qū)置換算法:在閃存數(shù)據(jù)庫方面的已有研究表明,不同的緩沖區(qū)管理策略對性能和能耗有著很大的影響。但是,以往工作主要是針對單節(jié)點數(shù)據(jù)庫服務(wù)器的緩沖區(qū)管理開展的,其主要目標(biāo)是提高緩沖區(qū)命中率和減少對存儲設(shè)備的。而面向集群的高能效緩沖區(qū)管理方法的目的是更好地實現(xiàn)存儲設(shè)備的能耗均衡性,即通過設(shè)計高能效的緩沖區(qū)管理機(jī)制,使得底層的存儲設(shè)備能夠在保證響應(yīng)性能的前提下減少帶電工作的存儲設(shè)備比例,從而實現(xiàn)降低能耗的目標(biāo)。這一問題是研究能耗均衡的數(shù)據(jù)庫節(jié)點集群中出現(xiàn)的新問題。
6.結(jié)束語
隨著新型存儲的快速發(fā)展和大數(shù)據(jù)時代的來臨,面向新型存儲的大數(shù)據(jù)管理將成為未來新的研究熱點。利用新型存儲的獨特優(yōu)勢來解決大數(shù)據(jù)管理中的關(guān)鍵問題是這一研究方向中的核心和要點。本文簡要論述了目前大數(shù)據(jù)管理面臨的問題,重點討論了新型存儲的特點;在此基礎(chǔ)上對結(jié)合新型存儲的大數(shù)據(jù)管理現(xiàn)狀進(jìn)行了梳理,總結(jié)了目前在大數(shù)據(jù)存儲架構(gòu)和管理算法方面的進(jìn)展;最后給出了面向新型存儲的大數(shù)據(jù)管理未來發(fā)展方向,以期對此領(lǐng)域未來的研究提供有價值的參考。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:面向新型存儲的大數(shù)據(jù)存儲架構(gòu)與核心算法綜述
本文網(wǎng)址:http://www.oesoe.com/html/support/11121511623.html