圖片來源@視覺中國
杭州銀行副行長李炯初次見到PingCAP團隊時,他非常好奇,PingCAP的分布式數(shù)據(jù)庫TiDB究竟能怎樣應(yīng)對銀行核心系統(tǒng)對數(shù)據(jù)強一致性的要求。
一般來講,集中式系統(tǒng)具備數(shù)據(jù)一致性的天然優(yōu)勢,但切換到分布式系統(tǒng)中,根據(jù)CAP理論,能夠同時滿足“一致性”、“可用性”和“分區(qū)容錯性”是非常難的事情。在實際業(yè)務(wù)場景中,企業(yè)會根據(jù)使用進行必要的舍棄和平衡。
但在銀行核心系統(tǒng),強一致性,作為最嚴(yán)格的一致性級別,想要用上分布式數(shù)據(jù)庫實現(xiàn)“強一致性”,那么就必然要經(jīng)歷數(shù)據(jù)庫的專家論證、反復(fù)測試,甚至某些極限破壞測試。這并不容易。
2019年,杭州銀行啟動對國產(chǎn)分布式數(shù)據(jù)庫領(lǐng)域的前沿技術(shù)研究,適配新一代分布式核心系統(tǒng)的金融級分布式數(shù)據(jù)庫選型工作也隨之拉開。
需要注意的是,對于銀行核心系統(tǒng)數(shù)據(jù)庫的選型,分布式數(shù)據(jù)庫只是作為一類。而在這個范疇里,分布式數(shù)據(jù)庫的高可用是天然優(yōu)勢,因而也受到銀行IT的關(guān)注。
“SAPE原則,即Safe高安全、Availability高可用、Performance高性能和Ecology多生態(tài)。”這是杭州銀行新一代分布式核心系統(tǒng)數(shù)據(jù)庫選型中的重要依據(jù)。過去二十多年的投入,以及結(jié)合自身業(yè)務(wù)階段所需,讓這份想法變得明確、可行。
2022年6月,杭州銀行新核心項目正式啟動。同年11月,TiDB被列為核心系統(tǒng)數(shù)據(jù)庫第一選擇方案。2023年5月,杭州銀行完成系統(tǒng)功能開發(fā)和外圍系統(tǒng)的改造,在隨后幾個月的各項測試驗證后,11月18日,杭州新一代新核心系統(tǒng)正式投產(chǎn)上線。新核心系統(tǒng)是業(yè)內(nèi)首個實際投產(chǎn)的云原生、分布式、全棧國產(chǎn)化的銀行核心系統(tǒng)。
據(jù)官方數(shù)據(jù),新核心系統(tǒng)自上線以來運行安全穩(wěn)定,大幅提升了業(yè)務(wù)處理效率,已支撐日均交易量1000+萬筆,平均交易耗時小于100毫秒,較原核心業(yè)務(wù)系統(tǒng)縮減54%,日終跑批的處理速度為原核心業(yè)務(wù)系統(tǒng)的2.1倍,能夠有效支撐未來業(yè)務(wù)的快速發(fā)展。
銀行對國產(chǎn)數(shù)據(jù)庫的替代趨勢其實并不短,但進入到銀行核心場景卻經(jīng)驗并不多。
過去,由于歷史原因,金融銀行IT基礎(chǔ)架構(gòu)是以IOE(IBM大型機、Oracle數(shù)據(jù)庫、EMC存儲設(shè)備)為核心的集中式架構(gòu),它們支撐了銀行系統(tǒng)長達幾十年的運營,一定程度上推動了中國銀行信息化和金融科技的發(fā)展。
2010年代,“去IOE”浪潮在國內(nèi)興起?;趪野踩煽貞?zhàn)略的要求,以及現(xiàn)代金融數(shù)字化發(fā)展的迫切需要,銀行開始關(guān)注到分布式架構(gòu)的領(lǐng)先性,并在該領(lǐng)域逐步推進成果。市面上對集中式存儲、小型機的替代步伐較快。但在數(shù)據(jù)庫層面,銀行核心系統(tǒng)對國外集中式數(shù)據(jù)庫依賴仍非常高。
《金融業(yè)數(shù)據(jù)庫供應(yīng)鏈安全發(fā)展報告(2022)》調(diào)研數(shù)據(jù)顯示,集中式數(shù)據(jù)庫在金融業(yè)總體占比仍高達89%,其中銀行80%,證券和保險業(yè)占比均超過90%,集中式數(shù)據(jù)庫在金融科技數(shù)字化進程中扮演重要角色。相比之下,金融行業(yè)分布式數(shù)據(jù)庫總體占比為7%,銀行業(yè)超過了17%,證券和保險業(yè)相對較低。
對于杭州銀行而言,從1996年建行起,銀行核心系統(tǒng)的建設(shè)發(fā)展經(jīng)歷了兩個主要階段:1999年,第一代核心系統(tǒng)正式投產(chǎn),它實現(xiàn)了杭州銀行各網(wǎng)點業(yè)務(wù)系統(tǒng)的聯(lián)網(wǎng)互通;2012年,第二代核心系統(tǒng)投產(chǎn),它實現(xiàn)了從以賬戶為中心到以客戶為中心的轉(zhuǎn)變。
能夠看到,基本每隔十年,杭州銀行都在推動新一代技術(shù)架構(gòu)和業(yè)務(wù)架構(gòu)的升級換代,這實際也反映出銀行業(yè)務(wù)發(fā)展與IT技術(shù)的交替性迭代。
新時代下,杭州銀行面臨的情況是,第二代核心系統(tǒng)已經(jīng)承載了非常多的業(yè)務(wù)功能,用戶和業(yè)務(wù)規(guī)模迅速增長,而同質(zhì)化的競爭態(tài)勢,也要求銀行從“以客戶為中心”出發(fā),系統(tǒng)應(yīng)當(dāng)具備因客戶需求而變的能力,應(yīng)用需要快速敏捷迭代,系統(tǒng)也需要進一步解耦、提升可交互速度。
到了2022年,杭州銀行正式啟動新一代核心系統(tǒng)重構(gòu),力求以全棧國產(chǎn)化、分布式、云原生的架構(gòu)作為新核心的建設(shè)底座?;谌珬a(chǎn)化,杭州銀行實現(xiàn)了在辦公管理類、終端技術(shù)類、一般業(yè)務(wù)類和核心關(guān)鍵業(yè)務(wù)系統(tǒng)的國產(chǎn)化能力搭建;基于云原生、分布式的架構(gòu)建設(shè),杭州銀行搭建了面向客戶、內(nèi)核成熟、靈活擴展、穩(wěn)定高效、自主可控的第三代分布式核心系統(tǒng)。
關(guān)于建設(shè)云原生分布式核心業(yè)務(wù)系統(tǒng)的必要性,李炯曾在2023年6月撰文分析了三點原因:一是系統(tǒng)基礎(chǔ)功能重構(gòu);二是技術(shù)升級換代;三是自主可控。
在技術(shù)層面,他指出,“近十年來,信息技術(shù)已經(jīng)發(fā)生了根本性變化,傳統(tǒng)的IOE、集中式、胖核心架構(gòu)已經(jīng)被云計算、分布式、微服務(wù)的小核心架構(gòu)所替代。云計算已成為未來計算資源的基礎(chǔ),分布式微服務(wù)架構(gòu)和分布式數(shù)據(jù)庫已經(jīng)成為聯(lián)機應(yīng)用的主流架構(gòu)。杭州銀行現(xiàn)有核心業(yè)務(wù)系統(tǒng)是基于Oracle數(shù)據(jù)庫的集中式應(yīng)用,隨著交易量和賬戶數(shù)的增加,面臨著進行分布式技術(shù)改造的難關(guān),數(shù)字底座更新?lián)Q代迫在眉睫。”
數(shù)據(jù)庫如何平穩(wěn)遷移也成為此次重構(gòu)的重難點。
“不依賴于云的數(shù)據(jù)庫,是我考慮的一個方面。我們比較單純希望讓用戶有更多的安排和選擇,而不是有其他方面的要求。”李炯對鈦媒體表達。
從過去幾年來看,國內(nèi)各大銀行尤其是國有大行和股份制銀行相繼樹立國產(chǎn)數(shù)據(jù)庫替代的行業(yè)標(biāo)桿,從偏外圍、相對比較簡單的系統(tǒng),也逐步進入到核心系統(tǒng)改造。這意味著,銀行的存款貸款、交易結(jié)算、借記卡、貸記卡、投資理財以及對公業(yè)務(wù)等,都在考察國產(chǎn)數(shù)據(jù)庫方案。
但怎么做,各家單位其實有所不同,需要根據(jù)自身現(xiàn)狀和目標(biāo)要求進行匹配,因而在方案和具體實踐方面也有差異化的選擇。
而對于此次分布式數(shù)據(jù)庫選型,杭州銀行也有自身的考量,也是從建行起就明確的:自主、可控。
這里的自主可控其實有兩層含義:一是降低對非國產(chǎn)化數(shù)據(jù)庫的使用占比;二是保持自身技術(shù)的可控和獨立性,而不是“黑盒”,不依賴于產(chǎn)品定制或某個產(chǎn)品特性,因為“特性”有時對解決客戶問題帶來方便,但也增加了對企業(yè)的依賴度。
實際上,與TiDB合作中,杭州銀行也反復(fù)強調(diào),不需要為其做定制化開發(fā),專業(yè)的人來做專業(yè)的事,邊界清晰,同時耦合度低,便于優(yōu)化和調(diào)整。“我們認為只有產(chǎn)品通用才能保持獨立性,才能真正兌現(xiàn)軟件工程解耦的要求。”
這個過程中,從客戶營銷系統(tǒng)到互聯(lián)網(wǎng)核心,再到賬務(wù)核心,TiDB在杭州銀行的應(yīng)用推廣經(jīng)歷了從外圍到核心業(yè)務(wù)的精細打磨。杭州銀行利用TiDB原生分布式架構(gòu),有效解決了傳統(tǒng)集中式核心的并發(fā)瓶頸,提升了核心系統(tǒng)的高可用性和動態(tài)擴容能力。同時,TiDB基于兩地三中心方案進行部署,同城雙中心數(shù)據(jù)強同步實現(xiàn)了雙活數(shù)據(jù)中心雙寫并行工作、災(zāi)難快速自動恢復(fù)且數(shù)據(jù)零丟失。
截至目前,杭州銀行新一代分布式核心系統(tǒng)上線已有月余。結(jié)合最近幾個重要節(jié)點包括月末處理、年度結(jié)息、年終處理的驗證來看,杭州銀行對TiDB給出了較高的評價:“在高吞吐、低延遲、高可用、自動伸縮,以及圍繞整個上線的整體服務(wù)方面,是超出預(yù)期的。”
這還遠遠不夠。
“替代能不能成功,還需要時間驗證,不是一周、一個月就行。我們的規(guī)模跟大行相比還是會有數(shù)量級的區(qū)別,交易量級對數(shù)據(jù)庫有重大影響。在我們這兒超出了預(yù)期,但在整個銀行業(yè)中,還需要通過更大的業(yè)務(wù)量、具體的時間節(jié)點以及不同的外部環(huán)境中去驗證。”李炯對鈦媒體表示。
正如上文提到的,對于銀行核心系統(tǒng)數(shù)據(jù)庫的選型,分布式數(shù)據(jù)庫只是作為一類。國產(chǎn)分布式數(shù)據(jù)庫技術(shù)已逐漸成熟,不僅能夠取代傳統(tǒng)的國外數(shù)據(jù)庫系統(tǒng),還能在核心系統(tǒng)方面進行替代,從而支持銀行的核心運營需求。但銀行擁有大量系統(tǒng),真正需要分布式數(shù)據(jù)庫作支撐的可能也只有一部分。銀行需要有不同層次、不同類型的數(shù)據(jù)庫廠商參與,并進行管控,而不是簡單的一刀切;
同時,分布式數(shù)據(jù)庫也有其局限性,杭州銀行面臨的新問題是:當(dāng)新核心系統(tǒng)在分布式數(shù)據(jù)庫上進行開發(fā),此前遵循的集中式開發(fā)原則和規(guī)范,已經(jīng)不適用了,如何形成新的慣例?
整體來看,國產(chǎn)數(shù)據(jù)庫近年來十分繁榮,有支持混合負載HTAP的,有基于開源內(nèi)核的,也有純自研內(nèi)核的,這給銀行做數(shù)據(jù)庫國產(chǎn)化試點,提供了豐富的可選擇性方案。例如,國產(chǎn)數(shù)據(jù)庫以MySQL替代Oracle,或基于MySQL二次改造,或完全自研兼容MySQL的技術(shù)路線以及相應(yīng)的數(shù)據(jù)庫社區(qū),這種做法并不少見。
當(dāng)銀行主動走出舒適區(qū),不斷積累國產(chǎn)化技術(shù)棧經(jīng)驗時,其實也在經(jīng)歷比較大的風(fēng)險和成本投入,現(xiàn)階段,很難找到有一款數(shù)據(jù)庫能滿足所有的業(yè)務(wù)場景。由于杭州銀行在金融科技的顯著投資,加上國家對國產(chǎn)化的要求和歷史因素的綜合影響,該銀行在考慮進行全面國產(chǎn)化替代。從杭州銀行推進領(lǐng)先架構(gòu)的路徑上,能夠看到這么一個特點:將風(fēng)險拆解,讓方案落到實處,找到合適的就去做,只要做了就有經(jīng)驗,只要有經(jīng)驗就能夠改造。
全棧國產(chǎn)化技術(shù)路線,杭州銀行新一代核心系統(tǒng)的成功上線具有標(biāo)桿性意義,它標(biāo)志著國內(nèi)銀行業(yè)核心系統(tǒng)進入到了新技術(shù)時代,也代表著我國銀行業(yè)在科技領(lǐng)域的信息自主安全可控、技術(shù)架構(gòu)現(xiàn)代化和系統(tǒng)投產(chǎn)切換工藝方面均達到了一個新的水平。
數(shù)字化就是創(chuàng)新場景的疊加,當(dāng)數(shù)字化廣度已經(jīng)不再是問題,數(shù)字化深度決定了未來的想象空間。鈦媒體重磅推出「創(chuàng)新場景50」系列經(jīng)典實例,遴選全行業(yè)領(lǐng)先數(shù)字化場景,解讀數(shù)字化創(chuàng)新場景,欄目正在征集中,更精準(zhǔn)的解讀、更廣泛的曝光、更強大的品牌勢能,歡迎您提出問題,更歡迎您留下解決的方法和工具。
(本文首發(fā)鈦媒體APP,作者 | 楊麗)
快報
根據(jù)《網(wǎng)絡(luò)安全法》實名制要求,請綁定手機號后發(fā)表評論