而當(dāng)我繼續(xù)查看Exadata X5的資料時,發(fā)現(xiàn)ODA的架構(gòu)顯得太簡單了。
伴隨Oracle Exadata X5的發(fā)布,人們注意到硬件性能的又一次提升,其中包括NVMe SSD——PCIe插卡和SFF-8639驅(qū)動器的形式,具體是怎樣使用的呢?
本次的新型號包括Oracle Exadata Database Machine X5-2,以及Oracle Exadata Storage Expansion Rack X5-2兩款,顧名思義,后者是個存儲擴(kuò)展機(jī)柜。此外,計算和存儲節(jié)點數(shù)量的搭配,在原有Full Rack(滿配機(jī)架)、Half Rack(半配)、Quarter Rack(1/4配)和Eighth Rack(1/8配)之外,還加入了更加靈活的彈性配置和擴(kuò)展方式。
筆者不是DBA(一直很崇拜DBA),因此將站在系統(tǒng)工程師,或者說規(guī)格參數(shù)的角度談?wù)剬xadata X5的彈性擴(kuò)展以及存儲配置——特別是閃存性能方面的理解。
1U數(shù)據(jù)庫服務(wù)器和40Gb IB內(nèi)部互連,就不多講了。
X5-2的存儲服務(wù)器節(jié)點分為兩種:Extreme Flash(EF) Storage,12.8TB PCIe全閃存盤;High Capacity (HC,高容量) Storage,6.4TB PCIe閃存卡+48TB SAS硬盤混合存儲。
如上圖,SSD用了哪家大家也知道的差不多了。每個Extreme Flash存儲服務(wù)器上有8個1.6TB SSD,2U機(jī)箱容納2.5寸盤遠(yuǎn)不止這些,那么應(yīng)該是考慮容量/成本的平衡,以及匹配單個節(jié)點計算和網(wǎng)絡(luò)資源。
接著在性能表格中,也能看出Full Rack——8個DB+14個存儲服務(wù)器OLTP讀/寫
IOPS (8K) 都是414萬。單從閃存介質(zhì)的角度看寫比讀慢,而且ASM Normal冗余(雙副本)的寫開銷為讀的兩倍,High三副本就更大了。我初步理解是SQL處理的瓶頸。
High Capacity大容量存儲服務(wù)器是個混合的配置,其中1.6TB PCIe SSD用了4塊,4TB SAS硬盤為12塊。除了讀IOPS之外,其余指標(biāo)都比前面的Extreme Flash有所降低。由于SSD在這里用于讀寫緩存,沒有全閃存配置的數(shù)量多,所以寫IOPS已經(jīng)低于讀(SSD開始成為瓶頸)。
上圖就是X5 High Capacity存儲服務(wù)器節(jié)點使用的閃存卡,Oracle/Sun的型號為F160,順便也幫Intel SSD DC P3600做廣告了。(以前用LSI卡時圖片上沒有l(wèi)ogo,參見我兩年多以前寫的《甲骨文Exadata X3:1/8機(jī)架的“數(shù)字游戲”》)
如上表,Intel P3600這塊產(chǎn)品的性能表現(xiàn)在PCIe SSD中算一般水平吧。一方面沒有像P3700那樣使用高耐久度的High Endurance Technology (HET)閃存,也就是普通MLC而非“eMLC”,寫入性能和壽命都受到影響。如上圖,盡管標(biāo)稱最大隨機(jī)讀/寫IOPS(4KB)為450,000和56,000,但8KB時就下降到260,000和33,000。
Intel這款SSD的一大優(yōu)勢是較早地支持了NVMe,擔(dān)心NVMe不夠成熟的人可以看看,現(xiàn)在至少某些Linux版本(Oracle Linux 6 Update 6 with the Unbreakable Enterprise Kernel 2)下已經(jīng)可用了。
延伸閱讀:《破解PCIeSSD進(jìn)化:從踩坑到解決方案》
接下來我們看看“彈性配置”。上圖左半邊是Exadata X3-2,支持?jǐn)?shù)據(jù)庫服務(wù)器2-8臺、存儲服務(wù)器3-14臺,實際上就那4款具體配置,不能隨便選;而到了Exadata X5-2,支持?jǐn)?shù)據(jù)庫服務(wù)器2-19臺、存儲服務(wù)器3-18臺。也就是說數(shù)據(jù)庫服務(wù)器最少配1臺,最多占滿機(jī)柜(此時要連接存儲擴(kuò)展機(jī)柜了);存儲服務(wù)器為了高可用還是以3臺起步,最多18臺?;旧暇褪菦]有限制的靈活搭配了。
需要說明的是,上述性能指標(biāo)應(yīng)該是在理想狀態(tài)下——執(zhí)行最簡單的SQL;性能隨節(jié)點數(shù)完全線性擴(kuò)展,也是在RAC集群基本沒有跨節(jié)點Cache Fusion操作的情況下。所以注釋的第一行就說明了,真實環(huán)境中根據(jù)應(yīng)用情況會有變化。
上表的標(biāo)題為“彈性擴(kuò)展”,最左邊的多機(jī)架連接,以及最右邊的1/8機(jī)架到1/4機(jī)架升級(實際上就是激活個License,硬件是相同的)都是Exadata X3乃至更早就有的。而中間的“擴(kuò)展計算能力”和“擴(kuò)展存儲能力”則是X5新增。
中間用藍(lán)色圈出的那一段,是本文中核心計算規(guī)則:“彈性配置的性能計算,來自數(shù)據(jù)庫服務(wù)器性能總和,以及存儲服務(wù)器性能總和的最小值。舉例,一個配置包含3臺數(shù)據(jù)庫服務(wù)器(3×518,000=1554K讀IOPs)和4臺HC存儲服務(wù)器(4×400,000=1600K讀IOPs),將擁有1554K IOPs的性能。”
Exadata的SQL的處理既可以在數(shù)據(jù)庫服務(wù)器上進(jìn)行,也可以卸載數(shù)據(jù)密集型SQL操作到存儲服務(wù)器,但二者的性能計算不可疊加。X5-2數(shù)據(jù)庫服務(wù)器(2顆18核Intel Xeon E5-2699 v3)的最大SQL讀/寫IOPS為518,000,存儲服務(wù)器最大SQL讀IOPS為400,000(它的CPU只有2顆8核),寫IOPS就可以看出閃存的瓶頸了。Extreme Flash全閃存節(jié)點為377,000,這里是SQL IOPS已經(jīng)考慮到ASM冗余帶來的寫懲罰,那么落到每個SSD(每節(jié)點8個)上應(yīng)該就是94,250——好像這個數(shù)字明顯超過了Intel P3600標(biāo)稱的8KB寫IOPS 33,000?
那么High Capacity大容量混合存儲節(jié)點的192,000,落到4塊閃存卡上96,000寫IOPS也是類似的情況?轉(zhuǎn)念一想,Intel給出的數(shù)字是隨機(jī)寫IOPS,而Exadata這里的SQL閃存寫可以是順序操作?。〔铧c被繞進(jìn)去…
我想起@jametone 老師說過的一句話,大意是這樣的:“實際應(yīng)用中讀IOPS容易離散,而寫IOPS容易連續(xù),再加上讀/寫比例的因素,存儲的讀性能成為瓶頸的情況更多一些。”這或許可以解釋Exadata X5使用相對便宜的PCIe SSD吧。
最后再看看更牛B的數(shù)字——Exadata存儲擴(kuò)展機(jī)柜的最大配置19臺,仍然是用乘法來計算的。這種資料里的性能嘛,只是廠商給出參考的一個數(shù)字罷了。
今天我這個數(shù)據(jù)庫外行寫了這些東西,其中難免有紕漏之處,歡迎大家批評指正,也讓我能有一個學(xué)習(xí)進(jìn)步的機(jī)會:)
感謝您的閱讀和支持!《企業(yè)存儲技術(shù)》微信公眾號:huangliang_storage