其中,元數(shù)據(jù)層主要負(fù)責(zé)元數(shù)據(jù)的存取訪問服務(wù)以及事務(wù)控制。共享存儲(chǔ)(對(duì)象存儲(chǔ))層負(fù)責(zé)用戶數(shù)據(jù)持久存儲(chǔ),中間計(jì)算層為無狀態(tài)的計(jì)算服務(wù)。

當(dāng)然,龍趺集群規(guī)模不斷增大,其在數(shù)據(jù)存儲(chǔ)和使用中也會(huì)面臨一些挑戰(zhàn)。大量應(yīng)用接入數(shù)據(jù)庫,龍趺共享存儲(chǔ)中的文件數(shù)超過20億,而讀取訪問小文件對(duì)緩存影響極大,因此在高并發(fā)需求下規(guī)模化應(yīng)用如何提升本地緩存系統(tǒng)使用效率是一個(gè)挑戰(zhàn)。

服務(wù)器數(shù)量不斷增加,故障也隨之增多,資源動(dòng)態(tài)調(diào)配和故障自愈能力這些操作也會(huì)帶來緩存部分失效,如何實(shí)現(xiàn)節(jié)點(diǎn)間緩存的共享,以此最大限度減少緩存加載對(duì)應(yīng)用的影響也是挑戰(zhàn)。

以傲騰為代表的SCM助力分布式數(shù)據(jù)庫應(yīng)對(duì)存儲(chǔ)挑戰(zhàn)

建設(shè)銀行建信金科基礎(chǔ)技術(shù)中心首席存儲(chǔ)專家徐寧表示這兩個(gè)問題可以從三個(gè)方向進(jìn)行優(yōu)化——數(shù)據(jù)分布,單機(jī)性能以及格式性能。其中,存儲(chǔ)介質(zhì)、緩存分層、文件系統(tǒng)和緩存粒度和緩存格式是基于SCM的進(jìn)一步優(yōu)化。

以傲騰為代表的SCM出現(xiàn)帶來了高級(jí)數(shù)據(jù)服務(wù)能力,且具備實(shí)際價(jià)值?;旌习葱枋褂肈RAM和SCM,將存儲(chǔ)層的高級(jí)數(shù)據(jù)服務(wù)移植到內(nèi)存層,如高性能備份和恢復(fù)等。SCM應(yīng)用可以簡(jiǎn)化系統(tǒng)設(shè)計(jì),SCM的內(nèi)存特性簡(jiǎn)化軟件棧,更易于定制化實(shí)現(xiàn)需求。

比如,在做MPP計(jì)算時(shí)不需要一個(gè)文件中所有數(shù)據(jù),而是把文件里部分?jǐn)?shù)據(jù)按照范圍加載到當(dāng)時(shí)的計(jì)算集群緩存部分,比如上圖里的Block 1和Block 2,然后加載到具體計(jì)算機(jī)群節(jié)點(diǎn)上,變成兩個(gè)小文件,這是對(duì)象局部緩存的設(shè)計(jì)。

在這個(gè)前提下進(jìn)行單機(jī)優(yōu)化首要考慮的是應(yīng)用的SCM介質(zhì)。龍趺MPP DB采用英特爾? 傲騰?持久內(nèi)存作為SCM介質(zhì)替代了一部分DRAM帶來性能提高和長(zhǎng)壽命的優(yōu)勢(shì)。

DOIT總編宋家雨指出,內(nèi)存儲(chǔ)器如DRAM一旦出現(xiàn)故障,系統(tǒng)需要跨內(nèi)存儲(chǔ)器直接訪問外存儲(chǔ)器,消耗大量的網(wǎng)絡(luò)和存儲(chǔ)資源的同時(shí)導(dǎo)致性能大幅降低,而通過以傲騰為主的SCM+存儲(chǔ)分層是將熱數(shù)據(jù)緩存到新介質(zhì)上,冷數(shù)據(jù)則自動(dòng)存儲(chǔ)到經(jīng)濟(jì)型介質(zhì)上,以此找到性能,容量和成本結(jié)合點(diǎn),最大限度減少緩存加載對(duì)應(yīng)用的影響。

另一方面,針對(duì)海量小文件帶來的訪問性能下降,建行采用了很多辦法,比如用RocksDB取代本地文件系統(tǒng),優(yōu)化后對(duì)16KB以下的小文件取得了較大的性能提高。但是RocksDB也會(huì)帶來新問題——LSM Tree帶來的寫放大,LSM Tree分層級(jí),每次先寫journal(日志),再寫memory table(內(nèi)存表),然后并到leve1,leve2……重復(fù)寫入和數(shù)據(jù)逐級(jí)下沉造成了嚴(yán)重的寫放大問題。

因此,建設(shè)銀行在軟件方面采用了英特爾持久內(nèi)存開發(fā)工具包PMDK(Persistent Memory Development Kit),用pmemobj庫存放較大的值,然后用戶oid直接做索引,很好地解決寫放大的問題。

以libpmem庫為例,作為PMDK中的底層庫支持用內(nèi)存映射方式訪問持久內(nèi)存,一方面可將持久內(nèi)存上的文件映射到應(yīng)用的虛擬內(nèi)存空間進(jìn)行操作。通過規(guī)避內(nèi)核參與和上下文切換帶來的開銷,直接為上層應(yīng)用提供助力。

DOIT主編朱朋博表示,中國有句古話:勿以善小而不為。用傲騰部分替代DRAM,鑒于傲騰在容量密度和價(jià)格方面的優(yōu)勢(shì),聚沙成塔,當(dāng)服務(wù)器用量動(dòng)輒上萬時(shí),其所帶來的容量?jī)?yōu)勢(shì)不能低估。

傲騰持久內(nèi)存的技術(shù)展望

從建設(shè)銀行的數(shù)據(jù)庫案例來看,傲騰技術(shù)的引入幫助其完善了MPP數(shù)據(jù)庫的功能,為海量數(shù)據(jù)訪問和處理提供了強(qiáng)有力的支撐。未來,SCM解決方案除了作為緩存層,隨著傲騰技術(shù)不斷發(fā)展,容量與性能的擴(kuò)展,以及我們對(duì)內(nèi)存規(guī)模需求的不斷增加,是否會(huì)成為數(shù)據(jù)存儲(chǔ)的核心呢,畢竟技術(shù)新舊更迭是市場(chǎng)的運(yùn)行規(guī)則,接下來,傲騰觀察室將投入更多的時(shí)間和精力來觀察傲騰技術(shù)的新用例和新變化,敬請(qǐng)期待!

分享到

崔歡歡

相關(guān)推薦