<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 內存數據庫系統,NVDIMM和數據持久性

內存數據庫系統,NVDIMM和數據持久性

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

測試應用程序執行5次操作,每次循環(huán)構成一個(gè)事務(wù),并包含至少兩個(gè)操作實(shí)例(見(jiàn)圖2)?;鶞蕬贸绦蛴涗浽趦煞N類(lèi)型中的每一個(gè)(磁盤(pán)上的數據庫管理系統和帶事務(wù)日志的內存數據庫系統,或“IMDS+TL”)和兩種內存(和傳統DRAM)情況下每毫秒完成的循環(huán)次數。測試應用程序使用了eXtremeDB自己的C/C++應用編程接口(API)。

圖2:測試應用程序操作。

支持數據庫恢復的測試應用程序代碼可以充分利用eXtremeDB功能,而這種功能原本是增加來(lái)用于支持電池供電型RAM作為存儲器。這種功能可以在系統重啟后重新連接到NVRAM管理的eXtremeDB數據庫,啟動(dòng)任何必需的清零工作,然后恢復正常工作。應用程序的恢復算法假設分配作為MCO_MEMORY_ASSIGN_DATABASE的數據庫內存器件的內存塊可以在應用程序崩潰或電源故障之后重新使用,方法是用另外的標志MCO_DB_OPEN_EXISTING重新打開(kāi)它。

基準測試結果

從故障恢復是通過(guò)重啟測試系統中間執行程序進(jìn)行測試的。當系統恢復后,測試程序自動(dòng)重新啟動(dòng),訪(fǎng)問(wèn)前故障狀態(tài)的eXtremeDB數據庫(在恢復時(shí),已經(jīng)將數據庫從閃存加載到DRAM),檢查數據庫的一致性并恢復操作,并從與系統重啟之前使用的相同存儲空間訪(fǎng)問(wèn)數據庫。

在比較將NVDIMM用作主內存的“pure”內存數據庫系統(沒(méi)有事務(wù)日志)和使用傳統DRAM的相同數據庫配置下速度的測試中,兩種存儲類(lèi)型之間的任何差距都是可以忽略的。待測所有數據庫操作--插入、更新、刪除、索引搜索和表格遍歷--的性能差異都在所用測量技術(shù)的誤差范圍之內。有人可能將這種等效性歸因于加載進(jìn)CPU緩存的完整數據庫,以及在那里發(fā)生而不是在DRAM或NVDIMM那里發(fā)生的數據訪(fǎng)問(wèn)。然而,接近12MB的測試數據庫尺寸大大超過(guò)5MB的CPU緩存大小,測試應用程序則依靠隨機密鑰從數據庫中尋找隨機頁(yè)。

剩余測試專(zhuān)注于事務(wù)日志對內存數據庫系統性能的影響。內存數據庫供應商提供事務(wù)日志來(lái)減輕“pure”內存數據存儲的易失性。然而,事務(wù)日志要求永久存儲(進(jìn)行記錄),這會(huì )影響到內存數據庫系統的性能。正是出于這個(gè)理由,內存數據庫系統供應商經(jīng)常被問(wèn)到,他們的產(chǎn)品性能在采用事務(wù)日志部署時(shí)是否仍然超過(guò)磁盤(pán)上的數據庫管理系統。

上述測試力求回答這個(gè)問(wèn)題。用于永久存儲的“硬盤(pán)”實(shí)際上是一個(gè)將NVDIMM用作內存的RAM盤(pán)(基于內存的磁盤(pán)類(lèi)存儲器)。這種做法一方面是想進(jìn)一步測試AgigA Tech公司的產(chǎn)品(也就是說(shuō),為了確認它是否能創(chuàng )建RAM盤(pán),并有一個(gè)數據庫系統能與它交互),另一方面也是想證明采用事務(wù)日志的內存數據庫系統性能為何能夠超過(guò)磁盤(pán)上的數據庫管理系統。

