SAP HANA 和非易失性存儲(chǔ)
一種新硬件產(chǎn)品的推廣,必然需要有配套的軟件產(chǎn)品來助陣。SAP HANA 作為一款著名的企 業(yè)級(jí)內(nèi)存數(shù)據(jù)庫(kù)產(chǎn)品,正是持久化內(nèi)存最合適的場(chǎng)景之一。所以,SAP 和 Intel 二者很早 就開始相關(guān)產(chǎn)品的研發(fā)合作,這是一件再自然不過的事情了。SAP HANA 是市場(chǎng)上第一個(gè)針 對(duì) DCPMM(即Optane數(shù)據(jù)中心持久化內(nèi)存)優(yōu)化過的主流數(shù)據(jù)庫(kù)產(chǎn)品,SAP HANA 2.0 SPS 03 就已經(jīng)支持 DCPMM 了1。
SAP HANA 的架構(gòu)
SAP HANA 本質(zhì)上是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),它也是最早提出 HTAP 的企業(yè)級(jí)數(shù)據(jù)庫(kù)產(chǎn)品。因此, SAP HANA 給人的第一印象就是需要很多的內(nèi)存,例如好幾個(gè) TiB。因此,云廠商的超大內(nèi) 存規(guī)格就是為了 SAP HANA 這樣的產(chǎn)品準(zhǔn)備的。這也是為什么 DCPMM 作為一種新介質(zhì),很 早就吸引了 SAP HANA 的研發(fā)投入。
內(nèi)存數(shù)據(jù)庫(kù)的操作是以內(nèi)存為中心的,而不是像磁盤數(shù)據(jù)庫(kù)那樣將內(nèi)存作為磁盤的緩存。為 了保證數(shù)據(jù)的持久化,它仍然要依賴 WAL 機(jī)制先寫日志,也需要依賴檢查點(diǎn)等機(jī)制將數(shù)據(jù) 持久化。磁盤數(shù)據(jù)庫(kù)遇到重啟的時(shí)候,需要執(zhí)行崩潰恢復(fù)過程,才能提供服務(wù);內(nèi)存數(shù)據(jù)庫(kù) 也不例外,不過它的操作以內(nèi)存為中心,還需要將大量數(shù)據(jù)加載到內(nèi)存才可以工作。加速重 啟的恢復(fù)過程也是企業(yè)級(jí)數(shù)據(jù)庫(kù)一個(gè)很重要的優(yōu)化。從內(nèi)存和外存的角度看,SAP HANA 的 宏觀結(jié)構(gòu)如下2:
為了在 OLAP 和 OLTP 類訪問中獲得平衡,SAP HANA 在列存和壓縮的基礎(chǔ)上,將每列數(shù)據(jù) 分為兩個(gè)部分:Main 和 Delta。前者主要是只讀的,為 OLAP 類訪問優(yōu)化;后者為寫服務(wù), 為 OLTP 類訪問優(yōu)化。為了支持并發(fā)訪問,這兩部分都實(shí)現(xiàn)了 MVCC 。大致的架構(gòu)如下:
實(shí)際的系統(tǒng)結(jié)構(gòu)遠(yuǎn)比這個(gè)結(jié)構(gòu)圖要復(fù)雜,畢竟 SAP HANA 是一個(gè)完備的產(chǎn)品,也實(shí)現(xiàn)了很多 內(nèi)存數(shù)據(jù)庫(kù)、列存引擎的經(jīng)典特性。更多的資料請(qǐng)移步 SAP HANA 官網(wǎng)3。
SAP HANA 的優(yōu)化思路
在其他的文章中我已經(jīng)分析過 DCPMM 之類介質(zhì)的特點(diǎn),例如帶寬要稍遜于 DRAM,讀寫速度 不對(duì)稱等。SAP HANA 也對(duì)介質(zhì)的特點(diǎn)做了仔細(xì)的考量,結(jié)合 Main 內(nèi)存的訪問特點(diǎn)(例如 容量大、讀多寫少等),很自然的,先把 DCPMM 當(dāng)做字節(jié)尋址的持久化介質(zhì)用于 Main 內(nèi) 存的優(yōu)化。為了做到務(wù)實(shí)的架構(gòu)設(shè)計(jì),SAP 不可能對(duì) HANA 大動(dòng)干戈,為了 DCPMM 做全面 的改造,畢竟系統(tǒng)的備份、恢復(fù)、復(fù)制等都存在依賴。這也是寫 PAPER,做原型和在產(chǎn)品上 做改進(jìn)的重要區(qū)別。
SAP HANA 的優(yōu)化結(jié)果
原型系統(tǒng)2中討論較多場(chǎng)景下的性能改進(jìn),例如簡(jiǎn)單的 INSERT、SELECT、類 TPC-H 查詢、系統(tǒng)恢復(fù)時(shí)間等。但是需要注意的是,數(shù)據(jù)都是用 DRAM 附加延遲等模擬出來的, 不能代表實(shí)際的系統(tǒng)數(shù)據(jù)。產(chǎn)品1的性能給出的主要是系統(tǒng)恢復(fù)時(shí)間的減少, 以及 DCPMM 帶來的相對(duì) DRAM 的增加。
從圖中可以看出,系統(tǒng)啟動(dòng)的時(shí)間從 50 分鐘下降到了 4 分鐘,可以大大減少系統(tǒng)的停機(jī) 時(shí)間。
SAP HANA 的啟示
一種新硬件產(chǎn)品的推廣從來都不是凌空出世的,它需要很多年研究和開發(fā)的積累。與此同時(shí), 硬件還需要操作系統(tǒng)等基礎(chǔ)軟件環(huán)境的支撐,才可能被更上層的應(yīng)用軟件所用。此外,硬件 要被廣泛采用,必須要獲得 Killer Application 的支持。DCPMM 之類的新硬件,因?yàn)樗?dú) 特的特性,存在很多種用法。至于實(shí)際的系統(tǒng)中應(yīng)該采用哪種用法,就是應(yīng)用軟件各顯神通 之處了。
SAP HANA 產(chǎn)品中對(duì)新存儲(chǔ)介質(zhì)的引入必然是慎重的。首先是企業(yè)的預(yù)研部門對(duì)新介質(zhì)的用 法做出評(píng)估,并在以原型等形式予以實(shí)現(xiàn)和驗(yàn)證,其次才是真正的在產(chǎn)品中引入。最后,改 進(jìn)后的產(chǎn)品要真正發(fā)布給客戶并在實(shí)際系統(tǒng)中應(yīng)用。
Footnotes
1 https://blogs.saphana.com/2018/11/29/sap-hana-persistent-memory/
2 http://www.vldb.org/pvldb/vol10/p1754-andrei.pdf
3 https://www.sap.com/products/hana.html
-
DRAM
+關(guān)注
關(guān)注
40文章
2332瀏覽量
183916 -
非易失性存儲(chǔ)器
+關(guān)注
關(guān)注
0文章
107瀏覽量
23493
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
TPL1401數(shù)字電位器易失性和非易失性的區(qū)別是什么?
如何存儲(chǔ)應(yīng)用程序中使用的非易失性數(shù)據(jù)?
Cypress非易失性SRAM技術(shù)
非易失性串行FRAM有哪些優(yōu)勢(shì)
非易失性內(nèi)存有寫入限制嗎?
利用SD存儲(chǔ)介質(zhì)擴(kuò)展MAXQ2000的非易失性數(shù)據(jù)存儲(chǔ)空間
![利用SD<b class='flag-5'>存儲(chǔ)</b>介質(zhì)擴(kuò)展MAXQ2000的<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>性</b>數(shù)據(jù)<b class='flag-5'>存儲(chǔ)</b>空間](https://file1.elecfans.com//web2/M00/A4/CD/wKgZomUMNb-Ad492AAAXc2kf4e0430.gif)
一文知道新興非易失性存儲(chǔ)(NVM)市場(chǎng)及技術(shù)趨勢(shì)
![一文知道新興<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>性</b><b class='flag-5'>存儲(chǔ)</b>(NVM)市場(chǎng)及技術(shù)趨勢(shì)](https://file1.elecfans.com//web2/M00/A6/C5/wKgZomUMQE2ABpvTAAAaVfFuRDg261.jpg)
新型非易失存儲(chǔ)MVM數(shù)據(jù)管理
![新型<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>存儲(chǔ)</b>MVM數(shù)據(jù)管理](https://file.elecfans.com/web2/M00/49/87/poYBAGKhwMOAFwuEAAAcLYNBacE388.jpg)
非易失性NVSRAM存儲(chǔ)器的詳細(xì)講解
F-RAM非易失性存儲(chǔ)技術(shù)優(yōu)勢(shì)與安全氣囊設(shè)計(jì)資料下載
![F-RAM<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>性</b><b class='flag-5'>存儲(chǔ)</b>技術(shù)<b class='flag-5'>優(yōu)勢(shì)</b>與安全氣囊設(shè)計(jì)資料下載](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
SAP HANA如何使用非易失性內(nèi)存
![<b class='flag-5'>SAP</b> <b class='flag-5'>HANA</b>如何使用<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>性</b>內(nèi)存](https://file.elecfans.com//web2/M00/4A/6D/pYYBAGKjBbSAHvDZAAKM6CwX-9Y857.png)
簡(jiǎn)單的非易失性門控
![簡(jiǎn)單的<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>性</b>門控](https://file.elecfans.com//web2/M00/8A/D7/pYYBAGO_fu6ATYXLAAAHd70qj3s576.gif)
使用XOD訪問ESP32非易失性存儲(chǔ)
![使用XOD訪問ESP32<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>性</b><b class='flag-5'>存儲(chǔ)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論