金融業(yè)的信息化建設思路一直走在前沿,早在十多年前,各家金融企業(yè)就開(kāi)始思考以云和分布式的技術(shù)作為企業(yè)數字化轉型的基石,結合自身應用特性構建大規模、靈活高效的企業(yè)級金融云平臺,實(shí)現傳統架構的轉型,推進(jìn)IT系統向快速響應、彈性伸縮、高可用、低成本的云計算環(huán)境發(fā)展。
信息化的轉型繞不開(kāi)一個(gè)核心的話(huà)題,就是核心交易系統的改造,而核心交易系統的核心基礎軟件就是OLTP(online transaction processing,在線(xiàn)交易處理)數據庫,如何面向未來(lái)構建具備競爭力且安全合規的分布式云數據庫,成為金融業(yè)信息化轉型的關(guān)鍵。
擁抱分布式與云化是金融科技發(fā)展的必然趨勢
金融業(yè)務(wù)的爆發(fā)式增長(cháng),對信息系統高并發(fā)請求及海量數據的高性能存取提出了極高的要求。當前,集中式架構需要快速轉型為分布式系統是大勢所趨。分布式的系統架構基于通用的硬件架構,如X86和ARM,從一開(kāi)始就把擴展性、大容量作為基礎的理念,從而在業(yè)務(wù)高并發(fā)和容量快速增加時(shí)可以從容應對。當前,多數的金融企業(yè)均已經(jīng)從外圍、邊緣應用嘗試分布式數據庫。
華為全球產(chǎn)業(yè)展望(GIV@2025)指出,到2025年,85%的應用將運行在云上。我們認為:業(yè)務(wù)及各個(gè)組件的云化是大勢所趨。云數據庫并不是把數據庫裝進(jìn)容器或者虛機,而是通過(guò)管理面與數據庫內核的改進(jìn),與云基礎設施深度融合,讓核心交易系統具備高效彈性的部署能力和自動(dòng)化運維能力,從而真正讓“使用數據庫像擰開(kāi)水龍頭取水一樣方便”。
金融業(yè)選擇分布式數據庫會(huì )面臨哪些挑戰?
數據庫承載了企業(yè)的核心數據資產(chǎn),因此數據庫的高效、穩定、安全至關(guān)重要。金融企業(yè)在分布式數據庫的選型、建設和運維中,主要面臨著(zhù)以下幾點(diǎn)挑戰:
- 安全合規:過(guò)去十年是開(kāi)源數據庫蓬勃發(fā)展的十年,但開(kāi)源是否免費;開(kāi)源開(kāi)放背后的主導者是誰(shuí);開(kāi)源代碼協(xié)議的背后思考;開(kāi)源對未來(lái)業(yè)務(wù)連續性的風(fēng)險、及對商業(yè)軟件的兼容和接口的模擬帶來(lái)的法務(wù)風(fēng)險;不遵從開(kāi)源協(xié)議的簡(jiǎn)單包裝等這些問(wèn)題都值得深入思考。從業(yè)者需要從全局考慮,尤其針對當前復雜的國際產(chǎn)業(yè)環(huán)境,安全合規的要求看似非技術(shù)要求,但極為重要。
- 擁抱變化:傳統的應用開(kāi)發(fā)和數據庫進(jìn)行了深度的耦合,然而安全合規的要求讓我們不能期望一個(gè)100%兼容之前商業(yè)閉源數據庫的國產(chǎn)數據庫(即使有,是否能用也要仔細評估),與此同時(shí),接口與兼容性也難以達到同樣的要求。因此,對于想要數字化轉型的金融信息系統來(lái)說(shuō),業(yè)務(wù)架構的改造是非常必要的,選擇“躺平”并不能解決本質(zhì)問(wèn)題。我們要利用這次的改變機會(huì )讓?xiě)煤蛿祿䦷熳龊眠m配,規范數據庫的開(kāi)發(fā)規范,從而讓未來(lái)金融業(yè)務(wù)的開(kāi)發(fā)具備更好的活力。
- 內核能力:數據庫是一門(mén)相對古老但又極具挑戰的技術(shù)學(xué)科,“古老”是指數據庫已經(jīng)有近40年的歷史,“挑戰”是指工程化要求高。雖然當前市場(chǎng)上有很多開(kāi)源范本,但是真正滿(mǎn)足金融級要求的商業(yè)數據庫卻寥寥無(wú)幾,這需要在可用性、可靠性和性能上追求極致,這就必然要求數據庫廠(chǎng)商的內核專(zhuān)家是“精專(zhuān)人才”而不是“數量人才”,需要真正有10年從業(yè)經(jīng)驗、熟悉數據庫原理又懂數據庫內核代碼實(shí)現的人才。
- 開(kāi)放的生態(tài):開(kāi)放的生態(tài)代表了數據庫的未來(lái),包括數據庫的SQL語(yǔ)法體系、數據庫的日志接口、數據庫管控API等等。友好協(xié)議下的開(kāi)源能更好營(yíng)造開(kāi)放的生態(tài),有利于廣泛的應用與推廣,從高校、ISV、個(gè)人開(kāi)發(fā)者等多渠道培養人才,構筑良性循環(huán)、長(cháng)期演進(jìn)、開(kāi)放共贏(yíng)的數據庫生態(tài)。
- 規模化的運維:業(yè)務(wù)量的增加意味著(zhù)容量的增加,從使用幾百GB到幾十TB,甚至100TB的交易型數據庫,意味著(zhù)運維節點(diǎn)數量也會(huì )出現爆發(fā)式增長(cháng),每個(gè)DBA需要管理的數據庫實(shí)例也會(huì )成倍的增加,從長(cháng)遠看,DBA至少都應該思考如何以“云”的方式來(lái)管理自己的數據庫,擁抱技術(shù)紅利進(jìn)而分擔大規模的運維壓力。
金融企業(yè)如何選擇合適的分布式數據庫?
綜上面臨的主要挑戰,關(guān)于分布式數據庫選型時(shí),我們建議:
1. 廠(chǎng)商層面:
a) 首先,優(yōu)選具備持續10年以上戰略投入與深耕的廠(chǎng)家,可以梳理一下真正懂代碼的內核人才,并查看人才分布。
b) 其次,考慮開(kāi)放可靠的內核生態(tài)、可積極推進(jìn)人才培養與供給、考慮端到端的業(yè)務(wù)連續性、不封閉不鎖定、耐心培養人才做強生態(tài)的品牌大廠(chǎng),長(cháng)期陪伴客戶(hù)。
c) 最后,數據庫廠(chǎng)商是否踐行“自己的數據庫,自己的業(yè)務(wù)先上”,是否具備大規模的豐富業(yè)務(wù)場(chǎng)景(如傳統ERP業(yè)務(wù)與泛互聯(lián)網(wǎng)業(yè)務(wù)就完全不同)來(lái)率先驗證和催熟產(chǎn)品核心能力。
2. 技術(shù)層面:
a) 首先,SQL語(yǔ)法的相對完備性,數據庫不只是分布式存儲。KV存儲上增加一定的SQL接口能解決特定場(chǎng)景的問(wèn)題,但對于企業(yè)業(yè)務(wù)來(lái)說(shuō)改造工作量相對較大。
b) 其次,性能需要結合場(chǎng)景,各種互聯(lián)網(wǎng)大促的業(yè)務(wù)模型與企業(yè)的業(yè)務(wù)模型相差甚遠,基于商業(yè)數據庫的業(yè)務(wù)模型更多是復雜SQL,甚至混合少量HTAP的應用。
c) 第三,分布式的跨AZ能力才能真正解決高可靠和高可用。支持數據中心“雙活”甚至異地容災,在一個(gè)AZ故障的時(shí)候依然能支持系統的高可用,進(jìn)而保障數據安全。
d) 最后,分布式是單機+中間件的組合還是分布式存儲+并行的引擎及分布式事務(wù)模型的深度融合?從原生分布式數據庫的架構來(lái)看,只有分布式存儲+并行的引擎及分布式事務(wù)模型的深度融合才是真正的分布式數據庫架構。
3. 工具等外圍生態(tài):
a) 數據遷移,要實(shí)現在線(xiàn)遷移數據,可控時(shí)間內業(yè)務(wù)切換;要實(shí)現數據的比對,防止數據的丟失;數據雙向同步支持業(yè)務(wù)的灰度,減少上線(xiàn)的壓力。
b) 容災備份,一致性的快照支持分鐘級的備份和恢復能力,讓數據庫系統在災難面前從容應對,這也是為什么需要分布式存儲而不是一個(gè)單機實(shí)例。
c) 完善的監控工具,對系統的性能分析、統一的運維監控,方便DBA能對上萬(wàn)個(gè)數據庫實(shí)例進(jìn)行數據的遷移和日常運維。在當下,即便基于單機數據庫來(lái)構建自己的交易系統,也需要開(kāi)發(fā)一套獨立的管控面,對數據庫實(shí)例進(jìn)行彈性的伸縮、故障的自動(dòng)切換,及備份恢復等工作,本質(zhì)上這就是一種“云服務(wù)”的體現。
華為云GaussDB,金融級分布式數據庫
華為公司從2007年開(kāi)始進(jìn)行數據庫內核方面的開(kāi)發(fā),于2011年啟動(dòng)分布式數據庫內核研發(fā),在2014年發(fā)布商用版本的OLAP分布式數據庫,2017年發(fā)布商用版本的OLTP分布式數據庫。
華為現網(wǎng)數百萬(wàn)套電信產(chǎn)品(無(wú)線(xiàn)基站、路由器、交換機、光傳輸設備等),華為典型世界500強的全球流程與IT系統(包括財經(jīng)、制造、采購、供應鏈、研發(fā)、銷(xiāo)售與服務(wù)、辦公等),面向數億ToC客戶(hù)的消費者云和面向ToB客戶(hù)的華為云,都廣泛使用華為GaussDB數據庫產(chǎn)品與云服務(wù)。其中,電信產(chǎn)品是絕對的高可靠,流程與IT的ERP系統是復雜的傳統應用,云則是典型的互聯(lián)網(wǎng)流量。
在OLTP領(lǐng)域,GaussDB有兩款核心產(chǎn)品,分別是GaussDB(for MySQL)與GaussDB(for openGauss)。GaussDB(for MySQL)是基于當前相對廣泛的MySQL生態(tài)打造的分布式數據庫,主要面向泛互聯(lián)網(wǎng)市場(chǎng),目的是為了方便客戶(hù)更好的遷移上云。而GaussDB(for openGauss),是基于華為公司的開(kāi)放生態(tài)openGauss打造的分布式數據庫,這款數據庫無(wú)論從生態(tài)還是代碼都由華為研發(fā),主要面向政企金融市場(chǎng),滿(mǎn)足客戶(hù)高安全、高可靠、高性能、高擴展的要求。
目前,openGauss單機社區版本已經(jīng)開(kāi)源且協(xié)議非常友好,國內已經(jīng)有6家DBV服務(wù)商基于openGauss單機社區版本打造了自己品牌的數據庫,而華為云GaussDB(for openGauss)也是基于同一個(gè)openGauss生態(tài)來(lái)打造的,目的是為線(xiàn)上線(xiàn)下提供統一的開(kāi)放生態(tài),使得客戶(hù)獲得一致的體驗,方便數據流動(dòng),生態(tài)共享。
GaussDB(for openGauss)的關(guān)鍵技術(shù)能力如下:
(1) 混合負載高性能:?jiǎn)喂濣c(diǎn)與分布式的極致性能和極高的線(xiàn)性度。基于鯤鵬多核和CPU指令集獨創(chuàng )鯤鵬NUMA-Aware架構,有效解決跨NUMA內存訪(fǎng)問(wèn)時(shí)延問(wèn)題;同時(shí)通過(guò)多核并行算法、SIMD指令加速技術(shù),充分發(fā)揮鯤鵬處理器多核算力優(yōu)勢,實(shí)現極致數據處理能力。基于鯤鵬兩路服務(wù)器,單節點(diǎn)處理能力達150萬(wàn)tpmC,32節點(diǎn)處理能力達1500萬(wàn)tpmC。
(2) 數據高可靠:底層的分布式存儲基于華為企業(yè)級的分布式存儲軟件實(shí)現,經(jīng)過(guò)大量復雜場(chǎng)景的錘煉,保證數據庫的高可靠,可以實(shí)現跨AZ的部署。
(3) 高可用:多種高可用方案,包括同城AZ內高可用、跨AZ高可用、異地跨Region的兩地三中心容災方案,滿(mǎn)足金融級監管要求。Switch Turbo技術(shù)確保同城AZ內單點(diǎn)故障能夠快速切換,RPO=0,RTO<10s;支持同城跨AZ部署,AZ級故障RPO=0、RTO<60s;提供兩地三中心異地容災方案,實(shí)現1000公里以上城市級容災能力,滿(mǎn)足金融核心業(yè)務(wù)監管要求。
(4) 彈性擴展:在華為消費者云實(shí)際部署1000+超大分布式單集群,可以輕松應對海量高并發(fā)數據處理和復雜查詢(xún)場(chǎng)景的考驗。
(5) 安全合規: 業(yè)界首款純軟全密態(tài)數據庫,提供豐富的數據庫安全能力,可實(shí)現數據從傳輸、計算到存儲的全程加密,解決數據庫云上隱私泄露及第三方信任問(wèn)題。
(6) AI-Native自治:GaussDB將AI技術(shù)融入分布式數據庫的全生命周期,可以實(shí)現數據庫智能調優(yōu)、索引推薦、自診斷、自運維等能力,協(xié)助DBA降低運維難度,大幅提升管理效率。
(7) 算子下推:分布式數據庫計算和存儲通過(guò)網(wǎng)絡(luò )實(shí)現存算分離,可以將大量的算子放到分布式存儲上完成近數據計算NDP,在某些場(chǎng)景下10倍提升性能的同時(shí)大幅減少數據在計算和存儲上的搬移。
目前,華為云GaussDB已在1000+大客戶(hù)規模商用。 在金融行業(yè),GaussDB已經(jīng)和工商銀行、建設銀行、招商銀行、郵政儲蓄銀行、永安保險、眾惠財產(chǎn)相互保險社、證券交易所等多家銀行、保險與證券公司展開(kāi)合作。
客戶(hù)需求是華為創(chuàng )新的源動(dòng)力,GaussDB將始終堅持開(kāi)放、合作、共贏(yíng)的態(tài)度,和伙伴一起幫助金融客戶(hù)實(shí)現數字化轉型,確保安全合規,提供穩定可靠易用好用的數據庫服務(wù),助力金融機構可靠服務(wù)社會(huì )與客戶(hù)。