除了它們使用的存儲器件(磁盤(pán)上的數據庫管理系統用的是硬盤(pán)或固態(tài)硬盤(pán),內存數據庫系統用的是DRAM)外,內存數據庫系統與磁盤(pán)上的數據庫管理系統還有很重要的區別。內存數據庫系統取消了緩沖管理、文件I/O和傳統數據庫管理系統架構中固有的其它開(kāi)銷(xiāo)源。取消硬盤(pán)--代之以RAM盤(pán)--可以消除因存儲器件的物理操作引起的開(kāi)銷(xiāo),從而突出內存數據庫系統的流線(xiàn)型設計的延時(shí)效應,它比磁盤(pán)上的數據庫管理系統更為復雜的處理強得多。

測試表明,對于插入、更新和刪除操作來(lái)說(shuō),采用事務(wù)日志的內存數據庫系統性能明顯超過(guò)傳統磁盤(pán)上的數據庫管理系統(同樣,兩者都使用RAM作為它們的“永久”存儲)。圖3顯示了每種配置條件下單位為循環(huán)/毫秒的結果,以及通過(guò)IMDS+TL所表現出來(lái)的性能翻倍。舉例來(lái)說(shuō),在數據庫刪除測試中,IMDS+TL要比磁盤(pán)上的數據庫管理系統快12.77倍。圖3還顯示了關(guān)閉事務(wù)日志、讓eXtremeDB作為將NVDIMM用作主存的“pure”IMDS進(jìn)行操作的性能影響。

圖3:結果。

數據庫索引搜索和表格遍歷表明,在從磁盤(pán)上的數據庫管理系統轉移到IMDS+TL時(shí),幾乎沒(méi)有性能上的變化。這種結果是在預料之中的,因為與插入、更新和刪除操作相比,這種數據庫“讀取”操作不會(huì )改變數據庫內容,在性能方面的成本通常低得多。

討論

NVDIMM在用作內存數據庫系統存儲器時(shí)可以匹配傳統DRAM的速度,同時(shí)提供完整的內存數據庫持久性。那么為什么還有人要用帶延時(shí)誘導事務(wù)日志的內存數據庫系統呢?這里有多種理由,包括成本,因為GB規模的NVDIMM成本要大于DRAM;想要使用非Intel Romley和Grantley的平臺;要求的數據庫大小(AgigA Tech公司的NVDIMM支持高達128GB的總內存容量)。如上述數字所示,增加事務(wù)日志實(shí)現數據持久性將降低內存數據庫系統的性能,但IMDS+TL組合在插入、更新和刪除操作時(shí)仍能超越傳統磁盤(pán)型數據庫管理系統的性能。

今后用戶(hù)會(huì )遇到的另外一個(gè)問(wèn)題是他們所選的內存數據庫系統是否支持將NVDIMM用作主要內存。如前所述,McObject的eXtremeDB內存數據庫系統包括許多功能--在產(chǎn)品開(kāi)發(fā)早期就加入的,用于支持與電池供電型RAM的交互--這些功能可以用NVDIMM平順地恢復數據庫。使用沒(méi)有這些功能的內存數據庫系統可能導致更高的復雜性,并且在實(shí)現可工作的解決方案之前需要很大的開(kāi)發(fā)和測試工作量。

另外值得注意的是,本文討論的數據庫持久性--也就是確保數據庫和所有提交的事務(wù)能在發(fā)生系統故障事件時(shí)得到恢復--有別于高可用性,或不停工操作的能力。雖然兩種技術(shù)都是想幫助數據庫經(jīng)受住故障,但如前所述,高可用性通常是通過(guò)復制實(shí)現的,故障轉移時(shí)間單位是毫秒。相反,持久性--帶事務(wù)日志的內存數據庫系統或將NVDIMM用作主存所能達到的--不保證消除停工時(shí)間。使用NVDIMM或事務(wù)日志進(jìn)行數據庫恢復通常是自動(dòng)的,但兩者最有可能的使用場(chǎng)景是在意外的系統宕機之后,這意味著(zhù)冷重啟(如重新啟動(dòng))這樣的時(shí)長(cháng)為分鐘級的過(guò)程。開(kāi)發(fā)人員在考慮用這些技術(shù)克服易失性問(wèn)題時(shí)應該理解數據庫高可用性和持久性之間的區別。



關(guān)鍵詞: 數據庫 NVDIMM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>