集中式or分布式?金融數(shù)據(jù)庫選型終有定論

近年來,數(shù)據(jù)庫領(lǐng)域圍繞集中式和分布式的路線選擇一直爭議頻頻;而對于數(shù)據(jù)庫改造進(jìn)行的如火如荼的金融行業(yè)而言,在不同系統(tǒng)究竟應(yīng)該如何選型數(shù)據(jù)庫是讓每個DBA都感到頭疼的問題。所幸,這一問題的答案終于要有定論了。

近日,北京金融科技產(chǎn)業(yè)聯(lián)盟正式發(fā)布了《金融行業(yè)開放平臺數(shù)據(jù)庫轉(zhuǎn)型白皮書》(下簡稱《白皮書》)。《白皮書》由北京金融科技產(chǎn)業(yè)聯(lián)盟牽頭,國內(nèi)頭部銀行和數(shù)據(jù)庫企業(yè)參編,并獲得數(shù)據(jù)庫專委會“優(yōu)秀課題”及聯(lián)盟“十佳課題”,權(quán)威性和參考價值極高。《白皮書》最大的亮點在于,對于金融行業(yè)數(shù)據(jù)庫到底是走集中式路線還是分布式路線,給出了極具價值的選型建議,值得所有金融IT從業(yè)者們擇善而從。報告原文可在“北京金融科技產(chǎn)業(yè)聯(lián)盟”官方微信公眾號12月29日發(fā)布的消息文末獲取。

現(xiàn)狀調(diào)研:集中式數(shù)據(jù)庫成熟穩(wěn)定應(yīng)用廣泛,分布式數(shù)據(jù)庫隨新興應(yīng)用逐步推廣

《白皮書》通過調(diào)研指出,金融業(yè)數(shù)據(jù)庫中,集中式數(shù)據(jù)庫“以其較強(qiáng)的功能黏性、優(yōu)秀的系統(tǒng)穩(wěn)定性、良好的軟硬適配能力,目前在金融業(yè)的應(yīng)用仍占據(jù)絕大多數(shù)份額”。而分布式數(shù)據(jù)庫因能“更有效支持高并發(fā)、海量數(shù)據(jù)、超高峰值,分布式數(shù)據(jù)庫在金融行業(yè)應(yīng)用規(guī)模已經(jīng)有明顯提升”。

這一結(jié)論和近兩年金融信息化研究所發(fā)布的《金融業(yè)數(shù)據(jù)庫供應(yīng)鏈安全發(fā)展報告》與《金融業(yè)數(shù)據(jù)庫創(chuàng)新發(fā)展報告》不謀而合。據(jù)調(diào)查,2022年,金融行業(yè)集中式數(shù)據(jù)庫占比達(dá)到89%,分布式數(shù)據(jù)庫則為11%;而2023年分布式數(shù)據(jù)庫占比提升至17%。集中式數(shù)據(jù)庫技術(shù)方案發(fā)展早、相對成熟,更適合業(yè)務(wù)量適中的交易類業(yè)務(wù)場景,所以在金融業(yè)應(yīng)用成效明顯;而分布式數(shù)據(jù)庫則能更有效支持海量、高并發(fā)、高吞吐量的新型金融業(yè)務(wù)應(yīng)用系統(tǒng),進(jìn)而逐步取得推廣。

《金融業(yè)數(shù)據(jù)庫供應(yīng)鏈安全發(fā)展報告》(2022)金融業(yè)集中式數(shù)據(jù)庫占比情況

選型建議:金融數(shù)據(jù)庫改造優(yōu)先考慮集中式方案,存算分離架構(gòu)受到關(guān)注

現(xiàn)代金融服務(wù)逐步從柜面向網(wǎng)上、移動響應(yīng)式服務(wù)轉(zhuǎn)型,同時現(xiàn)代金融業(yè)務(wù)海量數(shù)據(jù)、高并發(fā)、實時處理等需求推動了新一代分布式數(shù)據(jù)庫的建設(shè),《白皮書》中也提出各金融機(jī)構(gòu)都在探索數(shù)據(jù)庫轉(zhuǎn)型的多種技術(shù)路線及推廣,分布式數(shù)據(jù)庫在金融行業(yè)應(yīng)用規(guī)模已經(jīng)有明顯提升。無論是集中式還是分布式數(shù)據(jù)庫架構(gòu),都要從業(yè)務(wù)需求出發(fā),進(jìn)行合適的選型。

根據(jù)不同的業(yè)務(wù)《白皮書》列出了集中式和分布式兩種架構(gòu)的比對:

