本篇內(nèi)容介紹了“數(shù)據(jù)庫中什么是非易失性內(nèi)存技術(shù)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
為密山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及密山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、密山網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Q1:非易失性內(nèi)存技術(shù)是什么?
Arulraj,Pavlo:他是一種廣泛的技術(shù),包括相變內(nèi)存和憶阻器。具有低延遲讀、堪比DRAM的寫速度,并具有持久特性和堪比SSD的大存儲容量。市場上Intel基于3D XPoint技術(shù)[1]出產(chǎn)了傲騰DC NVM模塊的產(chǎn)品。
Q2:基于易失性內(nèi)存和持久內(nèi)存的數(shù)據(jù)庫管理系統(tǒng)有哪些潛在的變化?
Arulraj,Pavlo:現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)分為兩大類:1)面向磁盤;2)面向內(nèi)存。面向磁盤的數(shù)據(jù)庫管理系統(tǒng)和1970年代的第一代關(guān)系數(shù)據(jù)庫基于的假設(shè)相同,比如IBM的R系統(tǒng)?;趦蓪哟鎯Γ靡资缘膬?nèi)存比如DRAM作為緩存,使用慢速、非易失的塊設(shè)備作為持久存儲器,比如SSD。這些系統(tǒng)基于一個悲觀的假設(shè):事務(wù)可以訪問不在內(nèi)存中的數(shù)據(jù),為了訪問磁盤上數(shù)據(jù)需要很長延遲。采用傳統(tǒng)技術(shù),比如沉重的并發(fā)控制機制來客服這些限制。
最近出現(xiàn)的商品化產(chǎn)品大大擴展了單機DRAM內(nèi)存。但是面向磁盤的數(shù)據(jù)庫系統(tǒng)并不是針對數(shù)據(jù)全部駐留在內(nèi)存場景而設(shè)計。針對NVM,面向磁盤數(shù)據(jù)庫許多部件都顯得冗余。
相反,面向內(nèi)存的數(shù)據(jù)庫架構(gòu)假設(shè)所有數(shù)據(jù)都在內(nèi)存,因此不需要慢速、面向磁盤的部件。因此面向內(nèi)存的數(shù)據(jù)庫優(yōu)于面向磁盤的數(shù)據(jù)庫。但是由于DRAM易失,系統(tǒng)崩潰后,為了恢復(fù)仍需要沉重的部件。隨著NVM的出現(xiàn),面向磁盤和面向內(nèi)存的數(shù)據(jù)庫架構(gòu)都將發(fā)生顛覆性影響。
Q3:現(xiàn)存的數(shù)據(jù)庫管理系統(tǒng)為什么不能充分利用NVM技術(shù)優(yōu)點?
Arulraj,Pavlo:NVM特性有:
1)可字節(jié)尋址:NVM和其他非易失性存儲(僅支持以塊為單位進行數(shù)據(jù)傳輸)不同,支持字節(jié)可尋址。
2)高速寫負(fù)載:相比SSD,NVM寫速度能高一個數(shù)量級。更重要的是隨機寫和順序?qū)懖罹嗪苄 ?/p>
3)讀寫不對稱。某些NVM技術(shù),寫會比讀花費的時間長。另外,過度寫單個內(nèi)存單元會損壞它。
NVM優(yōu)點顯而易見,在數(shù)據(jù)庫系統(tǒng)中充分利用他們非常重要。我們對面向磁盤和面向內(nèi)存數(shù)據(jù)庫在NVM上進行了評估,他們性能差不多。當(dāng)前數(shù)據(jù)庫管理系統(tǒng)假設(shè)內(nèi)存是易失的,因此他們的架構(gòu)需要將數(shù)據(jù)持久化到持久設(shè)備。這說明為充分利用NVM特性,需要重構(gòu)數(shù)據(jù)庫管理系統(tǒng)。
Q4:利用NVM,哪些傳統(tǒng)數(shù)據(jù)庫系統(tǒng)部件不是必要的?
Arulraj,Pavlo:針對NVM,需要重新設(shè)計數(shù)據(jù)庫系統(tǒng)的幾個關(guān)鍵部件:1)日志和恢復(fù)協(xié)議;2)存儲和buffer管理;3)索引數(shù)據(jù)結(jié)構(gòu)
舉例說明日志和恢復(fù)協(xié)議。一個數(shù)據(jù)庫系統(tǒng)需要確保數(shù)據(jù)的完整性。更新操作的事務(wù)在返回應(yīng)用成功前,需要將其數(shù)據(jù)持久化到持久設(shè)備如SSD。這樣的存儲設(shè)備比DRAM慢,尤其在隨機寫上,只支持以block為單位的傳輸。
事務(wù)處理過程中,如果在提交前需要覆蓋數(shù)據(jù)庫內(nèi)容,那么必須執(zhí)行隨機寫到磁盤。通過將隨機寫轉(zhuǎn)換成日志順序?qū)憗硖岣邤?shù)據(jù)庫性能。
NVM顛覆了WAL協(xié)議的設(shè)計,因為他支持快速的隨機寫。因此我們需要為NVM重新定制新協(xié)議。例如write behind logging(WBL)。WBL不僅能提高性能,也能使崩潰重啟恢復(fù)時快速完成。WBL追蹤數(shù)據(jù)庫哪些部分發(fā)生更改,而不是如何更改。用這樣的日志方法,數(shù)據(jù)庫可以不將數(shù)據(jù)記錄到日志,直接將其刷寫。通過排序?qū)懙絅VM,確保事務(wù)持久性和原子性,使每個事務(wù)寫更少數(shù)據(jù),提高NVM設(shè)備生命周期。
Q5:你們已經(jīng)設(shè)計開發(fā)了適配NVM的數(shù)據(jù)庫系統(tǒng)存儲引擎,關(guān)鍵模塊是什么?
Arulraj,Pavlo:傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)基于兩層架構(gòu):DRAM+SSD。這些設(shè)備具有各自的硬件特性和約束,傳統(tǒng)數(shù)據(jù)庫系統(tǒng)架構(gòu)基于減少這些影響的設(shè)計。例如依賴于這些設(shè)備,維護兩種元組布局。由于DRAM字節(jié)尋址并高效處理隨機讀寫,所以內(nèi)存中的元組可以報考non-lined字段。而存儲在SSD上的元組只存在inlined字段以避免隨機寫。為分?jǐn)傇L問持久設(shè)備的開銷,這些引擎通過批量寫入和刷新的方法進行延遲操作。然而,在具有NVM的存儲層次結(jié)構(gòu)的系統(tǒng)中,許多這樣的技術(shù)將不再是必要模塊。我們采用傳統(tǒng)引擎的存儲和恢復(fù)機制以利用NVM的特性。
例如,采用in-place update的NVM-aware存儲引擎。當(dāng)一個事務(wù)插入一個元組的時候,不需將其拷貝到WAL中以備恢復(fù)等,這個存儲引擎只需要在WAL中記錄一個元組的非易失指針即可。這非常高效,因為指針和元組都存儲在NVM上。因此系統(tǒng)重啟后,可以通過指針訪問元組,而不需要回放WAL。同樣將索引作為非易失的B+tree,系統(tǒng)重啟后無需重建可立即訪問。因為事務(wù)提交時,修改立即持久化,所以系統(tǒng)重啟后提交的事務(wù)也是持久的。因為內(nèi)存控制器刷寫對于的cache lines時機不確定,所以未提交事務(wù)進行的修改可能也持久化了。因此存儲引擎需要通過WAL回滾這些事務(wù)。由于恢復(fù)協(xié)議不包含redo處理流程,和傳統(tǒng)存儲引擎相比NVM-aware引擎具有更小的恢復(fù)延遲。
Q6:這邊書的要點是什么?
Arulraj, Pavlo: 這本書介紹了適配NVM的關(guān)鍵算法和數(shù)據(jù)結(jié)構(gòu),不僅提升性能和減小操作消耗,而且簡化了開發(fā)和崩潰恢復(fù)時間。我們的項目從2013年開始。我們也不太確定NVM技術(shù)是否能落地,但是2019年intel基于3D Xpoint技術(shù)的傲騰系列使之商品化。我們對NVM對下一代數(shù)據(jù)庫系統(tǒng)的影響感到興奮。
“數(shù)據(jù)庫中什么是非易失性內(nèi)存技術(shù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
當(dāng)前標(biāo)題:數(shù)據(jù)庫中什么是非易失性內(nèi)存技術(shù)
URL鏈接:http://aaarwkj.com/article46/jesjhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、電子商務(wù)、網(wǎng)站設(shè)計公司、Google、手機網(wǎng)站建設(shè)、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)