華為云特別強調(diào)“云原生交易數(shù)據(jù)庫”而非常規(guī)的“云原生數(shù)據(jù)庫”,多出“交易”兩字,不會是無意義的行為,這個小細節(jié)上的變化意味著什么?給世界一個更優(yōu)選擇,是哪些方面更優(yōu)?背后有怎樣的技術(shù)創(chuàng)新?這是本文要探討的重點。
強調(diào)“交易”,意味著什么
眾所周知,數(shù)據(jù)庫按應(yīng)用方向的不同,主要分為2大場景:OLTP(交易)和OLAP(分析)。從中國市場看,OLTP仍然是國外廠商占據(jù)最大市場份額,是國內(nèi)廠商替換的主要市場,反而OLAP中國公司有一定商業(yè)基礎(chǔ)。
Gartner預(yù)測,“到2025年,中國分析型數(shù)據(jù)庫市場來自海外廠商將只剩下30%,交易型數(shù)據(jù)庫市場海外廠商市場也只會剩下50%左右?!边@對國內(nèi)數(shù)據(jù)庫廠商而言意味著巨大的市場機會。在這樣的背景下,張平安特別強調(diào)“交易”,難道是華為云釋放的將發(fā)力OLTP場景下的國產(chǎn)替代信號嗎?
數(shù)據(jù)庫是所有應(yīng)用的核心組件。大家知道,交易型數(shù)據(jù)庫是最難的,在關(guān)鍵行業(yè)的核心應(yīng)用領(lǐng)域,交易型數(shù)據(jù)庫基本上都是來自美國的數(shù)據(jù)庫。演講中,張平安分享了2個案例,這兩個案例共同點很顯然,都是交易型場景替換。
一個是華為內(nèi)部實踐,華為集團流程IT ERP系統(tǒng)部署GaussDB后,各項性能和指標超過預(yù)期,采購履行耗時從90分鐘下降到15秒;端到端訂單履行耗時從23分鐘下降到9秒;在歷史峰值5倍壓力下性能依然穩(wěn)定不下降。
不要小看這個內(nèi)部實踐案例,華為集團流程IT ERP系統(tǒng)是個非常復(fù)雜的的系統(tǒng),該系統(tǒng)涉及170多個國家和地區(qū),500+外圍應(yīng)用、3萬+個外圍集成點,對數(shù)據(jù)庫容量、性能以及可靠性都有極高要求。如:數(shù)據(jù)量大,單一個業(yè)務(wù)場景數(shù)據(jù)體量就高達百億,而ERP總共有上百個業(yè)務(wù),且數(shù)量還在持續(xù)增長;每分鐘30萬次庫存查詢請求及數(shù)萬筆并發(fā)交易事務(wù)處理,區(qū)別于銀行和互聯(lián)網(wǎng)的交易事務(wù),華為ERP關(guān)聯(lián)系統(tǒng)眾多,完成一筆入庫交易比完成一筆秒殺交易在場景復(fù)雜度、技術(shù)復(fù)雜度、外部依賴等方面差異很大,華為ERP系統(tǒng)萬級TPS比互聯(lián)網(wǎng)的百萬級TPS更難處理。據(jù)了解,該系統(tǒng)底層數(shù)據(jù)庫過去20多年一直使用的是Oracle,因為眾所周之的原因,現(xiàn)在替換為GaussDB。
另外一個是郵儲銀行案例,新一代分布式核心系統(tǒng)基于GaussDB為全行6億多個人客戶提供日均20億筆的處理能力,聯(lián)機交易處理效率提升1倍,批處理效率提升33%,在9月底的三季度結(jié)息中,新系統(tǒng)僅用23分鐘就完成了原來Oracle系統(tǒng)70分鐘才能完成的操作。
張平安還提到,“GaussDB已經(jīng)在工行、招行、郵儲等大型銀行的核心業(yè)務(wù)系統(tǒng)上線使用,承擔越來越多的業(yè)務(wù)負載?;贕aussDB,新意科技打造了“證券業(yè)務(wù)核心系統(tǒng)”,服務(wù)于興業(yè)證券、 南方基金等客戶。”
顯然,在OLTP場景下,GaussDB已經(jīng)可以實現(xiàn)國外數(shù)據(jù)庫的完全替代,GaussDB接下來將發(fā)力OLTP場景下的自主產(chǎn)品替代,而金融行業(yè)肯定是重點。
如何理解“更優(yōu)選擇”
“GaussDB云原生交易數(shù)據(jù)庫,給世界一個更優(yōu)選擇”,這其中“更優(yōu)選擇”指的哪些方面?華為云的論據(jù)是什么?
演講中,張平安說:“為了給全球客戶提供一個更優(yōu)選擇,華為云全新打造了全球領(lǐng)先的云原生交易數(shù)據(jù)庫GaussDB,更快、更穩(wěn)、更可信?!?/p>
顯然,“更優(yōu)選擇”包含3個方面:更快、更穩(wěn)、更可信。
而這3個“更優(yōu)選擇”,據(jù)老魚了解,對標的是“O”記。
更快對應(yīng)性能,數(shù)據(jù)顯示,GaussDB比廠商O在公有云上同規(guī)格測試快45%。
更穩(wěn)對應(yīng)高可用,華為云去年首先創(chuàng)新推出“同城雙集群”方案,即在兩個數(shù)據(jù)中心部署兩套獨立的數(shù)據(jù)庫軟件,任何軟硬件故障完全隔離RPO等于0。
更可信對應(yīng)安全與自主可控,安全上,GaussDB內(nèi)核是目前唯一通過國際CC EAL4+級認證的國產(chǎn)數(shù)據(jù)庫。而自主可控上,GaussDB代碼自研率非常高,其研發(fā)歷程可以追溯到2007年,投入之大積累之深,國內(nèi)可比肩的并不多。另外,華為還積極倡導(dǎo)技術(shù)開源,深度參與可信數(shù)據(jù)庫標準制定。因此,說GaussDB是一款值得信賴的數(shù)據(jù)庫,并不為過。
“更優(yōu)選擇”背后的技術(shù)創(chuàng)新
為什么GaussDB能在性能、高可用、安全3個方面做到更優(yōu)?背后有哪些內(nèi)核級的技術(shù)創(chuàng)新?
高性能方面,從公開的可查詢資料中可以發(fā)現(xiàn),GaussDB有2個方面的關(guān)鍵創(chuàng)新:
其一、是存儲引擎,GaussDB全新上線的Ustore存儲引擎,又名In-place Update存儲引擎(原地更新),這個存儲引擎在以前的文章中,老魚有過介紹。這是個行存儲引擎,在以前版本的GaussDB內(nèi)核中使用的行存儲引擎是Append Update(追加更新)模式,追加更新對于業(yè)務(wù)中的增、刪以及HOT(Heap Only Tuple) Update(即同一頁面內(nèi)更新)有很好的表現(xiàn),但對于跨數(shù)據(jù)頁面的非HOT UPDATE場景,垃圾回收不夠高效。Ustore存儲將“有效數(shù)據(jù)”與“垃圾數(shù)據(jù)”分離存儲,同時采用多版本索引技術(shù),有效提升了存儲空間的效率和性能。官方數(shù)據(jù)顯示,相比常規(guī)引擎,性能抖動降低70%,同時,整體性能提升10%以上。
另一個,是軟硬協(xié)同Numa-Aware,鯤鵬服務(wù)器多CPU-socket架構(gòu)下跨NUMA內(nèi)存訪問延遲存在嚴重的不對稱,相比x86內(nèi)存訪問時延高50%、并發(fā)控制原語代價高2-3倍,在數(shù)據(jù)庫中以進一步惡化OLTP瓶頸,此外鯤鵬架構(gòu)下CPU物理核心數(shù)相比x86有了大規(guī)模的提升,如何優(yōu)化NUMA帶來的訪問時延問題,如何充分利用眾核CPU解決并發(fā)控制問題成為了鯤鵬上優(yōu)化數(shù)據(jù)庫OLTP負載性能的主要挑戰(zhàn)。因此,軟硬協(xié)同Numa-Aware應(yīng)運而生,通過內(nèi)核線程調(diào)度NUMA親和、關(guān)鍵數(shù)據(jù)NUMA化分布、LSE ARM指令級性能優(yōu)化等關(guān)鍵技術(shù)優(yōu)化,GaussDB實現(xiàn)了鯤鵬環(huán)境下性能40%以上的提升。
據(jù)內(nèi)部人士透露,2021年,在21個金融政府大客戶(涵蓋銀行、保險、公安、大型國企等)現(xiàn)場POC測試中,GaussDB在性能上平均領(lǐng)先對手50%,在人行、郵儲等POC測試中,更是完勝競品。
高可靠方面,當前談的比較多的是通過一套數(shù)據(jù)庫集群拉遠,通過不斷增加數(shù)據(jù)中心的方式,來提高可用性。從同城兩中心到兩地三中心,再到三地五中心,但是實際很少有應(yīng)用企業(yè)能提供類似三地五中心這么高規(guī)格的基礎(chǔ)設(shè)施,“中心”增加帶來的可靠性收益逐步降低。
華為云認為,不管幾個中心,只要整體一套軟件(集群),就無法做到軟硬件故障的完全隔離。數(shù)據(jù)庫軟件bug,導(dǎo)致即使有同城備中心,切換也沒有用,因為備中心是同一套軟件。
去年底, GaussDB首先創(chuàng)新推出了 “同城雙集群”方案,這是一個重大的內(nèi)核新特性。簡單的說,就是同城的兩個數(shù)據(jù)中心完全部署兩套獨立的數(shù)據(jù)庫軟件,任何軟硬件故障完全隔離,支持版本輪換升級、應(yīng)用灰度升級,主中心升級時應(yīng)用還可以訪問備中心正常開展業(yè)務(wù),支持RPO=0 、RTO<60s的同城雙集群切換,盡最大可能保障企業(yè)用戶的核心業(yè)務(wù)7x24小時無中斷。老魚獲悉,今年,這個方案已經(jīng)在工商銀行的5A級核心全球信貸系統(tǒng)完成上線,并聯(lián)合工行向其他銀行進行規(guī)模推廣。
高安全方面,就在上月,GaussDB成為中國首個獲得國際CC EAL4+級別認證的數(shù)據(jù)庫產(chǎn)品。很多人可能不知道CC EAL4+意味著什么?CC認證是國際公認計算機維度的高級別安全認證,也是國際范圍內(nèi)30多個國家官方認可的通用標準。其中,EAL4+認證難度有多大?對比目前國外常見數(shù)據(jù)庫主流版本通過的EAL2認證來說,EAL2為結(jié)構(gòu)測試級,開發(fā)者可遞交設(shè)計信息、測試結(jié)果進行評估,而EAL4作為系統(tǒng)設(shè)計、測試和復(fù)查級,評估程序更為嚴謹,有對評估對象模塊底層設(shè)計和實現(xiàn)子集的分析,更有對產(chǎn)品代碼的審視和對產(chǎn)品研發(fā)環(huán)境的站點審計等。
而GaussDB能拿到CC EAL4+主要的關(guān)鍵技術(shù)有2個:全密態(tài)和防篡改。這方面最近披露的資料比較多,就不在這里過多贅述,需要強調(diào)的是,2022年GaussDB由純軟全密態(tài)全新升級為軟硬結(jié)合全密態(tài),據(jù)說相比競品純硬件方案性能優(yōu)20%。另外,GaussDB還是業(yè)內(nèi)首個以最高分通過信通院防篡改數(shù)據(jù)庫基礎(chǔ)能?評測的數(shù)據(jù)庫產(chǎn)品。
公開資料顯示,目前,GaussDB已經(jīng)在超過2500家大客戶得到了商用,遍布金融、電商、游戲、汽車、制造、能源等各行各業(yè)。尤其是金融行業(yè),已經(jīng)在工行、招行、郵儲銀行等30多家金融企業(yè)的核心業(yè)務(wù)系統(tǒng)中廣泛應(yīng)用,GaussDB通過這些案例,不論是技術(shù)本身,還是去O的方法論,都得到了較充分的實踐。所以,在明確對比對象和具體指標前提下,GaussDB說自己是更優(yōu)選擇,沒毛病。不得不說,華為云還是一如既往的嚴謹,用“更優(yōu)選擇”而非“最優(yōu)選擇”,這是相對與絕對的區(qū)別。