可以看出兩種架構(gòu),各有優(yōu)勢。雖然分布式數(shù)據(jù)前幾年熱度較高,但是在實際落地當(dāng)中還是存在一些問題需要解決。比如

1.運維成本高:

采用分布式架構(gòu)可以實現(xiàn)更高的可用性和擴(kuò)展性,同時也帶來冗余備份、網(wǎng)絡(luò)交互等方面的開銷,硬件節(jié)點使用規(guī)??焖贁U(kuò)張為大型數(shù)據(jù)中心的節(jié)能減排和機(jī)房規(guī)劃帶來較大壓力。大規(guī)模分布式集群的系統(tǒng)復(fù)雜度呈指數(shù)級上升,必須具備與之適配的運維管理能力作為支撐。筆者了解到,部分大行在國產(chǎn)化后,之前的Oracle小機(jī),分布式改造后,由于分布式數(shù)據(jù)庫的冗余,資源利用率低,2臺小機(jī)甚至需要50臺以上的分布式數(shù)據(jù)庫服務(wù)器,造成機(jī)房空間不夠用,在本地數(shù)據(jù)中心擴(kuò)容的同時,還在西部/北部新建數(shù)據(jù)庫中心,來滿足日益膨脹的數(shù)據(jù)庫服務(wù)器。

2.應(yīng)用改造難:

分布式改造不僅僅是數(shù)據(jù)庫的改造,同時需要業(yè)務(wù)進(jìn)行配合?!栋灼分刑岬剑?ldquo;為充分發(fā)揮分布式架構(gòu)優(yōu)勢,應(yīng)用層也需要投入更多的研發(fā)設(shè)計成本,一是需要進(jìn)行合理的數(shù)據(jù)分片設(shè)計,通過高內(nèi)聚低耦合的數(shù)據(jù)規(guī)劃,盡可能減少跨節(jié)點訪問;二是需要在系統(tǒng)架構(gòu)設(shè)計中充分考慮節(jié)點故障的容錯及柔性事務(wù)的處理。”所以,分布式數(shù)據(jù)庫 “較適合數(shù)據(jù)可實現(xiàn)完美分片的業(yè)務(wù)”。筆者參與過某金融機(jī)構(gòu)的分布式業(yè)務(wù)改造,分布式數(shù)據(jù)庫中的大表一般需要一個合適的分片鍵,比如用戶唯一ID作為分片鍵,但是如果涉及到查詢當(dāng)日營業(yè)廳的所有流水業(yè)務(wù),則需要跨服務(wù)器進(jìn)行訪問,性能下降50%以上。所以需要對業(yè)務(wù)進(jìn)行合理的改造。同時改造又需要業(yè)務(wù)廠商的參與。從北京金融科技產(chǎn)業(yè)聯(lián)盟的《分布式數(shù)據(jù)庫金融應(yīng)用發(fā)展報告(2023)》報告中,我們同樣可以看出分布式數(shù)據(jù)庫改造的時間成本是巨大的。

最后,《白皮書》也給出了兩種架構(gòu)的綜合成本:

當(dāng)前金融行業(yè)存量數(shù)據(jù)庫以小庫為主,所以大部分業(yè)務(wù)可以適合集中式數(shù)據(jù)庫。

由此,結(jié)合集中式和分布式的特點,《白皮書》給出了選型的流程圖供金融機(jī)構(gòu)進(jìn)行不同業(yè)務(wù)的數(shù)據(jù)庫架構(gòu)選型:

通過上圖可以看出,《白皮書》認(rèn)為對于金融行業(yè)關(guān)鍵業(yè)務(wù)的數(shù)據(jù)庫,改造時還是以集中式部署作為優(yōu)先考慮的方案。未來,分布式/集中式并行發(fā)展將在金融行業(yè)持續(xù)存在,需針對具體應(yīng)用場景對數(shù)據(jù)庫能力的需求和側(cè)重,選擇合適的數(shù)據(jù)庫產(chǎn)品。

值得一提的是,在集中式架構(gòu)中,《白皮書》還定義了“存算分離架構(gòu)”。集中式的主從多副本架構(gòu)中,還存在一些挑戰(zhàn),比如本地盤數(shù)據(jù)重構(gòu)時間長、存算資源不能靈活擴(kuò)展、本地盤亞健康無法監(jiān)測問題。 隨著存儲能力的不斷提升,在通過存算分離架構(gòu),數(shù)據(jù)庫可“進(jìn)一步實現(xiàn)副本縮減、容災(zāi)、備份能力下沉,IO 縮減性能加速、并發(fā)查詢下沉等,進(jìn)一步提升數(shù)據(jù)庫的可靠性與性能。”

