什么樣的存儲引擎 讓Oracle數(shù)據(jù)庫性能100%增長

博客
博客
數(shù)據(jù)正進一步凸顯其價值,越來越多企業(yè)開始意識到數(shù)據(jù)對業(yè)務的強大驅動力,希望收集更多數(shù)據(jù)并利用新的數(shù)據(jù)分析技術釋放其中的價值,這需要企業(yè)IT提供更好的支撐,但傳統(tǒng)基于IOE(即以IBM小機、Oracle數(shù)據(jù)庫和EMC存儲...

數(shù)據(jù)正進一步凸顯其價值,越來越多企業(yè)開始意識到數(shù)據(jù)對業(yè)務的強大驅動力,希望收集更多數(shù)據(jù)并利用新的數(shù)據(jù)分析技術釋放其中的價值,這需要企業(yè)IT提供更好的支撐,但傳統(tǒng)基于IOE(即以IBM小機、Oracle數(shù)據(jù)庫和EMC存儲為代表的關鍵業(yè)務系統(tǒng)架構)方式構建的企業(yè)數(shù)據(jù)中心已經很難適應數(shù)字化時代對IT的要求。

于是,在2011年前后,業(yè)界掀起“去IOE”風暴:用開放標準的x86硬件和開源軟件去替代傳統(tǒng)封閉的IT軟硬件。從過去幾年的實踐來看, Oracle數(shù)據(jù)庫目前仍是企業(yè)用戶的首選,但承載Oracle等關鍵業(yè)務數(shù)據(jù)庫的基石已經逐漸被x86和基于閃存的新一代存儲所替代。

1: 去I、E背后:x86與閃存的力量

經過十幾年的發(fā)展,x86平臺的計算性能和RAS特性(Reliability, Availability and Serviceability,可靠性、可用性與可維護性)都獲得極高的成就,已經不弱于甚至超過了以IBM Power為代表的小機。而經過最近幾年的實踐,x86平臺已經逐步取代了傳統(tǒng)小機。

E也正在被基于x86+全閃存配置的Server SAN所替代。在SATA/SAS SSD盛行的時代,與高端SAN相比,Server SAN可能性能還有不足之處。但隨著NVMe SSD和支持RDMA技術的25GbE技術的普及,Server SAN全面替代傳統(tǒng)SAN存儲已經成為可能。

NVMe SSD的普及能夠給創(chuàng)新型SDS方案提供商帶來彎道超車的機會,由于傳統(tǒng)SAN的可靠性設計需要雙端口存儲介質來實現(xiàn),盡管NVMe SSD也支持雙端口配置,但這意味著犧牲性能。而采用分布式架構、利用多副本數(shù)據(jù)保護機制的Server SAN則無此煩惱,也就是說利用NVMe SSD,Server SAN的性能將有可能超越傳統(tǒng)SAN存儲。

同時,傳統(tǒng)SAN所擅長的縱向擴展(Scale up)方式在NVMe SSD時代幾乎很難派上用場(只能提升容量),而其多個控制器之間需要專用物理通路的設計,意味著橫向擴展(Scale out)能力有限,這也是為何大多數(shù)高端存儲控制器通常最大支持8個的原因之一。

“去IOE”中的核心是“O”,但Oracle去I、E的嘗試比所謂的“去IOE”更早。Oracle在2008年推出了基于x86服務器的數(shù)據(jù)庫一體機Exadata,并從第二代開始采用服務器內置的PCIe SSD替代SAN存儲。在NVMe規(guī)范成熟之后,Oracle Exadata率先更新為NVMe SSD。

Oracle Exadata X7-2硬件配置,最小2數(shù)據(jù)庫服務器+3存儲服務器配置,存儲服務器均支持混合及全閃兩種配置,數(shù)據(jù)庫服務器支持最新的25GbE,存儲網(wǎng)絡依舊使用InfiniBand。

Oracle Exadata使用InfiniBand的主要原因在于其RDMA技術能夠帶來極低的延遲,有助于發(fā)揮NVMe SSD的優(yōu)勢。最新一代的25Gb/s以太網(wǎng)技術也將RDMA(即RoCE或iWARP)作為標配,這將極大地提升Server SAN的性能。并且,在25GbE性能不滿足需求的情況下,其也可以很便捷地升級到100Gb/s以太網(wǎng)。

8K尺寸數(shù)據(jù)塊是數(shù)據(jù)庫類應用最常見的塊大小,在使用支持RDMA技術的100GbE網(wǎng)絡下,相比于10GbE iSCSI,其有20倍的性能提升。

青云QingCloud的分布式塊存儲NeonSAN正是利用NVMe SSD+25GbE的組合,提供了極高的性能,并有效控制I/O延遲,這在上一篇文章中已經介紹過,在本文中,E企研究院將構建貼近真實的數(shù)據(jù)庫環(huán)境,以此評估NeonSAN在關鍵應用環(huán)境中的性能表現(xiàn)。

2:支撐關鍵應用 性能線性增長

E企研究院根據(jù)企業(yè)關鍵應用的特點,使用x86服務器、Intel NVMe SSD和25GbE構建了Oracle RAC數(shù)據(jù)庫環(huán)境,用以評估青云NeonSAN在OLTP中的性能表現(xiàn)。

E企研究院評估青云QingStor NeonSAN性能所構建的Oracle RAC架構及組件

在此測試環(huán)境中,E企研究院使用2臺配備兩顆Intel Xeon E5-2698 v4處理器的雙路服務器構建2節(jié)點的Oracle RAC數(shù)據(jù)庫應用環(huán)境,并安裝Oracle 12c數(shù)據(jù)庫軟件(包括Grid和Database)。

使用三臺配備兩顆Intel Xeon SP Gold 6140處理器的雙路服務器作為NeonSAN存儲節(jié)點,每節(jié)點上使用4片8TB容量的Intel DC P4510 SSD作為數(shù)據(jù)存儲。Intel DC P4510 SSD是Intel最新發(fā)布的采用3D NAND技術的SSD和新一代的閃存控制器的SSD家族,其最大容量可到8TB,結合企業(yè)數(shù)據(jù)中心優(yōu)化的固件,能夠給企業(yè)關鍵應用存儲帶來極高的性能和穩(wěn)定性。

3:基準性能測試:摸底NeonSAN

在進行正式測試之前,E企研究院先對QingStor NeonSAN的基準性能進行測試,以檢驗其是否正確安裝,獲得的測試結果也為后續(xù)Oracle RAC數(shù)據(jù)庫性能測試提供參考。

基準性能測試采用4K和8K兩種尺寸的數(shù)據(jù)塊進行隨機讀寫測試,4K的隨機讀寫性能是業(yè)界用于評估存儲性能的事實標準之一,8K則是數(shù)據(jù)庫類應用的常見數(shù)據(jù)塊大小。同時,分布式應用已經成為企業(yè)IT的主流架構,E企研究院也考量了NeonSAN在分布式環(huán)境下的性能表現(xiàn),如下圖所示:

QingStor NeonSAN在分布式環(huán)境下,4K、8K隨機讀寫IOPS與平均響應時間(Latency,ms)對比。

QingStor NeonSAN的4K、8K隨機讀寫性能。從測試結果來看,在單臺客戶端下發(fā)壓力情況下,4K與8K隨機讀寫性能都能接近或超過10萬IOPS,且平均響應時間在0.5~0.8ms之間,具有不錯的性能;而在2臺客戶端并發(fā)壓力下,其4K隨機讀寫性能分別達到了18.5萬和13.6萬IOPS,而8K隨機讀寫性能也分達到了18.6萬和11.7萬IOPS,相比單一客戶端下,性能至少提升了50%,而延遲增長卻并不明顯,仍保持較低水平。

同時,E企研究院還評估了NeonSAN在多個存儲卷下的性能增長情況,結果如下圖:

在單個壓力客戶端(圖上)和2個壓力客戶端(圖下)測試環(huán)境中,QingStor NeonSAN分別供應多個(1~4個)存儲卷下的性能(IOPS)和響應時間(Latency,ms)表現(xiàn)。

隨著NeonSAN卷數(shù)量的增加,其性能線性增長,而平均響應時間的增長并不明顯。在單臺客戶端性能測試中,在配置4個NeonSAN卷時,4K隨機讀寫和8K隨機讀性能均在30萬IOPS左右,8K隨機寫性能則能超過25萬IOPS,平均響應時間則均控制在1ms以內;在2臺客戶端并發(fā)壓力下,4K隨機讀寫性能分別達到了62萬和52萬IOPS,8K隨機讀寫性能則分別超過了47萬和42萬IOPS。

4:Oracle RAC測試 直面關鍵應用

基準性能測試只能反應存儲系統(tǒng)的性能表現(xiàn),上述測試結果表明QingStor NeonSAN已經安裝正常,可以接入已經構建好的Oracle RAC數(shù)據(jù)庫應用環(huán)境中。但需要注意的是,在進行Oracle RAC數(shù)據(jù)庫測試時,衡量的是包括Oracle數(shù)據(jù)庫服務器、測試環(huán)境網(wǎng)絡以及NeonSAN存儲的綜合性能表現(xiàn),這三者任意子系統(tǒng)出現(xiàn)瓶頸,都會影響測試性能。

所以在正式測試之前,還需確認其中某些子系統(tǒng)的瓶頸,以明確可能影響Oracle RAC數(shù)據(jù)庫性能的因素。E企研究院利用Oracle數(shù)據(jù)庫內嵌的一組命令來檢驗接入Oracle RAC環(huán)境后的QingStor NeonSAN性能。

與之前基準性能測試不同的是,這一項測試是基于RDBMS層的測試,其通過模擬Oracle數(shù)據(jù)庫的數(shù)據(jù)訪問特點來對后端NeonSAN存儲進行評估。上圖顯示在配置4個NeonSAN存儲卷后獲得最大接近35萬IOPS,然后即使再添加NeonSAN存儲,其性能幾乎不變。而且順序帶寬則在5個NeonSAN卷時獲得最高3.3GB/s吞吐量。

通過上述測試表現(xiàn),在接入2節(jié)點的Oracle RAC環(huán)境之后,NeonSAN在提供4個存儲卷時獲得最大隨機讀取性能。因此,根據(jù)這一結果,E企研究院為Oracle RAC數(shù)據(jù)庫環(huán)境共分配4個1TB容量的存儲卷,分別測試其在1~4個卷下的Oracle數(shù)據(jù)庫性能表現(xiàn),具體如下圖:

在Oracle RAC數(shù)據(jù)庫測試中,在配置3個卷作為Oracle數(shù)據(jù)庫存儲時,獲得超過165萬TPM(TransactionsPer Minute,每分鐘事務處理數(shù)),但再增加一個NeonSAN存儲卷,數(shù)據(jù)庫性能并沒有增加,這意味著在3個NeonSAN卷時,Oracle RAC應用的其他子系統(tǒng)已經出現(xiàn)瓶頸,導致盡管存儲性能增加,但應用性能并沒有增加。結合上一個測試結果,此時瓶頸可能出現(xiàn)在計算方面,即Oracle數(shù)據(jù)庫服務器的計算能力達到瓶頸。

通過監(jiān)控畫面可以看到,Oracle服務器的CPU平均利用率已經超過75%。結合以往E企研究院的測試經驗來看,通常情況下,服務器CPU利用率超過70%就意味著已經達到最佳計算性能,即使再增加負載,CPU占用率可能會進一步提升,但就應用來看,其性能并沒有增加,反而延遲可能會出現(xiàn)不利影響。因此,從測試結果來看,在配備3個NeonSAN卷做Oracle數(shù)據(jù)庫存儲時,整個Oracle RAC環(huán)境就已經達到最高性能,而在此環(huán)境中,Oracle服務器配備的是Intel Xeon E5-2698 v4處理器,要提升計算性能就只能更換到最新一代XeonSP系列中的頂級處理器,或者使用配備更多CPU的四路及以上服務器。

即使受到Oracle數(shù)據(jù)庫服務器計算性能的影響,在此Oracle RAC數(shù)據(jù)庫環(huán)境中,也取得了超過165萬TPM的性能,即每分鐘能夠完成超過165萬筆事務處理,這之中包括新增商品的添加、用戶的瀏覽、訂單的處理、修改以及訂單查詢、追蹤等等常見操作。平均到每秒的事務處理量為3萬筆,且每筆事務處理的響應時間不超過15ms。對于企業(yè)核心數(shù)據(jù)庫而言,NeonSAN不僅具有超高的性能,同時還具備極低的延遲,能夠為需求苛刻的關鍵業(yè)務應用提供強有力的支撐。

每分鐘165萬事務處理量意味著什么?E企研究院收集了目前較為熱門的相關行業(yè)或新秀公司,根據(jù)其公開資料/數(shù)據(jù)整理,以與NeonSAN的Oracle RAC數(shù)據(jù)庫性能對比,具體如下圖所示:

雖然上圖列出的訂單量與數(shù)據(jù)庫性能之間并不能劃等號,一筆訂單背后可能會有包括用戶登錄、用戶信息修改、產生訂單以及查詢等多個操作,但仍能提供部分參考建議。比如據(jù)國家郵政局的最新統(tǒng)計數(shù)據(jù)顯示,今年(2018年)前4個月全國快遞業(yè)務量累計完成136.7億件,平均到每天的快遞業(yè)務量約為1.14億件,按8小時計算,相當于每分鐘會產生23.75萬件快遞,相當于23.75萬筆訂單,每個訂單背后按5個數(shù)據(jù)庫操作計算(即1訂單需要5數(shù)據(jù)庫性能作為支撐),那么大約需要120萬的數(shù)據(jù)庫性能,即120萬TPM。

而通過E企研究院搜集的數(shù)據(jù)簡單計算的話,三節(jié)點(全NVMe SSD+25GbE)配置的NeonSAN存儲集群能支撐Oracle RAC數(shù)據(jù)庫達到165萬TPM性能,均能支撐上述應用數(shù)據(jù)庫所需的存儲性能,并有富余,可應對更高的業(yè)務峰值。

盡管因為具體到應用可能有不同的流程,會對后端存儲產生不同程度的性能需求。但E企研究院認為,QingStor NeonSAN完全有能力滿足絕大部分企業(yè)應用對塊存儲性能的需求。經E企研究院的測試表明,QingStor NeonSAN不僅是一款優(yōu)秀的Server SAN產品,符合SDS(Software Define Storage,軟件定義存儲)的軟硬件解耦、高可用、高可靠、彈性以及無廠商鎖定等特點,同時借助最新的NVMe SSD+25GbE網(wǎng)絡技術,能夠提供極高的性能和極低的I/O響應時間,完全有能力滿足企業(yè)關鍵應用負載所需的RAS特性和苛刻性能需求,助力企業(yè)向混合云邁進,為數(shù)字化轉型奠定堅實基礎。

5 應用案例:某保險企業(yè)借助NeonSAN打造核心業(yè)務存儲引擎

區(qū)塊鏈,人工智能,大數(shù)據(jù)等技術的迅猛發(fā)展給互聯(lián)網(wǎng)保險帶來消費場景、產品形態(tài)和營銷方式三大維度的顛覆,推動互聯(lián)網(wǎng)保險向新技術密集型經營模式轉型。在互聯(lián)網(wǎng)保險業(yè)務中,IT系統(tǒng)已經深入到產品開發(fā)、銷售、服務等流程的各個環(huán)節(jié),成為業(yè)務發(fā)展的核心驅動力,需要具備高效的業(yè)務支撐能力與高投資回報率。

某保險企業(yè)自開展互聯(lián)網(wǎng)業(yè)務以來,在線保險業(yè)務年均增長100%以上,原有數(shù)據(jù)庫一體機的物理硬件資源趨于飽和,不再支持擴容與升級。為了匹配將來的業(yè)務發(fā)展,該保險企業(yè)決定采用數(shù)據(jù)庫自Oralce一體機向x86平臺遷移的方案:將Oralce RAC數(shù)據(jù)庫遷移到物理機,使用NeonSAN集群作為后端存儲,提供數(shù)據(jù)庫支持服務,配置三副本的數(shù)據(jù)保護機制。

客戶收益

經過業(yè)務場景實測,基于NeonSAN的復雜視圖查詢響應時間從20分鐘以上縮小到2分鐘,精算準備金復雜SQL執(zhí)行效率從分鐘級縮小到秒級,實現(xiàn)效率100%的提升,可確保所有類型的數(shù)據(jù)處理都能夠實現(xiàn)卓越的性能。更快的查詢速度和更快的報表運行速度,幫助企業(yè)推動業(yè)務決策的制定、提高準確度并獲得高品質成果。

NeonSAN為最高級別的可用性奠定堅實的存儲平臺,可避免組件故障、網(wǎng)絡故障或者人為錯誤造成的業(yè)務中斷現(xiàn)象。與Oracle RAC搭配,應用程序和數(shù)據(jù)可實現(xiàn)最長的正常運行時間,讓客戶安枕無憂。

NeonSAN分布式架構,使存儲擴容時間從幾個月提升至幾天,提升速度高達10倍,有效滿足業(yè)務數(shù)據(jù)量激增的擴容需求,推動業(yè)務系統(tǒng)的平滑快速地發(fā)展。

THEEND