使用NVDIMM能夠提升數(shù)據(jù)庫(kù)性能,但真正的價(jià)值在于虛擬集群以及加速分布式vSAN。
持續(xù)性動(dòng)態(tài)隨機(jī)訪問(wèn)內(nèi)存也被稱為存儲(chǔ)級(jí)內(nèi)存,目前是IT行業(yè)的一個(gè)熱門話題。“內(nèi)存內(nèi)”技術(shù)已經(jīng)將數(shù)據(jù)庫(kù)性能提升了100倍,使其得到了更廣泛的應(yīng)用。因此,共享內(nèi)存并減少訪問(wèn)永久存儲(chǔ)延遲的新技術(shù)已經(jīng)獲得了更多關(guān)注。
NVDIMM類型及用例
有幾種彼此矛盾的方法,一種方法是使動(dòng)態(tài)隨機(jī)訪問(wèn)內(nèi)存(DRAM)本身是持續(xù)的。可以在標(biāo)準(zhǔn)的雙列直插式內(nèi)存模塊(DIMM)內(nèi)增加備份閃存模塊,這樣當(dāng)電力供應(yīng)中斷或者出現(xiàn)故障時(shí)所有數(shù)據(jù)都被備份了。Viking Memory,Netlist以及Micron提供的DIMM模塊容量可以達(dá)到16GB。
第一種類型,非易失性雙列直插式內(nèi)存模塊-N(NVDIMM-N)與DRAM運(yùn)行機(jī)制非常類似,NVDIMM-N采用字尋址,需要刷新DRAM空間。
第二種類型,非易失性雙列直插式內(nèi)存模塊-F(NVDIMM-F),基本上是全閃存DIMM,運(yùn)行機(jī)制與使用塊-IO的磁盤(pán)更類似。NVDIMM-F比NVDIMM-N速度慢得多,但提供了更大的存儲(chǔ)容量,可以達(dá)到數(shù)TB。
這兩種類型的NVDIMM使用場(chǎng)景有所不同,由于可以很輕松地做成可掛載的磁盤(pán)驅(qū)動(dòng)器卷,因此在系統(tǒng)中添加NVDIMM-F要更容易。NVDIMM-F適合不需要進(jìn)行大量重寫(xiě)的應(yīng)用,通過(guò)使用RAMDisk軟件模塊,與真正的DRAM空間分離,NVDIMM-N也可以被做成可掛載的數(shù)據(jù)卷。在這種模式下,NVDIMM-N的延遲只有幾納秒。
為充分使用產(chǎn)品,必須對(duì)軟件進(jìn)行某些調(diào)整,但由于NVDIMM-N看起來(lái)就像是操作系統(tǒng)的另一個(gè)DRAM空間,因此相對(duì)于塊-IO訪問(wèn)方式,更有可能進(jìn)行擴(kuò)展操作并動(dòng)態(tài)提升性能。應(yīng)用、操作系統(tǒng)、編譯器以及連接裝入程序必須對(duì)持久性進(jìn)行識(shí)別。Intel的NVIDIA管理類庫(kù)解決了Linux平臺(tái)上的很多問(wèn)題,而且Intel和微軟正在協(xié)作推出針對(duì)Windows操作系統(tǒng)的解決方案。
以上軟件變更的投資回報(bào)就是可以以單詞甚至是字節(jié)為單位訪問(wèn)持久內(nèi)存。這意味著寫(xiě)入繞過(guò)了整個(gè)文件——IO堆棧而且能夠達(dá)到指令級(jí)的速度。寫(xiě)一個(gè)單詞只需要一個(gè)指令周期而不再需要上千個(gè),不再需要讀、修改、寫(xiě)操作。
針對(duì)數(shù)據(jù)庫(kù)的操作,效果非常明顯而且最多能有超過(guò)100倍的性能提升。
與RDMA共享NVDIMM空間
NVDIMM性能引發(fā)了數(shù)據(jù)完整性及數(shù)據(jù)共享問(wèn)題。發(fā)生故障時(shí)在服務(wù)器之間遷移驅(qū)動(dòng)器最原始的方法并沒(méi)有切斷驅(qū)動(dòng)器與DIMM之間的連接,尤其是當(dāng)位于云集群時(shí)更是如此。與NVDIMM進(jìn)行數(shù)據(jù)集成意味著或者將數(shù)據(jù)寫(xiě)入到可移動(dòng)的固態(tài)硬盤(pán)并損失性能,或者通過(guò)局域網(wǎng)將副本傳輸?shù)搅硪慌_(tái)服務(wù)器。
對(duì)當(dāng)今的大型虛擬機(jī)群來(lái)說(shuō),顯而易見(jiàn)的解決方法是使用盡可能快的網(wǎng)絡(luò)共享NVDIMM空間。這意味著通過(guò)以太網(wǎng)使用遠(yuǎn)程直接內(nèi)存訪問(wèn)(RDMA),非常適合NVDIMM的內(nèi)存范式。數(shù)據(jù)可以以很低的系統(tǒng)開(kāi)銷、延遲直接在NVDIMM模塊間移動(dòng)。而且RDMA支持詞組與字節(jié)操作,盡管我們需要擴(kuò)展這些功能才能使用上述描述中提到的NVDIMM-N發(fā)生的改變。
與此同時(shí),塊-IO允許我們構(gòu)建高速vSAN并通過(guò)集群共享持久性DRAM數(shù)據(jù)。速度效益可能相當(dāng)可觀。IBM、SuperMicro以及HPE已經(jīng)宣布支持NVDIMM產(chǎn)品,其他廠商有望跟進(jìn)。
未來(lái)的NVDIMM應(yīng)用
高速NVDIMM以及vSAN提供了很好的擴(kuò)展機(jī)會(huì)。“內(nèi)存內(nèi)”操作能夠?qū)Υ蠖鄶?shù)應(yīng)用進(jìn)行加速,減少任務(wù)運(yùn)行時(shí)間或者特定工作負(fù)載所需要的服務(wù)器數(shù)量。作為塊-IO設(shè)備,訪問(wèn)速度比最快的非易失性內(nèi)存快速SSD還要快,可以被視為超高速驅(qū)動(dòng)器或者作為DRAM容量擴(kuò)展器。
作為DRAM擴(kuò)展器,憑借能夠裝載更多的實(shí)例,即使是hypervisor以及容器也會(huì)受到直接影響。即使出于數(shù)據(jù)完整性考慮需要對(duì)全閃存陣列寫(xiě)入副本,NVDIMM也可以提升本地實(shí)例存儲(chǔ)的性能。NVDIMM方式還可以為公有云及私有云中的大數(shù)據(jù)及內(nèi)存數(shù)據(jù)庫(kù)實(shí)例提供便利。
Intel/Micron的 3D X-Point在2015年末推出,是一款采用SSD技術(shù)的NVDIMM產(chǎn)品。該類型的內(nèi)存承諾訪問(wèn)速度比閃存更快,但比DRAM慢5到10倍。如果名副其實(shí),那么X-Point會(huì)將NVDIMM存儲(chǔ)帶入到一個(gè)新的應(yīng)用級(jí)別。
NVDIMM以及DRMA網(wǎng)絡(luò)處于發(fā)展階段初期,伴隨著技術(shù)的不斷演變,我們將會(huì)看到軟硬件發(fā)生很多變化。盡管是新鮮事物,但它們承諾的收益非常棒,IT部門應(yīng)該開(kāi)始做好規(guī)劃,因?yàn)樵诮窈蟮膸啄戤?dāng)中NVDIMM以及DRMA網(wǎng)絡(luò)很可能在主流計(jì)算中發(fā)揮重要作用。