英特爾® 傲騰? 持久內(nèi)存是Intel在2019年發(fā)布的一款革命性的產(chǎn)品,英特爾® 傲騰? 持久內(nèi)存是一種全新的內(nèi)存類型,其架構(gòu)設(shè)計旨在從數(shù)據(jù)中心中汲取更多價值,重構(gòu)數(shù)據(jù)中心內(nèi)存/存儲層次結(jié)構(gòu)。不同于傳統(tǒng)的DRAM,英特爾® 傲騰? 持久內(nèi)存集大容量、經(jīng)濟(jì)性和持久性于一身,能夠支持?jǐn)?shù)據(jù)中心多個應(yīng)用場景。浪潮基于英特爾® 傲騰? 持久內(nèi)存做了大量的應(yīng)用場景解決方案,覆蓋大數(shù)據(jù)分析、數(shù)據(jù)庫、云與虛擬化、分布式存儲等應(yīng)用場景。為了幫助用戶通過更加靈活的架構(gòu)來實現(xiàn)創(chuàng)新型的應(yīng)用,助力企業(yè)實現(xiàn)性能突破,浪潮發(fā)布了基于英特爾® 傲騰? 持久內(nèi)存技術(shù)的Oracle低延時交易應(yīng)用方案。
Oracle數(shù)據(jù)庫系統(tǒng)是美國Oracle公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前世界上使用較為廣泛的數(shù)據(jù)庫管理系統(tǒng)。Oracle數(shù)據(jù)庫支持OLTP(on-line transaction processing)和OLAP(On-Line Analytical Processing)兩大數(shù)據(jù)處理。OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易。OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。Oracle自O(shè)racle12C版本開始支持云計算技術(shù),提供In-Memory,多租戶等功能特性。
眾所周知,Oralce Online Redo Log是數(shù)據(jù)庫為了保證已提交的事務(wù)不會丟失而建立的一種機(jī)制,Redo主要記錄重構(gòu)、重做數(shù)據(jù)庫變更的重要信息,這些變更包括INSERT、UPDATE、DELETE、CREATE、ALTER或者DROP等。Redo的主要功能主要通過三個組件來實現(xiàn):Redo Log Buffer、LGWR后臺進(jìn)程、Redo Log file。Redo Log Buffer位于SGA之中,是一塊循環(huán)使用的內(nèi)存區(qū)域,其保存數(shù)據(jù)庫變更的相關(guān)信息,由于Redo Log Buffer是循環(huán)使用的,Oracle通過一個后臺進(jìn)程LGWR不斷把Redo Log Buffer的內(nèi)容寫出到Redo Log File中。Oracle數(shù)據(jù)庫事務(wù)在提交時并不強(qiáng)制寫入到數(shù)據(jù)文件中,但是會首先保證寫入到Redo log中,所以O(shè)racle數(shù)據(jù)庫Redo log所在存儲位置磁盤性能(Throughout和Latency)會對Oralce數(shù)據(jù)庫性能有較大影響。
挑戰(zhàn):存儲性能限制了Oracle低延時交易性能
在OLTP的場景中,交易延時(Latency)是衡量交易系統(tǒng)性能的重要指標(biāo),尤其是在金融、證券、期貨等行業(yè)的交易系統(tǒng)中,體現(xiàn)的尤其明顯。以證券交易系統(tǒng)為例,證券交易系統(tǒng)具有交易時間相對集中、交易指令和數(shù)據(jù)密集的特點,對交易系統(tǒng)處理速度具有很高的要求。近年來,全球各大交易所都在不斷對交易系統(tǒng)升級改造,其中“低延時”成為各大交易所競爭的核心,交易系統(tǒng)延時競爭已經(jīng)進(jìn)入微秒量級。目前,國內(nèi)交易所交易系統(tǒng)延時性能與國外頂級交易系統(tǒng)還存在一定的差距,需要進(jìn)一步加大投入進(jìn)行研發(fā)、建設(shè)。在建設(shè)“低延時”交易系統(tǒng)過程中,也就必然少不了對交易系統(tǒng)“低延時”性能的測試。
利用英特爾® 傲騰? 技術(shù)提升Oracle低延時交易能力
影響Oracle數(shù)據(jù)庫交易延時(Latency)的主要因素是Oralce Online Redo Log,Redo Log是數(shù)據(jù)庫為了保證已提交的事務(wù)不會丟失而建立的一種機(jī)制,而Redo Log的讀寫性能又受限于底層存儲設(shè)備的性能。而上一代的NAND SSD無法滿足低延時交易系統(tǒng)微秒級的響應(yīng)需求,3D XPoint是英特爾和鎂光聯(lián)合發(fā)布的一款革命性存儲類型,具有極低的延時、極高的性能和耐用性。
英特爾® 傲騰? 持久內(nèi)存是使用3D XPoint的一種全新內(nèi)存類型,其架構(gòu)設(shè)計旨在從數(shù)據(jù)中心中汲取更多價值,重構(gòu)數(shù)據(jù)中心內(nèi)存/存儲層次結(jié)構(gòu)。不同于傳統(tǒng)的DRAM,英特爾傲騰數(shù)據(jù)中心級持久內(nèi)存集大容量、經(jīng)濟(jì)性和持久性于一身,能夠支持?jǐn)?shù)據(jù)中心多個應(yīng)用場景,包括數(shù)據(jù)分析、數(shù)據(jù)庫和內(nèi)存數(shù)據(jù)庫、人工智能、高容量虛擬機(jī)、容器,以及內(nèi)容分發(fā)網(wǎng)絡(luò)等,使之在性能、可用性上有大幅度提升。英特爾® 傲騰? 持久內(nèi)存技術(shù)從根本上改變了數(shù)據(jù)中心的彈性,將內(nèi)存數(shù)據(jù)庫重啟時間從以前的幾天、幾小時縮短到現(xiàn)在的幾分鐘甚至幾秒鐘,并提供經(jīng)濟(jì)實惠的內(nèi)存空間,將系統(tǒng)內(nèi)存容量擴(kuò)展到前所未有的水平。
圖1
在現(xiàn)有存儲架構(gòu)中,內(nèi)存和存儲介質(zhì)之間存在容量、性能和時延的差距,英特爾® 傲騰? 持久內(nèi)存位于內(nèi)存和存儲介質(zhì)之間,能填補(bǔ)兩者間的性能和時延差距,對存儲層次模型進(jìn)行重新劃分和定義。英特爾® 傲騰? 持久內(nèi)存讀寫帶寬比NVME設(shè)備高數(shù)倍,并大幅降低延時問題。另外,由于寫入方式不同,英特爾® 傲騰? 持久內(nèi)存也比Flash NAND更耐用,并能支持比傳統(tǒng)DRAM更大容量的系統(tǒng)內(nèi)存配置。與傳統(tǒng)DRAM不同,英特爾® 傲騰? 持久內(nèi)存將提供前所未有的高容量,經(jīng)濟(jì)性和持久性組合。通過擴(kuò)展經(jīng)濟(jì)實惠的系統(tǒng)內(nèi)存容量(每個CPU Socket大于3 TB),最終客戶可以使用支持這種新型內(nèi)存的系統(tǒng),通過在處理器附近移動和維護(hù)更大量的數(shù)據(jù)來更好地優(yōu)化其工作負(fù)載,并很大限度地降低延遲從系統(tǒng)存儲中獲取數(shù)據(jù)。英特爾® 傲騰? 持久內(nèi)存將以每個模塊高達(dá)512GB的容量提供。同時,英特爾® 傲騰? 持久內(nèi)存具有的非易失性這一大優(yōu)勢能夠保證數(shù)據(jù)在掉電后或系統(tǒng)維護(hù)中不會丟失。
圖2
英特爾® 傲騰? 持久內(nèi)存通過兩種特殊的運行模式——App Direct模式和內(nèi)存模式,展現(xiàn)其獨特的能力。具體來看,采用App Direct模式,經(jīng)過專門調(diào)試的應(yīng)用程序可以從產(chǎn)品固有的持久性中充分獲取價值,同時獲得更大的容量;在內(nèi)存模式下,在受支持的操作系統(tǒng)或虛擬環(huán)境中運行的應(yīng)用程序可將該產(chǎn)品用于易失性存儲,在無需重寫軟件的情況下,有效利用高達(dá)512GB的內(nèi)存模塊帶來的附加系統(tǒng)容量,在大型內(nèi)存池中獲得新的洞察。
在數(shù)據(jù)時代,新一代數(shù)據(jù)中心對于加快數(shù)據(jù)的流動,提高數(shù)據(jù)的存儲和處理能力提出了更高的要求。在這種情況下,英特爾下一代至強(qiáng)可擴(kuò)展CascadeLake處理器與英特爾® 傲騰? 持久內(nèi)存成了新的強(qiáng)強(qiáng)組合。這一組合將改變云、數(shù)據(jù)庫、高性能計算、內(nèi)存分析和內(nèi)容分發(fā)網(wǎng)絡(luò)等關(guān)鍵數(shù)據(jù)工作負(fù)載,成為新的動力之源。
方案驗證:英特爾® 傲騰? 持久內(nèi)存性能優(yōu)勢顯著
基于Oracle應(yīng)用OLTP場景下,使用Intel® Optane DC Persistent Memory (AppDirect Mode)作為Oracle Redo Log存放介質(zhì)(Storage over AD),利用DCPMM 低latency和高Throughout特性,能夠提升Oracle在OLTP場景下事務(wù)的響應(yīng)時間及性能。
硬件配置:
8* 960GB Intel® SSD DC S4610 (RAID5)作為數(shù)據(jù)盤,DCPMM配置中使用DCPMM(over AD)作為Oracle18C Redo Log存放盤,常規(guī)方案中使用SAS SSD作為Oracle18C Redo Log存放盤。使用磁盤測試工具測試DCPMM與SAS SSD 磁盤的Latency,使用HammerDB數(shù)據(jù)庫壓力工具進(jìn)行TPC-C壓力測試。
Oracle數(shù)據(jù)庫性能評測使用通用測試工具HammerDB進(jìn)行測試,HammerDB提供TPC-C測試模型來評估OLTP應(yīng)用場景性能。磁盤Latency性能測試工具使用磁盤性能評估工具進(jìn)行測試。
Latency性能對比
DCPMM在Random Overwrite,Random Read,Sequential OverWrite,Sequential Read Latency均優(yōu)于SAS SSD。
TPC-C性能對比
HHammerDB 單用戶和多用戶Oracle數(shù)據(jù)庫性能TPM性能值比率大致如下:
多用戶并發(fā)情況下Hammerdb TPM與系統(tǒng)CPU利用率監(jiān)控如下:
在1Vuser時,使用英特爾® 傲騰? 持久內(nèi)存存放Redo Log,TPC-C性能相對于SAS SSD存放Redo Log性能提升約50%;
在64 vuser最大性能時,使用英特爾® 傲騰? 持久內(nèi)存存放Redo Log,TPC-C性能相對于SAS SSD存放Redo Log性能提升約5%左右;
通過TPM值監(jiān)控及CPU監(jiān)控,可發(fā)現(xiàn)使用英特爾® 傲騰? 持久內(nèi)存存放Redo Log相對于SAS SSD存放Redo Log時TPM值相對較為穩(wěn)定,CPU利率用也較為穩(wěn)定。
響應(yīng)時間對比
統(tǒng)計DCPMM和SAS SSD作為Redo Log存放介質(zhì)時,TPC-C測試模型中NewOrder事務(wù)響應(yīng)時間。
使用DCPMM,事務(wù)響應(yīng)時間明顯優(yōu)于使用SAS SSD。
效果:大幅改善 Oracle在低延時交易中的性能表現(xiàn)
英特爾® 傲騰? 持久內(nèi)存作為存儲使用,各項延遲指標(biāo)均低于SAS SSD,英特爾® 傲騰? 持久內(nèi)存作為存儲(storage over AD)存放oracle 18c redo log,Oralce數(shù)據(jù)庫性能能夠得到提升,減小交易響應(yīng)時間,滿足Oracle在低延時交易場景中苛刻的需求(延時更低、性能更高、企業(yè)級存儲),支撐核心交易系統(tǒng),大大降低交易延時,提高了可靠性和可用性,保證了業(yè)務(wù)持續(xù)可靠的運行。