談 偉
(安徽財經(jīng)大學(xué),安徽 蚌埠 233030)
閃存數(shù)據(jù)庫技術(shù)綜述
談 偉
(安徽財經(jīng)大學(xué),安徽 蚌埠 233030)
近幾年,數(shù)據(jù)庫技術(shù)得到了快速發(fā)展,取得了不錯的成績,隨著計算機技術(shù)的日益成熟,數(shù)據(jù)庫技術(shù)已經(jīng)被應(yīng)用到了多個領(lǐng)域,取得了不錯的發(fā)展。目前,閃存數(shù)據(jù)庫是數(shù)據(jù)庫研究的主要方向。本文分析了閃存數(shù)據(jù)庫技術(shù)的研究成果與應(yīng)用,希望能提供些許參考。
閃存數(shù)據(jù)庫;信息技術(shù);數(shù)據(jù)庫技術(shù)
數(shù)據(jù)庫技術(shù)是計算機技術(shù)中的一個重要分支,其應(yīng)用十分廣泛,是計算機應(yīng)用系統(tǒng)和計算機信息系統(tǒng)的支柱和技術(shù)基礎(chǔ)。目前,人們在數(shù)據(jù)庫上的研究已經(jīng)取得一定的成就,并且將其應(yīng)用在多個領(lǐng)域中。但從實際情況來看,傳統(tǒng)的數(shù)據(jù)庫技術(shù)與系統(tǒng)之間的協(xié)調(diào)性已經(jīng)無法滿足計算機的運行,因此閃存數(shù)據(jù)庫出現(xiàn)在計算機中,這也對數(shù)據(jù)庫技術(shù)提出了更高的要求。
(一)閃存存儲管理
1.優(yōu)化閃存存儲芯片
目前,閃存存儲管理的主要目標(biāo)有以下兩點:數(shù)據(jù)的訪問性能以及存儲空間的高利用率。閃存空間管理是在空間管理機制的基礎(chǔ)上進行的,在空間的使用上需要在頁和塊的空間管理機制下完成。在頁的基礎(chǔ)上應(yīng)用管理空間,垃圾回收、地址轉(zhuǎn)換都具有不錯的性能,但是在實際運行過程中,對主存的消耗較大,而且隨著內(nèi)存的增大,消耗也會變大。如果管理基于塊進行,則可以降低主存消耗,但在利用空間過程中無法實現(xiàn)垃圾回收。從目前的研究結(jié)果來看,閃存存儲模式,存儲芯片的物理特性則表示閃存存儲在應(yīng)用中更加適用順序讀寫和隨機讀寫。
2.優(yōu)化閃存的主要措施
閃存設(shè)備最明顯的特征就是內(nèi)部軟硬件、存儲芯片,由于設(shè)備內(nèi)部軟硬件都是密封的,因此,在訪問上只能通過塊接口實現(xiàn)。由此可見,閃存設(shè)備存儲管理無法通過直接操作事項對內(nèi)部存儲的修改。在研究上,針對存儲設(shè)備的特點,從擦除操作和寫操作入手,從而實現(xiàn)對存儲和操作的優(yōu)化。
(二)緩沖區(qū)的管理
做好緩沖區(qū)管理模式提高閃存數(shù)據(jù)庫反問性能的關(guān)鍵措施之一。在研究閃存數(shù)據(jù)庫過程中,主要存在的管理問題集中在DBMS和SSD(閃存固態(tài)硬盤)兩個區(qū)域。DBMS區(qū)域主要面臨的問題如下:如果閃存設(shè)備的讀寫代價存在并補對稱,怎樣依據(jù)負(fù)載的差別,選擇合理的置換算法是一個難題,此外,在操作過程中還需要盡量將少設(shè)備在讀寫過程中失敗操作的次數(shù),提高DBMS區(qū)的命中率。SSD區(qū)需要面臨的問題要比DBMS多一個,不同的閃存設(shè)備的讀寫代價有所不同。因此,閃存數(shù)據(jù)庫系統(tǒng)中的緩沖去管理應(yīng)當(dāng)可以適應(yīng)不同的閃存設(shè)備,可以在不同的設(shè)備中完成對命中率的優(yōu)化,使系統(tǒng)的性能得到優(yōu)化。
(三)事務(wù)管理
數(shù)據(jù)庫系統(tǒng)的核心功能是恢復(fù)與并發(fā)控制,這兩項功能使數(shù)據(jù)庫具有保存數(shù)據(jù)和處理并發(fā)用戶的能力。閃存與磁盤相比在特性上有很多不同,因此兩者的I/O機制也有著很大不同,基于磁盤的I/O機制所設(shè)計的回復(fù)和并發(fā)控制機制并不能直接在閃存數(shù)據(jù)庫中應(yīng)用,在閃存的I/O機制上要涉及全新的恢復(fù)和并發(fā)控制策略。
人們在對閃存數(shù)據(jù)庫恢復(fù)研究中,提出了新的方法,該方法需要提供有效的、簡單的恢復(fù)操作,并且要能夠減少在恢復(fù)中容易出現(xiàn)的冗余情況,縮短恢復(fù)時間,并且要能夠?qū)θ罩窘Y(jié)構(gòu)起到一定的優(yōu)化作用,從而降低日志的冗余度,為系統(tǒng)運行提供更加高效的日志文件,將減少垃圾數(shù)據(jù)數(shù)量,提高存儲設(shè)備空間利用率。
通過實際應(yīng)用,不難發(fā)現(xiàn)SSD與磁盤相比優(yōu)勢十分明顯,但是在短時間內(nèi),磁盤還無法被SSD完全取代,目前以及在未來一段時間的主要研究方向都是將磁盤和SSD進行混合,在混合過程中需要對以下幾個影響因素進行重點考慮。
1.重點考慮SSD的壽命,不斷的增加內(nèi)存的存儲量是需要通過犧牲SSD壽命實現(xiàn)的,內(nèi)存運行過程中,過于頻繁的數(shù)據(jù)訪問,將會導(dǎo)致SSD的壽命縮短。因此,在SSD的研究過程中,其完全取代磁盤的一個關(guān)鍵問題就是SSD運行的穩(wěn)定性和可靠性。
2.考慮SSD的價格成本,雖然隨著技術(shù)的成熟,SSD的價格近幾年逐漸走低,當(dāng)時其價格與磁盤相比仍然十分昂貴,從目前SSD的市場價格來看,即使是低端產(chǎn)品,其價格也是磁盤的數(shù)十倍,價格可行性也是衡量SSD可行性的一個主要標(biāo)準(zhǔn)。
3.數(shù)據(jù)訪問具有局限性,混合系統(tǒng)在數(shù)據(jù)訪問過程中,經(jīng)常呈現(xiàn)出不均衡的情況,經(jīng)常會出現(xiàn)一段時間,數(shù)據(jù)庫中的部分?jǐn)?shù)據(jù)被集中訪問,而其中40%的數(shù)據(jù)的訪問頻率偏低,依據(jù)磁盤和SSD兩者物理特定的相互組合,應(yīng)當(dāng)具有選擇性的將數(shù)據(jù)分配到不同的存儲介質(zhì)中。例如,操作密集、訪問量大、熱度高的數(shù)據(jù)交給SSD處理,通過合理的數(shù)據(jù)分配,不僅可以確保大數(shù)據(jù)、高吞吐的需求,同時也可以提高系統(tǒng)的運行效率,降低企業(yè)的運行成本。在對混合存儲系統(tǒng)進行應(yīng)用過程中,需要對磁盤和SSD混合存儲的結(jié)構(gòu)特點進行分析,目前針對混合存儲數(shù)據(jù)庫管理的研究主要包括以下兩點:SSD和磁盤同作二級存儲;SSD作為內(nèi)存的擴展緩存。
(一)SSD和磁盤同作二級存儲
1.用磁盤寫SSD緩存
為了降低隨機寫操作對SSD性能以及壽命的影響,Griffin通過對日志的應(yīng)用,將內(nèi)存所換出的臟頁依據(jù)相應(yīng)的順序?qū)懭氲酱疟P中,然后后臺的程序在運行過程中,會依據(jù)相應(yīng)的條件將磁盤上的日志和SSD上的原始數(shù)據(jù)進行合理結(jié)合,然后生成新的數(shù)據(jù)。在研究過程中,可以依據(jù)頁面分類思想,將分類系統(tǒng)對SSD的隨機寫操作暫時存在磁盤中,然后利用磁盤將這些隨機寫操作序列寫回到SSD中。
利用磁盤在SSD中寫緩存,使磁盤和磁盤陣列順序訪問好的特點得到發(fā)揮,通過對SSD的隨機讀取數(shù)據(jù),然后進行合并,最后將數(shù)據(jù)寫到SSD上。在操作過程中需要注意的是,磁盤I/O頻繁的數(shù)據(jù)合并,會導(dǎo)致系統(tǒng)在應(yīng)當(dāng)訪問模式和密集的更新操作變得更加困難。
2.利用SSD存儲特點數(shù)據(jù)
SSD隨機讀性能良好,在應(yīng)用過程中,對數(shù)據(jù)類型和負(fù)載訪問特征進行分析,然后將索引文件、讀取操作頻繁的數(shù)據(jù)、臨時表都存儲在SSD上,從而使系統(tǒng)的數(shù)據(jù)處理能力得到進一步提高。
在數(shù)據(jù)庫系統(tǒng)中會含有許多存在明顯特征的數(shù)據(jù)。例如,在數(shù)據(jù)庫的運行過程中,為了確保數(shù)據(jù)庫的一致性,應(yīng)當(dāng)在事務(wù)提交前將日志書寫到外存中,預(yù)寫日志如果引發(fā)頻繁的數(shù)據(jù)訪問,將會對數(shù)據(jù)庫的系統(tǒng)的整體性能造成不良影響。在數(shù)據(jù)庫系統(tǒng)運行過程中,利用SSD對這些特定的數(shù)據(jù)進行存儲,可以使磁盤的I/O壓力得到一定的緩解。一些研究人員,在對數(shù)據(jù)庫系統(tǒng)進行研究過程中,發(fā)現(xiàn)一些數(shù)據(jù)對系統(tǒng)的性能會造成一定程度的影響,因此將這部分?jǐn)?shù)據(jù)備份到SSD中,在數(shù)據(jù)庫運行過程中,在SSD完成對特點數(shù)據(jù)的修改后,再將其寫到磁盤中。通過SSD存儲查詢連接生成臨時表、中間結(jié)果數(shù)據(jù)等操作,也可以使Hash、循環(huán)嵌套、排序——合并等連接算法性能。
(二)SSD作為內(nèi)存的擴展緩存
信息技術(shù)高速發(fā)展,在一定程度上也加快了內(nèi)存讀寫速度,磁盤與內(nèi)存之間的鴻溝也在逐漸擴大。雖然,科技的發(fā)展使得一些大型數(shù)據(jù)中心配置內(nèi)存的容量得到了進一步提升,但從實際情況來看,內(nèi)存的增長速度與數(shù)據(jù)的增長速度相比仍然顯得力不從心,實際操作中,如果只是簡單的內(nèi)存進行擴充,不僅需要消耗大量的財力,而且還需要耗費大量的資源,是一種極不理智的行為。SSD則彌合了磁盤與內(nèi)存之間性能存在的差距,在磁盤和內(nèi)存之間適當(dāng)?shù)募尤隨SD作為擴展緩存層,不僅可以使緩沖區(qū)的訪問性能得到提高,而且可以縮短系統(tǒng)在運行過程中的恢復(fù)時間,使磁盤的I/O壓力得到緩解。SSD作為系統(tǒng)擴展架構(gòu)如圖1所示。
圖1 SSD做擴展緩存框架
在圖1中,SSD起到的主要作用是對內(nèi)存中置換出的數(shù)據(jù)進行暫時保存,如果系統(tǒng)在運行過程,內(nèi)存缺頁發(fā)生中斷,系統(tǒng)首先會對SSD中數(shù)據(jù)進行訪問,如果命中,則要將數(shù)據(jù)讀入內(nèi)存,若未命中,則從磁盤中進行數(shù)據(jù)讀取,將SSD作為擴展內(nèi)存,在實際應(yīng)用中需要解決以下問題。
1.在內(nèi)存中的哪些數(shù)據(jù)需要緩存在SSD中,何時需要進行緩存。不同于單一類型介質(zhì)緩沖區(qū)管理,如果處于介質(zhì)多級緩存環(huán)境下,緩沖區(qū)替換算法必須要考慮數(shù)據(jù)頁讀寫狀態(tài)、訪問形式、應(yīng)將情況等各個方面的因素。
2.SSD中的數(shù)據(jù)通過何種方式進行組織,數(shù)據(jù)如何寫回磁盤活被換出。SSD將剛出內(nèi)存的數(shù)據(jù)進行暫存,對這些數(shù)據(jù)進行合理的存儲,有利于內(nèi)存發(fā)生缺頁時對SSD中的數(shù)據(jù)進行快速識別和存儲。如果,SSD的可用空間低于設(shè)定條件時,應(yīng)當(dāng)將部門數(shù)據(jù)頁換出,臟頁需要被寫回磁盤,在分析后,設(shè)計出適合SSD讀寫特性的替換策略的系統(tǒng)性能,這對提升混合數(shù)據(jù)庫系統(tǒng)性能十分重要。
雖然SSD在企業(yè)中已經(jīng)得到了廣泛的應(yīng)用,但目前研究的基本方針還是如何提高SSD的性能。就目前情況來看,雖然閃存和SSD已經(jīng)是一
種比較常見的存儲方式,但就其發(fā)展的情況來看,閃存在短時間內(nèi)無法完全取代磁盤,未來的發(fā)展很有可能是磁盤、RAM、閃存以其它存儲介質(zhì)共同存在的一種情況,因此在對閃存的混合技術(shù)進行研究過程中,要加強對緩沖區(qū)設(shè)計、存儲架構(gòu)、查詢處理算法等內(nèi)容進行重點研究分析。此外,近幾年,變相存儲器等新型存儲技術(shù)的發(fā)展對數(shù)據(jù)存儲也帶來了新的問題和啟示,新型的存儲介質(zhì)對基于閃存的數(shù)據(jù)庫存系統(tǒng)使用的限制是未來的一個研究方向。
[1]嵇智源,潘巍. 面向大數(shù)據(jù)的內(nèi)存數(shù)據(jù)管理研究現(xiàn)狀與展望[J]. 計算機工程與設(shè)計,2014,(10):3 499~3 506.
[2]徐鵬. 閃存的數(shù)據(jù)庫性能評測與優(yōu)化研究[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014,(6):142~145.
[3]鄭開. 閃存數(shù)據(jù)庫緩沖區(qū)置換算法綜述[J]. 微型機與應(yīng)用,2015,(6):7~9.
[4]房俊華,王翰虎,陳梅,等. 一種具有自適應(yīng)機制的閃存數(shù)據(jù)庫索引結(jié)構(gòu)[J]. 計算機應(yīng)用,2013,(2):563~566.
[5]林子雨,賴明星,鄒權(quán),等. 基于替換概率的閃存數(shù)據(jù)庫緩沖區(qū)替換算法[J]. 計算機學(xué)報,2013,(8):1 568~1 581.
[6]董崇文. 探析大容量NAND閃存數(shù)據(jù)庫存儲管理技術(shù)[J]. 計算機光盤軟件與應(yīng)用,2013,(22):101~103.
[7]黃志峰,楊良懷,龔衛(wèi)華,等. kμ-Tree:一種空間有效的嵌入式閃存數(shù)據(jù)庫索引[J]. 小型微型計算機系統(tǒng),2010,(6):1 097~1 101.
2095-4654(2016)12-0080-03
2016-06-23
TP311
A