英特爾® 傲騰? 持久內(nèi)存是一款革命性的持久內(nèi)存產(chǎn)品,補(bǔ)齊了DRAM與磁盤(pán)之間的需求缺口,重構(gòu)內(nèi)存/存儲(chǔ)層次架構(gòu),集大容量、經(jīng)濟(jì)性和持久性于一身,幫助用戶(hù)優(yōu)化數(shù)據(jù)中心基礎(chǔ)設(shè)施,滿(mǎn)足大數(shù)據(jù)分析、數(shù)據(jù)庫(kù)、云與虛擬化、分布式存儲(chǔ)等多種應(yīng)用場(chǎng)景需求。為了幫助用戶(hù)通過(guò)傲騰持久內(nèi)存來(lái)實(shí)現(xiàn)應(yīng)用創(chuàng)新優(yōu)化,助力企業(yè)業(yè)務(wù)系統(tǒng)實(shí)現(xiàn)性能突破,浪潮發(fā)布了基于英特爾® 傲騰? 持久內(nèi)存的多種場(chǎng)景方案,本方案是基于英特爾® 傲騰? 持久內(nèi)存200系列的Oracle應(yīng)用方案。
Oracle數(shù)據(jù)庫(kù)是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類(lèi)大、中、小微機(jī)環(huán)境。它是一種高效率的、可靠性好的、適應(yīng)高吞吐量的數(shù)據(jù)庫(kù)方案。Oracle數(shù)據(jù)庫(kù)支持OLTP和OLAP兩大數(shù)據(jù)處理。OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易、飛機(jī)訂票、股票交易等。OLAP是數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀(guān)易懂的查詢(xún)結(jié)果。Oracle數(shù)據(jù)庫(kù)最新長(zhǎng)期公共版本為Oracle Database 19c。
Online Redo Log的維護(hù)和性能是影響Oracle工作的一個(gè)重要方面。Oralce Online Redo Log是數(shù)據(jù)庫(kù)為了保證已提交的事務(wù)不會(huì)丟失而建立的一種機(jī)制,能在數(shù)據(jù)庫(kù)crash時(shí),恢復(fù)數(shù)據(jù),保證數(shù)據(jù)不丟失。在數(shù)據(jù)庫(kù)操作中,只要有任何的數(shù)據(jù)塊變化,都會(huì)生成相應(yīng)的redo entry。
In-Memory特性是自O(shè)racle 12c版本開(kāi)始引入的重大新特性之一,本質(zhì)上是一種內(nèi)存計(jì)算技術(shù),它在內(nèi)存中開(kāi)辟了一個(gè)空間,按照列的方式存儲(chǔ)一份數(shù)據(jù)副本。用戶(hù)可以從內(nèi)存中快速地訪(fǎng)問(wèn)并對(duì)這些列式緩存數(shù)據(jù)進(jìn)行計(jì)算,從而提升數(shù)據(jù)庫(kù)查詢(xún)和分析的性能。整體而言對(duì)于OLAP系統(tǒng),In-Memory對(duì)于數(shù)據(jù)集市和查詢(xún)展現(xiàn)層都可以帶來(lái)明顯的性能提升。In-Memory使用的獨(dú)立內(nèi)存區(qū)域,且空間需求較大,因而為享有該特性性能提升,增加內(nèi)存縱向擴(kuò)展成為關(guān)鍵。
本方案介紹基于英特爾®傲騰?持久內(nèi)存技術(shù)在Oracle OLTP與OLAP場(chǎng)景下的最佳實(shí)踐。
圖1:英特爾® 傲騰? 持久內(nèi)存存儲(chǔ)層
英特爾®傲騰?持久內(nèi)存新一代產(chǎn)品200系列(Barlow Pass,即BPS)基于第三代英特爾®至強(qiáng)®可擴(kuò)展處理器優(yōu)化,容量有128GB、256GB和512GB三種。相對(duì)于上一代100系列產(chǎn)品,Ice Lake平臺(tái)單顆CPU容量最大支持到4TB,內(nèi)存頻率提升至3200MT/Sec,單通道平均性能提升25%。
英特爾®傲騰?持久內(nèi)存200系列具有兩種工作模式:內(nèi)存模式(MM)和App Direct 模式(AD)。
內(nèi)存模式,CPU內(nèi)存控制器將所有英特爾®傲騰?持久內(nèi)存200系列視為易失性系統(tǒng)內(nèi)存(無(wú)數(shù)據(jù)持久性),以更低的成本提供更大的內(nèi)存容量,無(wú)需更改應(yīng)用,并且性能接近 DRAM。
App Direct模式,能夠?qū)崿F(xiàn)較大內(nèi)存容量和數(shù)據(jù)持久性,支持持久內(nèi)存編程,軟件和應(yīng)用能夠直接與英特爾®傲騰?持久內(nèi)存通信,降低了堆棧的復(fù)雜性,并充分利用緩存一致性的字節(jié)可尋址特性,將持久內(nèi)存的使用擴(kuò)展到本地節(jié)點(diǎn)之外;App Direct模式提供一致的低延遲,同時(shí)支持更大的數(shù)據(jù)集。
圖2:英特爾®傲騰?持久內(nèi)存工作模式
場(chǎng)景一:OLTP
在OLTP場(chǎng)景下,使用英特爾®傲騰?持久內(nèi)存200系列(AppDirect Mode)作為Oracle Redo Log存放介質(zhì)(Storage over AD),利用PMem 低Latency和高Throughout特性,能夠提升Oracle在TPC-C測(cè)試模型中的TPM(Transaction Per Minute)性能值,及降低其事務(wù)響應(yīng)延遲。通用測(cè)試工具HammerDB進(jìn)行測(cè)試,使用HammerDB提供的TPC-C測(cè)試模型來(lái)評(píng)估OLTP應(yīng)用場(chǎng)景性能。
AD Mode測(cè)試配置(表1)
BPS |
SSD |
|
CPU |
Intel(R) Xeon(R) Gold 6348 CPU @ 2.60GHz 28C |
|
Mem |
16*32GB 3200 MT/s |
|
Redo Disk |
2*128G BPS(SoAD,2 regions,128G/region) |
2*480GB SSD(S4510,RAID1) |
Data Disk |
6*960G SSD(RAID5) |
表1:SSD vs BPS配置對(duì)比表
圖3:方案插法對(duì)比圖
TPC-C性能結(jié)果
測(cè)試結(jié)果TPM性能如圖4:
圖4:SSD vs BPS性能對(duì)比圖
測(cè)試CPU消耗監(jiān)控如圖5:
圖5:SSD vs BPS消耗CPU對(duì)比圖
在該OLTP測(cè)試中,性能瓶頸主要在于磁盤(pán)I/O。SoAD模式下,SSD、PMem分別作為redo盤(pán)的測(cè)試對(duì)比中,TPM性能BPS方案平均是SSD的2.2倍;CPU使用方面BPS方案平均是SSD 2.65倍,性能提升與CPU使用增長(zhǎng)基本一致。
響應(yīng)時(shí)間
SSD和PMem分別作為Redo Log存放介質(zhì)時(shí),統(tǒng)計(jì)TPC-C測(cè)試模型中NewOrder事務(wù)響應(yīng)時(shí)間如圖6。
注:P50為50%事務(wù)的平均響應(yīng)時(shí)間,P95為95%事務(wù)的平均響應(yīng)時(shí)間,P99為99%事務(wù)的平均響應(yīng)時(shí)間,相應(yīng)時(shí)間單位ms。
圖6:SSD vs BPS事務(wù)響應(yīng)時(shí)間對(duì)比圖
使用PMem和SSD分別作為Oralce 19c Redo Log,通過(guò)HammerDB測(cè)試不同并發(fā)數(shù)統(tǒng)計(jì)NewOrder的50%、95%、99%事務(wù)的平均響應(yīng)時(shí)間,BPS響應(yīng)時(shí)間要顯著優(yōu)于SSD。
場(chǎng)景二:OLAP
Oracle在OLAP場(chǎng)景下,數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)量都相對(duì)較大,啟用In-Memory功能特性,能夠有效的提升查詢(xún)性能。英特爾®傲騰?持久內(nèi)存200系列能夠使兩路平臺(tái)單顆CPU支持多達(dá)4TB的內(nèi)存容量,數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)量較大時(shí),使用英特爾®傲騰?持久內(nèi)存200系列(Memory Mode)能夠?yàn)镺racle數(shù)據(jù)庫(kù)服務(wù)器提供更大的內(nèi)存容量,更高的性?xún)r(jià)比。通用測(cè)試工具HammerDB進(jìn)行測(cè)試,使用HammerDB提供TPC-H測(cè)試模型來(lái)評(píng)估OLAP應(yīng)用場(chǎng)景性能,測(cè)試Vuser 1情況下22條SQL查詢(xún)執(zhí)行時(shí)間。
Memory Mode方案測(cè)試配置(表2)
DRAM |
BPS84 |
BPS44 |
|
CPU |
Intel(R) Xeon(R) Gold 6348 CPU @ 2.60GHz |
||
Mem |
32*32GB DDR4 |
16*16GB DDR4 |
8*16GB DDR4 |
BPS |
- |
8*128GB |
|
Redo Disk |
2*480GB SSD RAID1 |
||
Data Disk |
6*960GB SSD RAID5 |
圖7:方案插法對(duì)比圖
TPC-H查詢(xún)時(shí)間
TPC-H每項(xiàng)的5次測(cè)試平均用時(shí)結(jié)果如下:
說(shuō)明:BPS84,每顆CPU配置8根DRAM+4根BPS;BPS44,每顆CPU配置4根DRAM+4根BPS。
圖8:DRAM vs BPS查詢(xún)時(shí)間對(duì)比圖
●開(kāi)啟Oracle 19C的in-Memory功能能夠大幅縮短查詢(xún)用時(shí),1TB內(nèi)存配置方案: DRAM、BPS44、BPS84平均性能提升約2.9、3.2、3.4倍。
●非in-Memory下,BPS44和BPS84性能分別是DRAM的71.3%和79%。
●in-Memory下,BPS44和BPS84性能分別是DRAM的90.8%和92.2%。
在OLTP場(chǎng)景下,英特爾® 傲騰? 持久內(nèi)存替換SSD存放Oracle 19c Redo Log,大幅緩解I/O壓力,釋放算力,減小事務(wù)響應(yīng)時(shí)間,提升數(shù)據(jù)庫(kù)性能。
在OLAP場(chǎng)景下,英特爾® 傲騰? 持久內(nèi)存擴(kuò)展方案滿(mǎn)足Oracle性能需求,表現(xiàn)優(yōu)秀的穩(wěn)定性和性能,其價(jià)值在于以更低的成本提供更高的內(nèi)存容量。