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