存算分離目前已成為趨勢,近期發(fā)布的中國軟件協(xié)會發(fā)布的《中國軟件根技術(shù)發(fā)展白皮書(數(shù)據(jù)庫冊)》同樣指出了這個趨勢:國產(chǎn)數(shù)據(jù)廠商正逐步解決當(dāng)前存算一體架構(gòu)存在的問題。因此,新型存算分離架構(gòu)正在迅速興起,未來 2-3 年有望成為基礎(chǔ)設(shè)施領(lǐng)域新的關(guān)注點,一些國產(chǎn)數(shù)據(jù)庫廠商將在這一領(lǐng)域進(jìn)行優(yōu)化探索,數(shù)據(jù)庫由“存算一體”向“存算分離”、由一寫多讀向多讀多寫架構(gòu)演進(jìn)。

開放平臺數(shù)據(jù)庫轉(zhuǎn)型:三階十二步,軟硬協(xié)同是關(guān)鍵

《白皮書》從方案設(shè)計、遷移、投產(chǎn)三個階段,給出了開發(fā)平臺數(shù)據(jù)庫的具體轉(zhuǎn)型方法。

里面提到一個主要的轉(zhuǎn)型設(shè)計思想-“軟硬協(xié)同部署設(shè)計”。數(shù)據(jù)庫系統(tǒng)涉及服務(wù)器、存儲、網(wǎng)絡(luò)、操作系統(tǒng)、中間件等軟硬件組件,要充分協(xié)同各組件的特點及其能力,提升目標(biāo)數(shù)據(jù)庫系統(tǒng)的整體能力。如何匯聚數(shù)據(jù)庫上下游產(chǎn)業(yè)鏈資源,快速建立起更加專業(yè)的技術(shù)支撐體系,打造更加完善的數(shù)據(jù)庫服務(wù)工具和解決方案,白皮書給出了一個很好的案例:

這個案例是工商銀行對標(biāo)主機(jī) DB2 和 Oracle 數(shù)據(jù)庫,通過軟硬件協(xié)同,提升性能,同時采用存算分離架構(gòu)打破單庫容量瓶頸,實現(xiàn)彈性擴(kuò)容,首創(chuàng)建成多集群多中心部署的高可用架構(gòu),滿足金融業(yè)務(wù)系統(tǒng)服務(wù)連續(xù)性要求。

1)通過多核并行、基于代價的分布式并發(fā)事務(wù)并發(fā)優(yōu)化和全鏈路并行編譯執(zhí)行等,實現(xiàn)了分布式查詢技術(shù)優(yōu)化,具備百萬級 QPS 能力;

2)通過計算存儲分離、存儲資源池化、在線彈性擴(kuò)展等,具備PB 級海量存儲能力,良好的支撐了歷史明細(xì)類、報表等金融業(yè)務(wù)專題的海量數(shù)據(jù)處理需求;單庫數(shù)據(jù)量可以支持?jǐn)?shù)十 TB,基本持平或超過傳統(tǒng)數(shù)據(jù)庫存儲支持容量

3)同城雙園區(qū)間通過存儲級復(fù)制實現(xiàn)增量數(shù)據(jù)強(qiáng)一致同步,異地園區(qū)間通過異步方式實現(xiàn)增量日志同步,同城RPO=0&RTO<180秒和異地 RPO<1 分鐘&RTO<10 分鐘的金融級高可用通力;

總體上,《白皮書》通過對當(dāng)前金融業(yè)轉(zhuǎn)型的具體調(diào)研,給出了開放平臺數(shù)據(jù)庫方案架構(gòu)的選型建議和具體方法,并結(jié)合落地實踐案例生動展示了開放平臺數(shù)據(jù)庫轉(zhuǎn)型應(yīng)該采用的設(shè)計思想。更重要的是,這本書基于頭部廠商和金融頭部用戶的共識,給困擾金融行業(yè)多年的數(shù)據(jù)庫集中式or分布式部署路線做出權(quán)威結(jié)論,給更多DBA改造方案選型提供了重要理論依據(jù)。“道阻且長,行則將至”,各企業(yè)DBA及數(shù)據(jù)庫從業(yè)人員可以通過閱讀本《白皮書》,學(xué)習(xí)到開放平臺數(shù)據(jù)庫的創(chuàng)新經(jīng)驗,共同推進(jìn)金融行業(yè)的數(shù)字化轉(zhuǎn)型。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )