![金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型白皮書_第1頁(yè)](http://file4.renrendoc.com/view4/M00/2B/2B/wKhkGGYcy-aAMqUgAACSzN-zF-Q653.jpg)
![金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型白皮書_第2頁(yè)](http://file4.renrendoc.com/view4/M00/2B/2B/wKhkGGYcy-aAMqUgAACSzN-zF-Q6532.jpg)
![金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型白皮書_第3頁(yè)](http://file4.renrendoc.com/view4/M00/2B/2B/wKhkGGYcy-aAMqUgAACSzN-zF-Q6533.jpg)
![金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型白皮書_第4頁(yè)](http://file4.renrendoc.com/view4/M00/2B/2B/wKhkGGYcy-aAMqUgAACSzN-zF-Q6534.jpg)
![金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型白皮書_第5頁(yè)](http://file4.renrendoc.com/view4/M00/2B/2B/wKhkGGYcy-aAMqUgAACSzN-zF-Q6535.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型白皮書北京金融科技產(chǎn)業(yè)聯(lián)盟2023
年
11
月版權(quán)聲明本報(bào)告版權(quán)屬于北京金融科技產(chǎn)業(yè)聯(lián)盟,并受法律保護(hù)。轉(zhuǎn)載、編摘或利用其他方式使用本白皮書文字或觀點(diǎn)的,應(yīng)注明來(lái)源。違反上述聲明者,將被追究相關(guān)法律責(zé)任。I編制委員會(huì)主任:聶麗琴劉承巖編委會(huì)成員:黃本濤
王
輝(工行)編寫組成員:董勇明
史大鵬
李
林
莊乾鋒
董
里
趙
耀
龐
毅陳偉紅
郭鳳鳴
謝
軍
白
陽(yáng)
徐
旭
王
輝(華夏)楊
勐
徐雅光
韓竺吾
李
倩
毛思平
王莉莉
鄭皓廣王鵬沖
李中原
王嵩陽(yáng)
李
斌
婁賀展編審:林承軍
張
蕾參編單位:北京金融科技產(chǎn)業(yè)聯(lián)盟中國(guó)工商銀行股份有限公司華為技術(shù)有限公司中國(guó)農(nóng)業(yè)銀行股份有限公司中國(guó)銀行股份有限公司中國(guó)建設(shè)銀行股份有限公司中國(guó)光大銀行股份有限公司華夏銀行股份有限公司興業(yè)銀行股份有限公司平安銀行股份有限公司I摘
要“十四五”規(guī)劃提出了“加快數(shù)字化發(fā)展”的總體布局,金融服務(wù)是支撐數(shù)字經(jīng)濟(jì)發(fā)展的關(guān)鍵要素,同時(shí)自身也有數(shù)字化轉(zhuǎn)型的發(fā)展訴求。金融開放平臺(tái)數(shù)據(jù)庫(kù)作為金融信息系統(tǒng)的核心基礎(chǔ)軟件,轉(zhuǎn)型升級(jí)對(duì)于突破金融效率瓶頸、釋放金融創(chuàng)新空間、提升金融服務(wù)水平、支撐金融行業(yè)數(shù)字化轉(zhuǎn)型和高質(zhì)量發(fā)展具有重要而深遠(yuǎn)的意義。在開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型中,面臨著技術(shù)選型難、系統(tǒng)遷移難,綜合風(fēng)險(xiǎn)提升等諸多挑戰(zhàn)。本文通過(guò)調(diào)研金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)技術(shù)應(yīng)用現(xiàn)狀、分析金融行業(yè)數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型中的重點(diǎn)和難點(diǎn)應(yīng)用場(chǎng)景、并結(jié)合開放平臺(tái)業(yè)務(wù)系統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的應(yīng)用轉(zhuǎn)型實(shí)踐,提出轉(zhuǎn)型解決思路和建議。文中述及的方案以數(shù)據(jù)庫(kù)的集中式+分布式雙棧架構(gòu),滿足金融業(yè)不同的業(yè)務(wù)場(chǎng)景需求:對(duì)于穩(wěn)態(tài)業(yè)務(wù),采用集中式部署,滿足快速原地平替的轉(zhuǎn)型需求,對(duì)于敏態(tài)業(yè)務(wù),采用分布式部署架構(gòu),滿足系統(tǒng)快速?gòu)椥詳U(kuò)縮容的需求。數(shù)據(jù)庫(kù)轉(zhuǎn)型是一項(xiàng)復(fù)雜的系統(tǒng)性工程,本文對(duì)多個(gè)關(guān)鍵技術(shù)領(lǐng)域,包括同城雙集群容災(zāi)、對(duì)象遷移、數(shù)據(jù)遷移、數(shù)據(jù)校驗(yàn)、測(cè)試驗(yàn)證、并行方案等都進(jìn)行了深入的闡述和分析,給出了整體技術(shù)方案建議和實(shí)踐案例,可為金融同業(yè)及相關(guān)領(lǐng)域從業(yè)者提供參考。I目
錄一、
金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)現(xiàn)狀調(diào)研及轉(zhuǎn)型思路
............
1(一)金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)部署情況
..............................1(二)傳統(tǒng)數(shù)據(jù)庫(kù)在金融行業(yè)應(yīng)用的架構(gòu)及能力
........................4(三)數(shù)據(jù)庫(kù)轉(zhuǎn)型挑戰(zhàn)
..............................................6(四)轉(zhuǎn)型目標(biāo)和總體思路
..........................................8二、
金融典型業(yè)務(wù)數(shù)據(jù)庫(kù)需求及選型建議
...................
10(一)金融典型業(yè)務(wù)數(shù)據(jù)庫(kù)需求
.....................................
10(二)國(guó)產(chǎn)數(shù)據(jù)庫(kù)技術(shù)路線分析
.....................................
12(三)數(shù)據(jù)庫(kù)架構(gòu)選型建議
.........................................
19三、
開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型方法
.............................
24(一)方案規(guī)劃設(shè)計(jì)
...............................................
24(二)數(shù)據(jù)庫(kù)遷移
.................................................
31(三)投產(chǎn)運(yùn)行
...................................................
34四、
數(shù)據(jù)庫(kù)轉(zhuǎn)型實(shí)踐
.....................................
38(一)現(xiàn)狀
.......................................................
38(二)挑戰(zhàn)
.......................................................
38(三)轉(zhuǎn)型實(shí)踐
...................................................
41(四)轉(zhuǎn)型效果
...................................................
48五、
金融行業(yè)應(yīng)用數(shù)據(jù)庫(kù)轉(zhuǎn)型未來(lái)展望
.....................
49(一)云原生數(shù)據(jù)庫(kù)各類技術(shù)路線相互融合
...........................49(二)金融行業(yè)數(shù)據(jù)庫(kù)技術(shù)應(yīng)用的建議
...............................57參考文獻(xiàn)
..........................................................60I一、金融開放平臺(tái)數(shù)據(jù)庫(kù)現(xiàn)狀調(diào)研及轉(zhuǎn)型思路(一)金融行業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)部署情況1.金融行業(yè)數(shù)據(jù)庫(kù)技術(shù)發(fā)展歷程數(shù)據(jù)庫(kù)作為金融信息系統(tǒng)的核心基礎(chǔ)軟件,歷經(jīng)數(shù)十年發(fā)展,為金融行業(yè)經(jīng)營(yíng)戰(zhàn)略轉(zhuǎn)型升級(jí)提供了有力的技術(shù)支撐,伴隨著金融行業(yè)信息系統(tǒng)的演進(jìn),經(jīng)歷了不同的發(fā)展階段。信息化階段:改革開放后,我國(guó)金融行業(yè)面對(duì)信息技術(shù)革命滾滾大潮,積極學(xué)習(xí)和吸收世界金融行業(yè)技術(shù)革新成果,告別了手工記賬時(shí)代,開啟電子化、信息化建設(shè)進(jìn)程,帶來(lái)了金融行業(yè)工作方式和業(yè)務(wù)處理的巨大變革。數(shù)據(jù)集中階段:金融體制改革不斷深化,開始推動(dòng)金融系統(tǒng)向縱向統(tǒng)籌管控發(fā)展,金融行業(yè)走向數(shù)據(jù)大集中的發(fā)展道路。工行、農(nóng)行、中行、建行等國(guó)有大行于世紀(jì)之交率先開啟集中式金融信息系統(tǒng)技術(shù)體系建設(shè),宣告中國(guó)大型金融機(jī)構(gòu)步入集約化經(jīng)營(yíng)時(shí)代。這一時(shí)期,商用集中式數(shù)據(jù)庫(kù)以其高效的數(shù)據(jù)存取效率、優(yōu)異的系統(tǒng)穩(wěn)定性,很好地契合了金融行業(yè)對(duì)數(shù)據(jù)存儲(chǔ)管理的需求,為金融行業(yè)實(shí)現(xiàn)信息集中統(tǒng)計(jì)處理、財(cái)務(wù)集中改革、風(fēng)險(xiǎn)集中控制、業(yè)務(wù)集中管理等奠定了堅(jiān)實(shí)的技術(shù)基礎(chǔ)。1互聯(lián)網(wǎng)金融階段:金融行業(yè)出現(xiàn)電子銀行、電子支付等新業(yè)態(tài),相比線下轉(zhuǎn)賬等傳統(tǒng)金融交易場(chǎng)景,業(yè)務(wù)場(chǎng)景和業(yè)務(wù)量都有了顯著提升,金融行業(yè)開放平臺(tái)技術(shù)體系相應(yīng)的涌現(xiàn)出多種不同的數(shù)據(jù)庫(kù)產(chǎn)品,有效實(shí)現(xiàn)金融服務(wù)的降本增效和創(chuàng)新發(fā)展。互聯(lián)網(wǎng)金融的異軍突起,促進(jìn)了基于開源數(shù)據(jù)庫(kù)的金融級(jí)解決方案發(fā)展與成熟,在互聯(lián)網(wǎng)領(lǐng)域具備較多應(yīng)用案例的開源數(shù)據(jù)庫(kù)也逐步引入金融行業(yè)。金融行業(yè)吸收業(yè)界數(shù)據(jù)庫(kù)技術(shù)應(yīng)用的成功經(jīng)驗(yàn),并結(jié)合金融交易場(chǎng)景推陳出新,不斷擴(kuò)展開放平臺(tái)數(shù)據(jù)庫(kù)在金融行業(yè)的應(yīng)用范圍,有力支撐金融行業(yè)向信息化轉(zhuǎn)型。數(shù)字化轉(zhuǎn)型階段:在這個(gè)階段,兩類關(guān)鍵需求正在驅(qū)動(dòng)數(shù)據(jù)庫(kù)技術(shù)發(fā)展演進(jìn)。一方面,隨著數(shù)字化轉(zhuǎn)型深入,以及疫情的影響,加速了手機(jī)銀行、手機(jī)支付的使用,處理超高峰值、海量數(shù)據(jù)成為關(guān)鍵需求特征;另一方面,隨著金融行業(yè)信息技術(shù)創(chuàng)新應(yīng)用的深入,數(shù)據(jù)庫(kù)如何保證金融信息系統(tǒng)更好,更穩(wěn)定地運(yùn)行,提升系統(tǒng)韌性,支撐金融業(yè)務(wù)創(chuàng)新成了新課題。各金融機(jī)構(gòu)紛紛圍繞這兩類需求開展了數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型工作,探索各種新型國(guó)產(chǎn)數(shù)據(jù)庫(kù)產(chǎn)品在金融應(yīng)用場(chǎng)景試點(diǎn)和落地案例,同時(shí)也涌現(xiàn)出眾多與各類新的軟硬件平臺(tái)相適配的分布式數(shù)據(jù)庫(kù)產(chǎn)品。22.金融行業(yè)數(shù)據(jù)庫(kù)應(yīng)用現(xiàn)狀集中式數(shù)據(jù)庫(kù)成熟穩(wěn)定:傳統(tǒng)商業(yè)集中式數(shù)據(jù)庫(kù)以其較強(qiáng)的功能黏性、優(yōu)秀的系統(tǒng)穩(wěn)定性、良好的軟硬適配能力,目前在金融行業(yè)的存量應(yīng)用仍占據(jù)較大的份額。而國(guó)產(chǎn)數(shù)據(jù)庫(kù)和MySQL、PostgreSQL
等開源數(shù)據(jù)庫(kù)近些年逐漸從金融外圍系統(tǒng)向金融核心業(yè)務(wù)延伸。分布式數(shù)據(jù)庫(kù)廣泛試點(diǎn):為應(yīng)對(duì)數(shù)字化轉(zhuǎn)型帶來(lái)的高并發(fā)、海量數(shù)據(jù)、超高峰值等挑戰(zhàn),以及傳統(tǒng)商業(yè)數(shù)據(jù)庫(kù)遷移的難題,近年來(lái)各金融機(jī)構(gòu)都在探索數(shù)據(jù)庫(kù)轉(zhuǎn)型的多種技術(shù)路線及推廣,分布式數(shù)據(jù)庫(kù)在金融行業(yè)應(yīng)用規(guī)模已經(jīng)有明顯提升。傳統(tǒng)集中式數(shù)據(jù)庫(kù)占比高:雖然分布式數(shù)據(jù)庫(kù)應(yīng)用不斷增加,但集中式數(shù)據(jù)庫(kù)應(yīng)用仍占據(jù)主要份額。據(jù)金融信息化研究所《金融業(yè)數(shù)據(jù)庫(kù)供應(yīng)鏈安全發(fā)展報(bào)告》(2022)的數(shù)據(jù)顯示,集中式數(shù)據(jù)庫(kù)應(yīng)用在金融業(yè)整體占比接近
90%,其中銀行業(yè)占比接近80%,證券業(yè)和保險(xiǎn)業(yè)占比均超過(guò)
90%。金融業(yè)集中式數(shù)據(jù)庫(kù)占比情況示意見(jiàn)圖
1。3圖1
金融業(yè)集中式數(shù)據(jù)庫(kù)占比情況示意圖(二)傳統(tǒng)數(shù)據(jù)庫(kù)在金融行業(yè)應(yīng)用的架構(gòu)及能力1.傳統(tǒng)數(shù)據(jù)庫(kù)高可用架構(gòu)傳統(tǒng)數(shù)據(jù)庫(kù)高可用架構(gòu)完備:可以滿足金融客戶不同災(zāi)備等級(jí)、災(zāi)備部署及相關(guān)
RPO
和
RTO
要求。如
Oracle數(shù)據(jù)庫(kù)提供的高可用容災(zāi)方案包括
RAC、ADG
和存儲(chǔ)復(fù)制等技術(shù),該方案采用基于
FC-SAN
外置存儲(chǔ)的存算分離架構(gòu),底層以共享存儲(chǔ)(SharedStorage)的模式對(duì)接企業(yè)級(jí)存儲(chǔ)盤機(jī)保證數(shù)據(jù)的高可靠,計(jì)算層部署多個(gè)無(wú)狀態(tài)
Oracle
實(shí)例(RAC),通過(guò)緩存融合技術(shù)(CacheFusion)實(shí)現(xiàn)計(jì)算實(shí)例多讀多寫。本地高可用基于
RAC
實(shí)現(xiàn)故障快速切換,實(shí)現(xiàn)
RPO=0,RTO
秒級(jí),同城通4過(guò)
ADG(ActiveDataGuard)進(jìn)行數(shù)據(jù)同步,通過(guò)集中存儲(chǔ)磁盤復(fù)制同步日志確保同城故障切換時(shí)數(shù)據(jù)完整性,實(shí)現(xiàn)
RPO=0,RTO=10—30
分鐘。高可用架構(gòu)示意見(jiàn)圖
2。圖2
Oracle
高可用架構(gòu)示意圖目前傳統(tǒng)數(shù)據(jù)庫(kù)的成熟度高,在金融行業(yè)應(yīng)用廣泛,內(nèi)核穩(wěn)定,各類技術(shù)方案經(jīng)過(guò)充分生產(chǎn)驗(yàn)證,具備完善的高可用容災(zāi)及配套工具和監(jiān)控告警等運(yùn)維體系。2.傳統(tǒng)數(shù)據(jù)庫(kù)主要能力傳統(tǒng)數(shù)據(jù)庫(kù)功能強(qiáng)、特性多。傳統(tǒng)數(shù)據(jù)庫(kù)由多個(gè)組件組成,除了在數(shù)據(jù)庫(kù)的使用上有相對(duì)統(tǒng)一的
SQL
標(biāo)準(zhǔn)以及
ODBC、JDBC
規(guī)范外,其他組件并沒(méi)有規(guī)定如何實(shí)現(xiàn)。比如數(shù)據(jù)字典、存儲(chǔ)組織、并發(fā)控制、事務(wù)機(jī)制、會(huì)話管理、權(quán)限管理、持久化等方面,每個(gè)數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)并不相同。每個(gè)數(shù)據(jù)庫(kù)系5統(tǒng)基于不同設(shè)計(jì)理念和實(shí)現(xiàn),在系統(tǒng)規(guī)格上一般也有較大的差異。以
ORACLE
數(shù)據(jù)庫(kù)為例,在金融行業(yè)使用的主要能力如數(shù)據(jù)庫(kù)表、索引、存儲(chǔ)過(guò)程、序列、視圖、觸發(fā)器、自定義類型等數(shù)據(jù)庫(kù)對(duì)象和高級(jí)包函數(shù)、自治事務(wù)、遞歸調(diào)用、自連接等復(fù)雜特性。(三)數(shù)據(jù)庫(kù)轉(zhuǎn)型挑戰(zhàn)系統(tǒng)性工程:數(shù)據(jù)庫(kù)轉(zhuǎn)型是一項(xiàng)系統(tǒng)性工程,金融機(jī)構(gòu)在長(zhǎng)達(dá)數(shù)十年的使用過(guò)程中,部署了相當(dāng)規(guī)模的傳統(tǒng)數(shù)據(jù)庫(kù),并在其上耦合開發(fā)了大量應(yīng)用,積累了相關(guān)軟硬件規(guī)劃、上線、調(diào)優(yōu)、監(jiān)控、運(yùn)維、變更等能力,例如由傳統(tǒng)
Oracle
數(shù)據(jù)庫(kù)、Redhat
操作系統(tǒng)、IBM
大小機(jī)、X86
服務(wù)器、FC-SAN存儲(chǔ)及其網(wǎng)絡(luò)等構(gòu)成的典型的技術(shù)堆棧,亟需形成一套系統(tǒng)的數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型方案體系進(jìn)行轉(zhuǎn)型替換,端到端指引每一步的轉(zhuǎn)型工作,確?!帮w機(jī)空中更換發(fā)動(dòng)機(jī)”之后生產(chǎn)平穩(wěn)運(yùn)行。技術(shù)選型難:目前在國(guó)內(nèi)政策和國(guó)際環(huán)境的雙重作用下,國(guó)產(chǎn)數(shù)據(jù)庫(kù)百花齊放,起步較早的國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商已經(jīng)在穩(wěn)定性和性能有很大提升,并在金融、政府等重要行業(yè)得到驗(yàn)證,但總體上仍有差距。面對(duì)如此眾多的數(shù)據(jù)庫(kù)廠商(200+國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商)及其技術(shù)發(fā)展路線和部署架構(gòu),金融行業(yè)亟需解決6如何進(jìn)行數(shù)據(jù)庫(kù)的選型。遷移過(guò)程難:除了面臨數(shù)據(jù)庫(kù)選型難的問(wèn)題,開放平臺(tái)遷移還要考慮解決以下三個(gè)核心問(wèn)題:一是可用性問(wèn)題,如何保證系統(tǒng)的高可用、高可靠及容災(zāi)能力。存量的開放平臺(tái)傳統(tǒng)應(yīng)用往往具有歷史比較久遠(yuǎn)、業(yè)務(wù)長(zhǎng)期穩(wěn)定、關(guān)聯(lián)應(yīng)用較多等特點(diǎn),隨著金融業(yè)務(wù)的持續(xù)創(chuàng)新,數(shù)據(jù)庫(kù)轉(zhuǎn)型也在不斷實(shí)現(xiàn)底層系統(tǒng)架構(gòu)的演進(jìn)和迭代,必須充分考慮數(shù)據(jù)庫(kù)的本地、同城、異地系統(tǒng)的可用性、可靠性及容災(zāi)設(shè)計(jì),有效控制風(fēng)險(xiǎn)并持續(xù)優(yōu)化,保障遷移過(guò)程應(yīng)用服務(wù)平穩(wěn)運(yùn)行。二是功能及性能問(wèn)題,如何解決傳統(tǒng)數(shù)據(jù)庫(kù)以及構(gòu)建在其上的應(yīng)用同構(gòu)功能與性能體驗(yàn)。傳統(tǒng)應(yīng)用與數(shù)據(jù)庫(kù)高度耦合的優(yōu)勢(shì)在于減少了系統(tǒng)組件之間的交互開銷,對(duì)性能通常有較高要求,架構(gòu)轉(zhuǎn)型需在滿足業(yè)務(wù)性能指標(biāo)要求的同時(shí),做到性能體驗(yàn)不下降。同時(shí),需要關(guān)注傳統(tǒng)數(shù)據(jù)庫(kù)功能的平替能力,一方面具備傳統(tǒng)數(shù)據(jù)庫(kù)功能的平替能力,另一方面能夠?qū)ζ教婧蠊δ苓M(jìn)行系統(tǒng)驗(yàn)證。三是平滑安全遷移問(wèn)題,如何降低整個(gè)過(guò)程的實(shí)施成本并降低風(fēng)險(xiǎn)。完全兼容商業(yè)數(shù)據(jù)庫(kù)、無(wú)需應(yīng)用層改造的原位替換遷移方案,可以屏蔽數(shù)據(jù)庫(kù)特性差異和業(yè)務(wù)邏輯,有效降低技7術(shù)復(fù)雜度和轉(zhuǎn)型工作量,適合金融行業(yè)規(guī)模推廣使用。同時(shí),金融機(jī)構(gòu)在數(shù)據(jù)庫(kù)遷移過(guò)程中需重視目標(biāo)數(shù)據(jù)庫(kù)產(chǎn)品的安全可信能力及安全等保要求,同時(shí)也要保障技術(shù)供應(yīng)鏈的安全合規(guī)和穩(wěn)定可靠。(四)轉(zhuǎn)型目標(biāo)和總體思路1.數(shù)據(jù)庫(kù)轉(zhuǎn)型目標(biāo)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型目標(biāo):具備支撐金融開放平臺(tái)業(yè)務(wù)系統(tǒng)穩(wěn)定運(yùn)行的能力,支持全業(yè)務(wù)場(chǎng)景,覆蓋關(guān)鍵業(yè)務(wù)系統(tǒng)、一般業(yè)務(wù)系統(tǒng)和辦公系統(tǒng),轉(zhuǎn)型后新系統(tǒng)達(dá)到“安全有保障,容災(zāi)有提升,功能不受損,服務(wù)不降級(jí)”,整體能力從“可用”轉(zhuǎn)向“好用”。第一,保證數(shù)據(jù)庫(kù)系統(tǒng)安全可信。金融級(jí)數(shù)據(jù)庫(kù)的首要目標(biāo)是生產(chǎn)安全穩(wěn)定運(yùn)行,具備
7*24
小時(shí)連續(xù)服務(wù)能力。轉(zhuǎn)型要保證數(shù)據(jù)庫(kù)軟硬件系統(tǒng)的整體安全可信,即使在某些軟件故障、硬件異常的情況下,數(shù)據(jù)庫(kù)都應(yīng)保證數(shù)據(jù)的強(qiáng)一致性及系統(tǒng)的穩(wěn)定性。數(shù)據(jù)庫(kù)存儲(chǔ)業(yè)務(wù)應(yīng)用的核心數(shù)據(jù),任意一筆數(shù)據(jù)錯(cuò)亂、丟失將帶來(lái)嚴(yán)重影響,要滿足安全等級(jí)保護(hù)中對(duì)數(shù)據(jù)的機(jī)密性、完整性要求。第二,進(jìn)一步提升數(shù)據(jù)庫(kù)系統(tǒng)的容災(zāi)能力。金融級(jí)數(shù)據(jù)庫(kù)為確保在異常情況下數(shù)據(jù)不丟失、不錯(cuò)亂,需要具備多地多中8心的容災(zāi)及快速恢復(fù)能力??梢酝ㄟ^(guò)數(shù)據(jù)庫(kù)軟硬件協(xié)同的系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)級(jí)的災(zāi)備能力及指標(biāo)提升,例如,數(shù)據(jù)庫(kù)雙中心容災(zāi)
RPO=0,RTO<=2
分鐘,異地容災(zāi)
RPO<=1
分鐘,RTO<=10分鐘等。第三,目標(biāo)數(shù)據(jù)庫(kù)具備源數(shù)據(jù)庫(kù)的功能。金融級(jí)數(shù)據(jù)庫(kù)經(jīng)過(guò)近二十年應(yīng)用和演進(jìn),已有大量存量數(shù)據(jù)庫(kù)部署,需要充分考慮已經(jīng)開發(fā)并部署的應(yīng)用邏輯,例如存儲(chǔ)過(guò)程、觸發(fā)器、函數(shù)等特性,通過(guò)功能同構(gòu)的平替能力,提升應(yīng)用邏輯的兼容性,實(shí)現(xiàn)原位替換,簡(jiǎn)化轉(zhuǎn)型工作量,加快轉(zhuǎn)型節(jié)奏。第四,保持原有數(shù)據(jù)庫(kù)系統(tǒng)的服務(wù)等級(jí)。金融級(jí)數(shù)據(jù)庫(kù)服務(wù)于涉及國(guó)計(jì)民生的重要業(yè)務(wù)系統(tǒng),需要保證轉(zhuǎn)型后用戶使用體驗(yàn)的一致性,需要重點(diǎn)關(guān)注交易響應(yīng)時(shí)間、并發(fā)交易處理能力等核心性能容量指標(biāo),并要根據(jù)應(yīng)用發(fā)展趨勢(shì)預(yù)測(cè),預(yù)留一定的擴(kuò)容能力。對(duì)于大事務(wù)、慢
SQL
等異常及時(shí)發(fā)現(xiàn)并查殺,做到不死可監(jiān)控,實(shí)現(xiàn)
7*24
小時(shí)的連續(xù)性服務(wù)能力。2.數(shù)據(jù)庫(kù)轉(zhuǎn)型總體思路開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型面臨“時(shí)間緊、任務(wù)重、難度大”的挑戰(zhàn),本文通過(guò)分析多家金融機(jī)構(gòu)的轉(zhuǎn)型實(shí)踐,總結(jié)出了滿足開放平臺(tái)轉(zhuǎn)型要求的選型策略和轉(zhuǎn)型方法。9客觀、量化的選型策略:圍繞業(yè)務(wù)場(chǎng)景、技術(shù)支撐能力等因素,形成并持續(xù)優(yōu)化數(shù)據(jù)庫(kù)選型策略。數(shù)據(jù)庫(kù)選型應(yīng)統(tǒng)籌考慮業(yè)務(wù)場(chǎng)景的差異及演進(jìn),技術(shù)路線的架構(gòu)特點(diǎn)、功能性能、運(yùn)營(yíng)運(yùn)維等因素,避免不同路線造成的技術(shù)和業(yè)務(wù)割裂。標(biāo)準(zhǔn)化、體系化的轉(zhuǎn)型方法:標(biāo)準(zhǔn)化的轉(zhuǎn)型階段涵蓋方案規(guī)劃設(shè)計(jì)、數(shù)據(jù)庫(kù)遷移、生產(chǎn)投產(chǎn)等關(guān)鍵階段,將轉(zhuǎn)型工作有序分解,實(shí)現(xiàn)轉(zhuǎn)型方案的快速?gòu)?fù)制、快速推廣;體系化的轉(zhuǎn)型方案涵蓋部署方案、容災(zāi)方案、遷移方案、測(cè)試方案等關(guān)鍵方案,以及配套的操作和指導(dǎo)手冊(cè),體系化的方案是轉(zhuǎn)型思路和實(shí)踐經(jīng)驗(yàn)的沉淀積累,可以降低轉(zhuǎn)型難度。數(shù)據(jù)庫(kù)轉(zhuǎn)型路徑:建議選擇先易后難、先簡(jiǎn)單后復(fù)雜,業(yè)務(wù)改造先外圍后核心,先辦公系統(tǒng),后一般業(yè)務(wù)系統(tǒng)及關(guān)鍵業(yè)務(wù)系統(tǒng)的路徑。二、金融典型業(yè)務(wù)數(shù)據(jù)庫(kù)需求及選型建議(一)金融典型業(yè)務(wù)數(shù)據(jù)庫(kù)需求1.敏態(tài)業(yè)務(wù)時(shí)效性要求高的業(yè)務(wù):高并發(fā)且多變的業(yè)務(wù)場(chǎng)景對(duì)數(shù)據(jù)庫(kù)的時(shí)效性要求越來(lái)越高,當(dāng)業(yè)務(wù)負(fù)載比較大的時(shí)候,以秒殺業(yè)務(wù)為例,高峰時(shí)段的業(yè)務(wù)量是平時(shí)業(yè)務(wù)的十倍左右。為了滿足10時(shí)效要求,需要數(shù)據(jù)庫(kù)卻可以快速擴(kuò)容,滿足業(yè)務(wù)高峰需求,很好地支持業(yè)務(wù)的快速變化。例如,國(guó)有大型商業(yè)銀行和股份制商業(yè)銀行的數(shù)據(jù)庫(kù),性能通常要求支持萬(wàn)級(jí)
TPS、千級(jí)并發(fā)連接,單庫(kù)容量支持?jǐn)?shù)十
TB。業(yè)務(wù)流量變化大的業(yè)務(wù):大多數(shù)傳統(tǒng)業(yè)務(wù)增量相對(duì)穩(wěn)定、容易規(guī)劃所需要的資源容量,與之不同的是,互聯(lián)網(wǎng)這類業(yè)務(wù)隨時(shí)可能出現(xiàn)流量激增的情況,要求國(guó)產(chǎn)數(shù)據(jù)庫(kù)具備很強(qiáng)的可擴(kuò)展性,可以根據(jù)業(yè)務(wù)負(fù)載靈活調(diào)動(dòng)資源,隨時(shí)擴(kuò)縮容。2.穩(wěn)態(tài)業(yè)務(wù)可用性要求高的業(yè)務(wù):傳統(tǒng)業(yè)務(wù)屬性穩(wěn)定,流程變化少,用戶量平緩增長(zhǎng),可用性要求嚴(yán)格。需要以下幾種方式來(lái)保證核心業(yè)務(wù)的可用性。一是同集群的故障節(jié)點(diǎn)主備切換。在提供高性能的同時(shí)保證了系統(tǒng)的高可用性和業(yè)務(wù)的連續(xù)性。二是跨可用區(qū)、跨地域部署的容災(zāi)能力。三是通過(guò)自動(dòng)的全量增量備份、數(shù)據(jù)快速恢復(fù)、恢復(fù)到任意時(shí)間點(diǎn)等方式保障多層次備份恢復(fù)。3.HTAP
混合負(fù)載應(yīng)用的業(yè)務(wù)由于金融業(yè)務(wù)發(fā)展而帶來(lái)的復(fù)雜多樣的業(yè)務(wù)變化,導(dǎo)致大量不同業(yè)務(wù)類型的數(shù)據(jù)存放在一起。例如交互系統(tǒng)和報(bào)表系11統(tǒng),一種是OLTP應(yīng)用場(chǎng)景,一種是OLAP應(yīng)用場(chǎng)景,如果數(shù)據(jù)存放在一起,就需要數(shù)據(jù)庫(kù)既具備事務(wù)能力,又需要在分析時(shí)具備高效性。需滿足用戶多類數(shù)據(jù)存儲(chǔ)及在不同業(yè)務(wù)場(chǎng)景下的處理需求。(二)國(guó)產(chǎn)數(shù)據(jù)庫(kù)技術(shù)路線分析根據(jù)《墨天輪中國(guó)數(shù)據(jù)庫(kù)流行度排行》2023年8月發(fā)布信息,共有286
個(gè)數(shù)據(jù)庫(kù)參與排名。國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商眾多,為滿足平滑遷移、高可用、高性能等多方面需求往往采用多種架構(gòu)融合的技術(shù)路線,導(dǎo)致主流
OLTP
數(shù)據(jù)庫(kù)的架構(gòu)分類維度眾多。如按數(shù)據(jù)操作的模式可分為集中式和分布式部署,按數(shù)據(jù)存儲(chǔ)方式分為存算一體和存算分離等,同時(shí)各種維度又相互交叉。本文以對(duì)應(yīng)用遷移改造影響較大的集中式/分布式部署為主線進(jìn)行分析,在每大類中再以其他維度分析不同架構(gòu)的特點(diǎn)為可靠性等選型提供參考。1.集中式集中式部署的共同特點(diǎn)是:數(shù)據(jù)集中存儲(chǔ),應(yīng)用訪問(wèn)同一份數(shù)據(jù)或數(shù)據(jù)副本。從使用體驗(yàn)上看集中式部署最接近單機(jī)數(shù)據(jù)庫(kù),應(yīng)用看到的數(shù)據(jù)在邏輯上是可以統(tǒng)一訪問(wèn)的,可以不考慮數(shù)據(jù)分片、分布式事務(wù)等問(wèn)題,更好支持存儲(chǔ)過(guò)程、多表關(guān)聯(lián)、復(fù)雜查詢,因而應(yīng)用開發(fā),運(yùn)維容易。12根據(jù)
2023
年
8
月
DB-Engines
全球數(shù)據(jù)庫(kù)排名
TOP10
中全部關(guān)系型數(shù)據(jù)庫(kù)均為集中式數(shù)據(jù)庫(kù),同期墨天輪發(fā)布的國(guó)產(chǎn)數(shù)據(jù)庫(kù)排名
TOP10
中的交易數(shù)據(jù)庫(kù)全部為集中式數(shù)據(jù)庫(kù)或在支持分布式數(shù)據(jù)庫(kù)中支持分布式和集中式兩種部署模式,這一情況反映了在企業(yè)傳統(tǒng)業(yè)務(wù)集中式數(shù)據(jù)庫(kù)需求仍中占主流。在金融開放平臺(tái)轉(zhuǎn)型中集中式數(shù)據(jù)庫(kù)或分布式數(shù)據(jù)庫(kù)的集中式部署架構(gòu)同樣發(fā)揮重要作用,占比約
80%。根據(jù)當(dāng)前國(guó)產(chǎn)集中式部署主流架構(gòu)可分為主備多副本(存算一體)和存算分離兩種。(1)主從多副本圖3
主從多副本架構(gòu)示意圖此架構(gòu)在單機(jī)數(shù)據(jù)庫(kù)基本上發(fā)展而來(lái),數(shù)據(jù)存儲(chǔ)于本地硬盤,需要通過(guò)數(shù)據(jù)庫(kù)日志同步回放方式生成副本來(lái)實(shí)現(xiàn)故障切13換和保證數(shù)據(jù)可用性。主從多副本架構(gòu)的從節(jié)點(diǎn)可作為只讀節(jié)點(diǎn)訪問(wèn),因此可以實(shí)現(xiàn)讀寫分離分擔(dān)主實(shí)例壓力,實(shí)現(xiàn)橫向擴(kuò)展,但由于從節(jié)點(diǎn)日志回放為異步,數(shù)據(jù)不能保證與主節(jié)點(diǎn)實(shí)時(shí)一致,讀寫分離的應(yīng)用場(chǎng)景有限。主從多副本架構(gòu)實(shí)現(xiàn)簡(jiǎn)單,技術(shù)門檻低,大量被開源數(shù)據(jù)庫(kù)使用,使用較為廣泛。受服務(wù)器可靠性、存算一體架構(gòu)爆炸半徑大、本地盤數(shù)據(jù)重構(gòu)時(shí)間長(zhǎng)、存算資源不能靈活擴(kuò)展等影響,主從多副本架構(gòu)需要較多硬件冗余,資源利用率較低,故障后數(shù)據(jù)庫(kù)服務(wù)恢復(fù)速度較慢。同時(shí)由于日志同步的性能損耗較大,在有大量變更或大事務(wù)時(shí)采用同步復(fù)制對(duì)性能影響較大,一些主從多副本數(shù)據(jù)庫(kù)產(chǎn)品高可用設(shè)計(jì)中選擇優(yōu)先保證性能或可以性能和數(shù)據(jù)一致性中做取舍。在產(chǎn)品選擇中需要注意如果選擇性能優(yōu)先則要考慮承受數(shù)據(jù)丟失的影響或采用其他數(shù)據(jù)補(bǔ)齊手段。14(2)存算分離架構(gòu)圖4
存算分離架構(gòu)示意圖存算分離方案通過(guò)使用可靠性更高的專用存儲(chǔ)設(shè)備提升了數(shù)據(jù)持久化可靠性,同時(shí)降低了硬盤故障發(fā)生和故障恢復(fù)重構(gòu)對(duì)數(shù)據(jù)庫(kù)服務(wù)的影響。通過(guò)存算分離架構(gòu),一方面降低了服務(wù)器故障的影響,另一方面通過(guò)存儲(chǔ)的高可用能力替代數(shù)據(jù)庫(kù)日志復(fù)制進(jìn)行持久化和容災(zāi)對(duì)性能影響更小,同時(shí)通過(guò)存算解耦計(jì)算和存儲(chǔ)資源都可根據(jù)需要分配,資源利用率得到提升,這種資源池化思路與云計(jì)算理念吻合,因此同樣被云數(shù)據(jù)庫(kù)廣泛采用。隨著存儲(chǔ)能力的不斷提升,在存算分離架構(gòu)下數(shù)據(jù)庫(kù)可進(jìn)一步實(shí)現(xiàn)副本縮減、容災(zāi)、備份能力下沉,IO
縮減性能加速、并發(fā)查詢下沉等,進(jìn)一步提升數(shù)據(jù)庫(kù)的可靠性與性能。15由于存算分離架構(gòu)增加了存儲(chǔ)和存儲(chǔ)網(wǎng)絡(luò),架構(gòu)復(fù)雜度增加,對(duì)存儲(chǔ)和網(wǎng)絡(luò)同樣有比較高的要求,使用可靠性、性能較差的產(chǎn)品會(huì)使存算分離架構(gòu)的效果大打折扣。在選型時(shí)需要重點(diǎn)考慮存儲(chǔ)和網(wǎng)絡(luò)的性能可靠性評(píng)估。2.分布式分布式數(shù)據(jù)庫(kù)的共同特點(diǎn)是:數(shù)據(jù)分散存儲(chǔ)在不同的數(shù)據(jù)節(jié)點(diǎn),通過(guò)分布式事務(wù)實(shí)現(xiàn)并行處理,提升數(shù)據(jù)庫(kù)的并發(fā)性能和容量。分布式數(shù)據(jù)庫(kù)解決了集中式數(shù)據(jù)庫(kù)的橫向擴(kuò)展問(wèn)題,但由于分片間需要通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)同步和匯總,尤其是保證分布式事務(wù)的強(qiáng)一致性對(duì)性能影響較大,因此較適合數(shù)據(jù)可實(shí)現(xiàn)完美分片的業(yè)務(wù)。如果有大量分布式事務(wù),或有大量多表間關(guān)聯(lián)查詢會(huì)造成分布式數(shù)據(jù)庫(kù)的性能大幅下降并影響線性擴(kuò)展。分布式數(shù)據(jù)庫(kù)主要分為分布式中間件和原生分布式兩大類。16(1)分布式中間件圖5
分布式中間件架構(gòu)示意圖分布式中間件架構(gòu)引入分庫(kù)分表中間件實(shí)現(xiàn)數(shù)據(jù)容量的橫向擴(kuò)展,多采用傳統(tǒng)數(shù)據(jù)庫(kù)作為數(shù)據(jù)節(jié)點(diǎn)+分片路由中間件作為協(xié)調(diào)節(jié)點(diǎn)+全局事務(wù)管理的架構(gòu),其技術(shù)特征是基于傳統(tǒng)集中式數(shù)據(jù)庫(kù)作為數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),繼承了傳統(tǒng)數(shù)據(jù)庫(kù)的技術(shù)積累和成熟生態(tài),數(shù)據(jù)庫(kù)存儲(chǔ)引擎內(nèi)核穩(wěn)定性相對(duì)較高,周邊生態(tài)工具配套完善,但分布式事務(wù)支持能力較弱,主要通過(guò)柔性事務(wù)解決,對(duì)應(yīng)用系統(tǒng)的設(shè)計(jì)、開發(fā)、維護(hù)影響較大。17(2)原生分布式圖6
云原生分布式數(shù)據(jù)庫(kù)示意圖原生分布式數(shù)據(jù)庫(kù)基于分布式理念構(gòu)建由分布式事務(wù)調(diào)度管理和數(shù)據(jù)庫(kù)引擎等組成,數(shù)據(jù)按規(guī)則打散,副本通過(guò)paoxs/raft
等分布式協(xié)議保證一致性,上層實(shí)現(xiàn)數(shù)據(jù)庫(kù)基礎(chǔ)的優(yōu)化器、執(zhí)行器等組件,對(duì)分布式事務(wù)支持更好,很多廠商通過(guò)自研的存儲(chǔ)引擎自研則進(jìn)行深度并行查詢、算子下推等優(yōu)化,進(jìn)一步提升了性能,相對(duì)分布式路由架構(gòu)原生分布式數(shù)據(jù)庫(kù)在分布式事務(wù)能力、線彈性擴(kuò)展、數(shù)據(jù)一致性、防腦裂等方面具備優(yōu)勢(shì)。18(三)數(shù)據(jù)庫(kù)架構(gòu)選型建議1.集中式與分布式雙棧部署架構(gòu)并用伴隨中國(guó)金融業(yè)務(wù)不斷創(chuàng)新發(fā)展,金融行業(yè)使用的數(shù)據(jù)庫(kù)產(chǎn)品和技術(shù)日趨多樣化。隨著金融行業(yè)數(shù)字化轉(zhuǎn)型逐步深入,金融應(yīng)用持續(xù)創(chuàng)新,金融業(yè)務(wù)場(chǎng)景的廣度和深度都大幅擴(kuò)展,對(duì)金融數(shù)據(jù)的使用方式日益多樣化,單一類型數(shù)據(jù)庫(kù)已難以支撐金融行業(yè)所有應(yīng)用場(chǎng)景。分布式/集中式并行發(fā)展將在金融行業(yè)持續(xù)存在,需針對(duì)具體應(yīng)用場(chǎng)景對(duì)數(shù)據(jù)庫(kù)能力的需求和側(cè)重,選擇合適的數(shù)據(jù)庫(kù)產(chǎn)品。金融行業(yè)數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型的重點(diǎn)難點(diǎn)場(chǎng)景,使得分布式數(shù)據(jù)庫(kù)成為業(yè)界關(guān)注的焦點(diǎn),但集中式部署的應(yīng)用場(chǎng)景仍然更為廣泛,集中式與分布式部署各有其適用的應(yīng)用場(chǎng)景。分布式數(shù)據(jù)庫(kù)解決了集中式數(shù)據(jù)庫(kù)性能容量擴(kuò)展能力不足的問(wèn)題,相應(yīng)地也在系統(tǒng)層和應(yīng)用層付出了多方面的成本。在系統(tǒng)層面:從專用大型機(jī)服務(wù)器遷移到通用服務(wù)器,單體設(shè)備可靠性降低,采用分布式架構(gòu)可以實(shí)現(xiàn)更高的可用性和擴(kuò)展性,同時(shí)也帶來(lái)冗余備份、網(wǎng)絡(luò)交互等方面的開銷,硬件節(jié)點(diǎn)使用規(guī)模快速擴(kuò)張為大型數(shù)據(jù)中心的節(jié)能減排和機(jī)房規(guī)劃帶來(lái)較大壓力。大規(guī)模分布式集群的系統(tǒng)復(fù)雜度呈指數(shù)級(jí)上升,必須具備與之適配的運(yùn)維管理能力作為支撐,需要在運(yùn)維19管理配套的系統(tǒng)能力建設(shè)和人才儲(chǔ)備方面加大投入。在應(yīng)用層面:將分布式系統(tǒng)完全封裝成一個(gè)邏輯單庫(kù)的解決方案雖然能夠簡(jiǎn)化應(yīng)用開發(fā)模型,但分布式系統(tǒng)性能開銷太大,因此適用場(chǎng)景有限。為充分發(fā)揮分布式架構(gòu)優(yōu)勢(shì),應(yīng)用層也需要投入更多的研發(fā)設(shè)計(jì)成本,一是需要進(jìn)行合理的數(shù)據(jù)分片設(shè)計(jì),通過(guò)高內(nèi)聚低耦合的數(shù)據(jù)規(guī)劃,盡可能減少跨節(jié)點(diǎn)訪問(wèn);二是需要在系統(tǒng)架構(gòu)設(shè)計(jì)中充分考慮節(jié)點(diǎn)故障的容錯(cuò)及柔性事務(wù)的處理。綜合來(lái)看,集中式與分布式數(shù)據(jù)庫(kù)的使用成本見(jiàn)圖7:圖
7
數(shù)據(jù)庫(kù)綜合使用成本示意圖當(dāng)前金融行業(yè)存量數(shù)據(jù)庫(kù)以小庫(kù)為主,同時(shí)隨著硬件能力20的提升,成本拐點(diǎn)會(huì)不斷右移。由于絕大部分分布式數(shù)據(jù)庫(kù)都具備集中式和分布式兩種部署模式,可以滿足不同業(yè)務(wù)不同場(chǎng)景的要求。在需求與產(chǎn)品的雙驅(qū)動(dòng)下,數(shù)據(jù)庫(kù)集中式部署架構(gòu)在金融機(jī)構(gòu)的轉(zhuǎn)型替換中已占
80%左右。金融用戶需要根據(jù)業(yè)務(wù)需要選擇合適的部署架構(gòu)以達(dá)到快速轉(zhuǎn)型、降低難度、聚焦業(yè)務(wù)創(chuàng)新的目標(biāo)。2.基于業(yè)務(wù)需求及特性選擇部署架構(gòu)(1)
按業(yè)務(wù)需求評(píng)估架構(gòu)選型綜合以上分析,在架構(gòu)選型時(shí)需要從業(yè)務(wù)需求進(jìn)行評(píng)估,從改造難度、業(yè)務(wù)特征、支撐能力等維度進(jìn)行選型評(píng)估:a)
業(yè)務(wù)特征評(píng)估1)
改造難度:考慮到存儲(chǔ)過(guò)程、復(fù)雜
SQL
進(jìn)行分布式改造難度大,當(dāng)需要大量使用復(fù)雜查詢、存儲(chǔ)過(guò)程尤其是存量業(yè)務(wù)替換時(shí),可采用集中式部署架構(gòu)實(shí)現(xiàn)對(duì)等架構(gòu)替換;反之如果業(yè)務(wù)為新業(yè)務(wù)或基本未使用存儲(chǔ)過(guò)程、復(fù)雜
SQL
可評(píng)估其他特征是否可使用分布式部署。2)
分布式事務(wù)性能影響方面:由于分布式事務(wù)對(duì)強(qiáng)事務(wù)一致性操作性能影響較大,需要控制分布式事務(wù)使用比例。如果業(yè)務(wù)邏輯難以避免大量分布式事務(wù)或希望簡(jiǎn)化應(yīng)用復(fù)雜度,21可考慮采用集中式部署模式;如果業(yè)務(wù)可設(shè)計(jì)相對(duì)獨(dú)立的分片,并降低
SQL
語(yǔ)句復(fù)雜度,則可以結(jié)合業(yè)務(wù)場(chǎng)景需求使用分布式部署模式。3)
穩(wěn)定性、運(yùn)維等方面考慮:當(dāng)分片較多使節(jié)點(diǎn)數(shù)膨脹以及跨節(jié)點(diǎn)架構(gòu)復(fù)雜性造成性能穩(wěn)定性下降、故障定位難度增加,備份困難等運(yùn)維問(wèn)題,如果業(yè)務(wù)對(duì)這些方面要求較高,需要考慮采用集中式部署模式。b)
支撐能力評(píng)估集中式部署模式以
ScaleUp
方式擴(kuò)展為主,如果在業(yè)務(wù)特性評(píng)估中需要選擇集中式部署但并發(fā)性能、容量超出單庫(kù)規(guī)格時(shí),則需要考慮從業(yè)務(wù)側(cè)做數(shù)據(jù)拆分或遷移非結(jié)構(gòu)化數(shù)據(jù)、歷史數(shù)據(jù)實(shí)現(xiàn)瘦身,如單庫(kù)能力仍無(wú)法支撐,則需要評(píng)估使用分布式數(shù)據(jù)庫(kù)的可行性。以下為業(yè)務(wù)需求進(jìn)行部署架構(gòu)選型流程圖:22圖8
數(shù)據(jù)庫(kù)部署架構(gòu)選型流程圖(2)根據(jù)業(yè)務(wù)類型選型從業(yè)務(wù)需求評(píng)估模型可以看出,集中式/分布式部署模式選型結(jié)果與穩(wěn)態(tài)/敏態(tài)業(yè)務(wù)有高度對(duì)應(yīng)性,因此也可以從業(yè)務(wù)特點(diǎn)分類角度進(jìn)行數(shù)據(jù)庫(kù)選型評(píng)估。a)
穩(wěn)態(tài)業(yè)務(wù)較適合采用集中式部署模式穩(wěn)態(tài)業(yè)務(wù):金融核心業(yè)務(wù)多為穩(wěn)態(tài)業(yè)務(wù),特點(diǎn)是業(yè)務(wù)穩(wěn)定,增長(zhǎng)平穩(wěn),對(duì)穩(wěn)定性、可靠性、響應(yīng)性能要求高,運(yùn)維保障措施嚴(yán)格,適合集中式部署架構(gòu)。同時(shí)穩(wěn)態(tài)業(yè)務(wù)中存量業(yè)務(wù)多,適合采用集中式數(shù)據(jù)庫(kù)實(shí)現(xiàn)原位架構(gòu)平替,因此穩(wěn)態(tài)業(yè)務(wù)采用集中式部署實(shí)現(xiàn)替換可有效降低轉(zhuǎn)型難度,保證業(yè)務(wù)穩(wěn)定。23b)
敏態(tài)業(yè)務(wù)較適合采用分布式部署模式敏態(tài)業(yè)務(wù):特點(diǎn)是業(yè)務(wù)發(fā)展迅速,迭代快、數(shù)據(jù)增長(zhǎng)快,需要較強(qiáng)橫向擴(kuò)展能力,并且很多可通過(guò)數(shù)據(jù)分片較好實(shí)現(xiàn)并發(fā)處理提升并發(fā)性能和容量,敏態(tài)業(yè)務(wù)以創(chuàng)新型業(yè)務(wù)為主,比較典型的是互聯(lián)網(wǎng)類業(yè)務(wù),這類敏態(tài)業(yè)務(wù)采用分布式部署有利于發(fā)揮分布式分片橫向擴(kuò)展能力,支撐敏態(tài)業(yè)務(wù)高并發(fā)大容量、突發(fā)流量峰值高的需要。三、開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型方法數(shù)據(jù)庫(kù)轉(zhuǎn)型方法三階十二步:開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型建議參考以下三個(gè)階段進(jìn)行整體規(guī)劃:方案規(guī)劃設(shè)計(jì)階段、數(shù)據(jù)庫(kù)遷移階段和投產(chǎn)運(yùn)行階段。數(shù)據(jù)庫(kù)轉(zhuǎn)型方法三階十二步見(jiàn)圖
9。圖9
數(shù)據(jù)庫(kù)轉(zhuǎn)型方法三階十二步(一)方案規(guī)劃設(shè)計(jì)方案規(guī)劃設(shè)計(jì)階段主要工作包括:部署方案、容災(zāi)方案、24遷移方案、測(cè)試方案。現(xiàn)狀調(diào)研:規(guī)劃設(shè)計(jì)前,建議進(jìn)行數(shù)據(jù)庫(kù)現(xiàn)狀調(diào)研,重點(diǎn)包括數(shù)據(jù)庫(kù)信息、業(yè)務(wù)信息、性能容量指標(biāo),對(duì)數(shù)據(jù)庫(kù)遷移可行性分析,確定數(shù)據(jù)遷移內(nèi)容與范圍,業(yè)務(wù)可接受的影響時(shí)間等信息。例如,數(shù)據(jù)庫(kù)信息:數(shù)據(jù)庫(kù)版本、實(shí)例數(shù)、數(shù)據(jù)總量、數(shù)據(jù)增量、業(yè)務(wù)
SQL
信息、并發(fā)數(shù)、容災(zāi)備份機(jī)制及要求等;業(yè)務(wù)信息:業(yè)務(wù)系統(tǒng)架構(gòu)、業(yè)務(wù)時(shí)延要求、業(yè)務(wù)并發(fā)要求等;性能容量指標(biāo):TPS/QPS、數(shù)據(jù)庫(kù)運(yùn)行
CPU
峰值、CPU
峰值換算公式等。1.部署方案優(yōu)先原位替換:數(shù)據(jù)庫(kù)部署方案優(yōu)先選用“原位替換”原則。傳統(tǒng)數(shù)據(jù)庫(kù)替代難度大為業(yè)界共識(shí),如果對(duì)應(yīng)用系統(tǒng)進(jìn)行分布式改造,對(duì)業(yè)務(wù)邏輯進(jìn)行重構(gòu),面臨技術(shù)復(fù)雜度高、工作量大、項(xiàng)目周期長(zhǎng)、實(shí)施風(fēng)險(xiǎn)高等痛點(diǎn)問(wèn)題。通過(guò)原位替換,可屏蔽數(shù)據(jù)庫(kù)特性差異,保持業(yè)務(wù)邏輯,有效降低技術(shù)復(fù)雜度和轉(zhuǎn)型工作量,解放應(yīng)用研發(fā)人員的生產(chǎn)力,聚焦于金融業(yè)務(wù)的創(chuàng)新。云化服務(wù)部署能力:數(shù)據(jù)庫(kù)部署建議考慮云化服務(wù)和自服務(wù)的能力,充分利用云化資源池能力,按需提供數(shù)據(jù)庫(kù)服務(wù),實(shí)現(xiàn)從應(yīng)用節(jié)點(diǎn)到數(shù)據(jù)庫(kù)節(jié)點(diǎn)全鏈路的資源彈性伸縮能力。25軟硬協(xié)同部署設(shè)計(jì):考慮現(xiàn)有目標(biāo)數(shù)據(jù)庫(kù)同傳統(tǒng)數(shù)據(jù)庫(kù)整體能力的差異,部署方案需要從軟硬協(xié)同系統(tǒng)角度設(shè)計(jì),對(duì)源數(shù)據(jù)庫(kù)的性能、數(shù)據(jù)量、高可用及容災(zāi)部署進(jìn)行分析,根據(jù)目標(biāo)數(shù)據(jù)庫(kù)對(duì)應(yīng)能力的支持情況,統(tǒng)籌規(guī)劃整體設(shè)計(jì)。數(shù)據(jù)庫(kù)系統(tǒng)涉及服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)、操作系統(tǒng)、中間件等軟硬件組件,要充分協(xié)同各組件的特點(diǎn)及其能力,提升目標(biāo)數(shù)據(jù)庫(kù)系統(tǒng)的整體能力。例如,工行的數(shù)據(jù)庫(kù)集中式部署協(xié)同企業(yè)級(jí)存儲(chǔ)盤機(jī),通過(guò)存算分離,具備
PB
級(jí)海量存儲(chǔ)能力,單庫(kù)數(shù)據(jù)量可以支持?jǐn)?shù)十TB,基本持平或超過(guò)傳統(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)支持容量。集中式和分布式雙棧部署:集中式部署以服務(wù)穩(wěn)態(tài)業(yè)務(wù)場(chǎng)景為主,具備架構(gòu)簡(jiǎn)單,易部署易運(yùn)維,兼容存儲(chǔ)過(guò)程,應(yīng)用不需重構(gòu)易遷移,數(shù)據(jù)庫(kù)網(wǎng)絡(luò)交互少,時(shí)延低等特點(diǎn)。集中式部署具備較好的原位替換能力,部署時(shí)建議考慮傳統(tǒng)FC-SAN
企業(yè)級(jí)存儲(chǔ)及網(wǎng)絡(luò)的轉(zhuǎn)型要求,進(jìn)行
RoCE-SAN
企業(yè)級(jí)存儲(chǔ)及網(wǎng)絡(luò)的升級(jí)。集中式部署架構(gòu)示意見(jiàn)圖
10。26圖10
集中式部署架構(gòu)示意圖分布式部署以服務(wù)敏態(tài)業(yè)務(wù)場(chǎng)景為主,具備并發(fā)高,適配業(yè)務(wù)量持續(xù)快速擴(kuò)展,容量大,易水平擴(kuò)展,單點(diǎn)故障半徑小,需要應(yīng)用做數(shù)據(jù)分區(qū)訪問(wèn)調(diào)優(yōu)和改造等特點(diǎn)。分布式部署架構(gòu)示意見(jiàn)圖
11。圖11
分布式部署架構(gòu)示意圖27開放平臺(tái)數(shù)據(jù)庫(kù)部署建議根據(jù)服務(wù)業(yè)務(wù)場(chǎng)景特征和所需支撐能力,選擇集中式或分布式部署。2.容災(zāi)方案容災(zāi)等級(jí)要求:數(shù)據(jù)庫(kù)容災(zāi)方案需要參考《銀行業(yè)信息系統(tǒng)災(zāi)難恢復(fù)管理規(guī)范
JR/T
0044-2008》和《分布式數(shù)據(jù)庫(kù)技術(shù)金融應(yīng)用規(guī)范災(zāi)難恢復(fù)要求
JR/T
0205-2020》,根據(jù)應(yīng)用對(duì)應(yīng)的容災(zāi)等級(jí)進(jìn)行設(shè)計(jì),按照容災(zāi)等級(jí)對(duì)于
RPO、RTO
及同城或異地災(zāi)備要求進(jìn)行建設(shè)。軟硬協(xié)同容災(zāi)設(shè)計(jì)
:容災(zāi)系統(tǒng)涉及數(shù)據(jù)庫(kù)、負(fù)載均衡器、服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò),建議對(duì)相關(guān)組件統(tǒng)籌設(shè)計(jì)規(guī)劃,可參考傳統(tǒng)數(shù)據(jù)庫(kù)災(zāi)備特性,例如
Oracle
數(shù)據(jù)庫(kù)的
ADG、存儲(chǔ)復(fù)制、備份等,以滿足監(jiān)管的要求,提供
7*24
小時(shí)的服務(wù)連續(xù)性。例如工行部署的同城雙中心雙集群容災(zāi)方案,通過(guò)同城兩個(gè)數(shù)據(jù)中心部署兩套獨(dú)立的數(shù)據(jù)庫(kù)集群軟件,實(shí)現(xiàn)完全隔離的軟硬件架構(gòu),支持?jǐn)?shù)據(jù)庫(kù)版本升級(jí)和應(yīng)用灰度升級(jí),確保業(yè)務(wù)在主中心升級(jí)時(shí)無(wú)中斷地切換至備中心,實(shí)現(xiàn)了全天候的穩(wěn)定服務(wù),RPO=0,RTO<=2分鐘。備份與恢復(fù):為了對(duì)數(shù)據(jù)庫(kù)中的關(guān)鍵數(shù)據(jù)提供安全保護(hù),降低災(zāi)難性事件發(fā)生后可能產(chǎn)生數(shù)據(jù)丟失的風(fēng)險(xiǎn),建議定期進(jìn)行數(shù)據(jù)庫(kù)的進(jìn)行備份操作,并根據(jù)可容忍丟失的數(shù)據(jù)量,可承受的數(shù)28據(jù)恢復(fù)時(shí)長(zhǎng),需要恢復(fù)的數(shù)據(jù)和數(shù)據(jù)量等因素,制定備份策略并進(jìn)行備份與恢復(fù)的測(cè)試演練。備份方法可以選擇全量備份和增量備份,全量備份保障數(shù)據(jù)完整性,增量備份保障備份和恢復(fù)效率。備份恢復(fù)常見(jiàn)的類型有物理備份恢復(fù)、邏輯備份恢復(fù)、閃回恢復(fù)。物理備份恢復(fù)適用于數(shù)據(jù)量大的場(chǎng)景,主要用于全量數(shù)據(jù)備份恢復(fù),也可以對(duì)整個(gè)數(shù)據(jù)庫(kù)中的歸檔日志和運(yùn)行日志進(jìn)行備份恢復(fù);邏輯備份恢復(fù)適用于數(shù)據(jù)量小的場(chǎng)景,可按用戶需要進(jìn)行指定對(duì)象的備份和恢復(fù),靈活度高;閃回恢復(fù)適用于快速恢復(fù)誤刪除或誤更改的數(shù)據(jù)。3.遷移方案遷移方案主要工作包括:數(shù)據(jù)庫(kù)遷移方案和應(yīng)用遷移方案。(1)數(shù)據(jù)庫(kù)遷移方案數(shù)據(jù)庫(kù)遷移方案:參考數(shù)據(jù)庫(kù)當(dāng)前部署及容災(zāi)方案的設(shè)計(jì),完成數(shù)據(jù)庫(kù)遷移方案設(shè)計(jì)。數(shù)據(jù)庫(kù)遷移需要同步考慮業(yè)務(wù)邏輯,包含數(shù)據(jù)庫(kù)對(duì)象遷移、數(shù)據(jù)遷移、應(yīng)用遷移、遷移驗(yàn)證等方面的分析與設(shè)計(jì)。自動(dòng)化遷移:遷移過(guò)程盡可能實(shí)現(xiàn)自動(dòng)化,包括數(shù)據(jù)庫(kù)對(duì)象、復(fù)雜特性的遷移,以及全量和增量數(shù)據(jù)的同步遷移。數(shù)據(jù)庫(kù)分布式部署需要考慮數(shù)據(jù)的鍵值、重分布等設(shè)計(jì),集中式部署如果數(shù)29據(jù)庫(kù)容量受限,可以采用拆庫(kù)等設(shè)計(jì)。(2)應(yīng)用遷移方案同應(yīng)用開發(fā)生命周期流程融合:數(shù)據(jù)庫(kù)轉(zhuǎn)型時(shí)建議同步完成與應(yīng)用研發(fā)相關(guān)生命周期流程的整合和對(duì)接,例如版本管理、配置中心、注冊(cè)中心、安全認(rèn)證中心等,更好構(gòu)建全金融業(yè)務(wù)場(chǎng)景的支撐能力,覆蓋辦公系統(tǒng)、一般業(yè)務(wù)系統(tǒng)和關(guān)鍵業(yè)務(wù)系統(tǒng)。先以原位替換為主:傳統(tǒng)數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程等特性,可以簡(jiǎn)化應(yīng)用開發(fā),減少數(shù)據(jù)在數(shù)據(jù)庫(kù)和應(yīng)用之間的傳輸,存儲(chǔ)過(guò)程應(yīng)用廣泛存量大。替換數(shù)據(jù)庫(kù)時(shí)同步替換應(yīng)用邏輯,工作量大、驗(yàn)證量大,建議轉(zhuǎn)型時(shí)采用“兩步走”實(shí)現(xiàn)。第一步保持現(xiàn)有應(yīng)用邏輯,如存儲(chǔ)過(guò)程,進(jìn)行原位替換,先替換傳統(tǒng)數(shù)據(jù)庫(kù);第二步逐步改造應(yīng)用邏輯,消除特定數(shù)據(jù)庫(kù)專用特性。應(yīng)用代碼遷移:包括應(yīng)用層代碼中與數(shù)據(jù)庫(kù)遷移相關(guān)的代碼改造,如Java
程序改造、動(dòng)態(tài)
SQL
改造、JDBC
改造、ORM
框架遷移、批量遷移等工作。4.測(cè)試方案全量自動(dòng)化測(cè)試:數(shù)據(jù)庫(kù)作為金融應(yīng)用系統(tǒng)的關(guān)鍵核心基礎(chǔ)平臺(tái),目標(biāo)數(shù)據(jù)庫(kù)必須通過(guò)嚴(yán)格的全量測(cè)試驗(yàn)證,確保替換之后繼續(xù)保持生產(chǎn)平穩(wěn)運(yùn)行,測(cè)試過(guò)程建議實(shí)現(xiàn)測(cè)試流程的自動(dòng)化。30對(duì)于測(cè)試驗(yàn)證期間發(fā)現(xiàn)不滿足業(yè)務(wù)響應(yīng)時(shí)間要求的問(wèn)題,應(yīng)針對(duì)具體原因進(jìn)行優(yōu)化,使其符合業(yè)務(wù)要求。主要測(cè)
試活動(dòng)
:包括功能測(cè)試、性能測(cè)試、遷移測(cè)試、驗(yàn)證測(cè)試。其中,功能測(cè)試覆蓋業(yè)務(wù)應(yīng)用系統(tǒng)的全量功能;性能測(cè)試驗(yàn)證應(yīng)用系統(tǒng)達(dá)到要求的性能指標(biāo);遷移測(cè)試完成數(shù)據(jù)一致性和正確性測(cè)試;驗(yàn)證測(cè)試完成業(yè)務(wù)使用和體驗(yàn)進(jìn)行測(cè)試。(二)數(shù)據(jù)庫(kù)遷移數(shù)據(jù)庫(kù)遷移階段主要工作包括:數(shù)據(jù)庫(kù)對(duì)象遷移、數(shù)據(jù)遷移、應(yīng)用代碼遷移和測(cè)試驗(yàn)證。1.數(shù)據(jù)庫(kù)對(duì)象遷移自動(dòng)化對(duì)象遷移:數(shù)據(jù)庫(kù)對(duì)象遷移作為遷移階段關(guān)鍵起始工作,涉及對(duì)象的范圍廣、數(shù)量多,人工遷移成本高、易于出錯(cuò),建議盡量通過(guò)自動(dòng)化工具完成。數(shù)據(jù)庫(kù)對(duì)象遷移:是將源庫(kù)的數(shù)據(jù)庫(kù)對(duì)象遷移到目標(biāo)庫(kù),包括分析傳統(tǒng)數(shù)據(jù)庫(kù)對(duì)象,將靜態(tài)對(duì)象DDL轉(zhuǎn)換為目標(biāo)數(shù)據(jù)庫(kù)語(yǔ)法,并創(chuàng)建到目標(biāo)庫(kù)中等關(guān)鍵步驟。數(shù)據(jù)庫(kù)對(duì)象:主要包括數(shù)據(jù)庫(kù)表、索引、存儲(chǔ)過(guò)程、序列、視圖、觸發(fā)器、自定義類型等。遷移過(guò)程中,要做好遷移前后源31和目標(biāo)數(shù)據(jù)庫(kù)對(duì)象的比對(duì),保證遷移對(duì)象的一致性。2.數(shù)據(jù)遷移異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制工具:數(shù)據(jù)遷移工作是完成數(shù)據(jù)庫(kù)遷移及生產(chǎn)投產(chǎn)及切流的前提,建議使用異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制工具,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)間存量數(shù)據(jù)和增量數(shù)據(jù)雙向復(fù)制,完成數(shù)據(jù)遷移工作。數(shù)據(jù)遷移場(chǎng)景:可分為全量數(shù)據(jù)遷移和增量數(shù)據(jù)遷移。數(shù)據(jù)遷移后通過(guò)數(shù)據(jù)校驗(yàn),即當(dāng)增量數(shù)據(jù)同步無(wú)延遲,達(dá)到實(shí)時(shí)的時(shí)候,對(duì)兩端數(shù)據(jù)進(jìn)行比對(duì),確保數(shù)據(jù)遷移準(zhǔn)確。(1)全量數(shù)據(jù)遷移全量數(shù)據(jù)遷移:是指將源數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù)全部遷移到目標(biāo)庫(kù),這個(gè)過(guò)程一般采用批量的方式進(jìn)行數(shù)據(jù)的同步,在同構(gòu)數(shù)據(jù)庫(kù)遷移的場(chǎng)景中,可以采用數(shù)據(jù)庫(kù)的備份和恢復(fù)功能,也可以采用數(shù)據(jù)庫(kù)自帶的數(shù)據(jù)導(dǎo)出和導(dǎo)入工具。在異構(gòu)數(shù)據(jù)庫(kù)的全量遷移場(chǎng)景中,因?yàn)椴煌瑪?shù)據(jù)庫(kù)之間的數(shù)據(jù)類型、存儲(chǔ)格式等各不相同,一般采用數(shù)據(jù)庫(kù)特定接口或
SQL
接口的方式進(jìn)行遷移。(2)增量數(shù)據(jù)遷移增量數(shù)據(jù)遷移:是將源數(shù)據(jù)庫(kù)實(shí)時(shí)變化的數(shù)據(jù)同步到目標(biāo)庫(kù),32實(shí)現(xiàn)增量遷移的方式有很多種,如基于時(shí)間戳的定時(shí)同步、基于觸發(fā)器的增量同步和基于日志解析的實(shí)時(shí)同步,對(duì)比各種方式,基于日志解析的同步方式無(wú)論從對(duì)源庫(kù)的影響還是實(shí)時(shí)性都是最優(yōu)的。3.應(yīng)用遷移應(yīng)用改造:主要是基于源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)的
SQL
語(yǔ)法、接口驅(qū)動(dòng)和數(shù)據(jù)庫(kù)工具等差異,對(duì)應(yīng)用進(jìn)行適配改造。如采用分布式部署,還需對(duì)應(yīng)用邏輯同步改造,工作量大。應(yīng)用改造主要包括如下內(nèi)容:?
提供源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)的差異化列表;?
提供SQL
錄放工具,輸出
SQL
回放報(bào)告;?
根據(jù)數(shù)據(jù)庫(kù)的差異和
SQL
兼容性列表,梳理應(yīng)用的改造點(diǎn);?
完成應(yīng)用
SQL、驅(qū)動(dòng)和數(shù)據(jù)庫(kù)工具等的改造替換;?
完成改造后的應(yīng)用系統(tǒng)的適配測(cè)試和性能測(cè)試等。流量回放:在源數(shù)據(jù)庫(kù)的捕獲流量,在目標(biāo)數(shù)據(jù)庫(kù)回放流量,并輸出對(duì)比報(bào)告。通過(guò)性能回放
,模擬現(xiàn)網(wǎng)的性能負(fù)載,提前進(jìn)行性能壓測(cè)和摸底驗(yàn)證;通過(guò)一致性回放,抓取生產(chǎn)的真實(shí)負(fù)載,在目標(biāo)庫(kù)回放,驗(yàn)證正確性和抗壓能力。334.測(cè)試驗(yàn)證全量功
能、性能測(cè)試:系統(tǒng)切換到新數(shù)據(jù)庫(kù)后,通過(guò)遷移比對(duì)、SQL
錄放等測(cè)試來(lái)驗(yàn)證新系統(tǒng)的功能和性能滿足現(xiàn)網(wǎng)生產(chǎn)運(yùn)行。測(cè)試驗(yàn)證是數(shù)據(jù)庫(kù)遷移的重點(diǎn)工作,有效地測(cè)試驗(yàn)證,可以保障數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型平穩(wěn)可控。自動(dòng)化測(cè)試工具:測(cè)試活動(dòng)工作要求質(zhì)量高周期長(zhǎng),建議構(gòu)建并使用全流程自動(dòng)化測(cè)試工具,包括功能、性能、遷移、驗(yàn)收等各方面的測(cè)試,降低測(cè)試人力投入和測(cè)試復(fù)雜度,提升測(cè)試效率,實(shí)現(xiàn)全量覆蓋程序測(cè)試及分支測(cè)試。(三)投產(chǎn)運(yùn)行投產(chǎn)運(yùn)行階段主要工作包括:生產(chǎn)投產(chǎn)、并行切流、傳統(tǒng)數(shù)據(jù)庫(kù)退庫(kù)、安全保護(hù)與運(yùn)維監(jiān)控。1.生產(chǎn)投產(chǎn)“空中換心”:數(shù)據(jù)庫(kù)作為金融應(yīng)用系統(tǒng)的關(guān)鍵核心基礎(chǔ)平臺(tái),投產(chǎn)目標(biāo)數(shù)據(jù)庫(kù)必須確保應(yīng)用實(shí)施“飛機(jī)空中更換發(fā)動(dòng)機(jī)”之后保持生產(chǎn)平穩(wěn)運(yùn)行。明確投產(chǎn)過(guò)程中不能停止業(yè)務(wù),保證投產(chǎn)數(shù)據(jù)的正確性和投產(chǎn)腳本的健壯性。組織投產(chǎn)演練:為保障投產(chǎn)的穩(wěn)定,可以提前組織并實(shí)施投34產(chǎn)演練工作,力保投產(chǎn)工作萬(wàn)無(wú)一失。建議投產(chǎn)演練和正式投產(chǎn)采用完全一致的流程。投產(chǎn)最佳實(shí)踐:正式投產(chǎn)需要綜合考慮各種突發(fā)事件和問(wèn)題,做好提前應(yīng)對(duì)及回退計(jì)劃,可以借鑒以下經(jīng)驗(yàn):(1)投產(chǎn)要預(yù)留足夠的時(shí)間窗口,各應(yīng)用逐個(gè)割接,選擇應(yīng)用低峰期進(jìn)行投產(chǎn);(2)投產(chǎn)前做完整的數(shù)據(jù)庫(kù)備份,做好回退應(yīng)急方案;(3)加強(qiáng)投產(chǎn)過(guò)程監(jiān)控,提前梳理需要監(jiān)控的各類指標(biāo)。2.并行切流雙軌運(yùn)行:為保證金融數(shù)據(jù)庫(kù)的安全高可用,建議通過(guò)源和目標(biāo)數(shù)據(jù)庫(kù)并行運(yùn)行,分批次切流的方式進(jìn)行替換。在并行切流雙軌運(yùn)行階段,通過(guò)業(yè)務(wù)增量歸檔數(shù)據(jù)在異構(gòu)數(shù)據(jù)庫(kù)間的雙向復(fù)制,實(shí)現(xiàn)新舊系統(tǒng)業(yè)務(wù)數(shù)據(jù)的準(zhǔn)實(shí)時(shí)一致,確保故障場(chǎng)景下能及時(shí)回切,提升對(duì)外服務(wù)的連續(xù)性?;叶惹辛鳎簶I(yè)務(wù)切流通過(guò)錄制源庫(kù)交易流量并在目標(biāo)庫(kù)上回放,驗(yàn)證數(shù)據(jù)庫(kù)遷移后系統(tǒng)功能和性能容量。按轉(zhuǎn)型計(jì)劃節(jié)奏進(jìn)行灰度切流方案,逐步引流到目標(biāo)庫(kù),最終實(shí)現(xiàn)目標(biāo)數(shù)據(jù)庫(kù)完全承接業(yè)務(wù)流量。353.傳統(tǒng)數(shù)據(jù)庫(kù)退庫(kù)平穩(wěn)退庫(kù):為保障生產(chǎn)運(yùn)行安全穩(wěn)定,遷移目標(biāo)庫(kù)完全承接業(yè)務(wù)流量后,需經(jīng)過(guò)一段時(shí)間平穩(wěn)運(yùn)行的驗(yàn)證,再撤除源庫(kù)上的回切逃生路徑。倒排計(jì)劃:根據(jù)傳統(tǒng)數(shù)據(jù)庫(kù)退庫(kù)任務(wù)目標(biāo)的時(shí)間節(jié)點(diǎn),倒排應(yīng)用投產(chǎn)切流時(shí)間計(jì)劃,充分預(yù)留技術(shù)驗(yàn)證與問(wèn)題修復(fù)時(shí)間,確保退庫(kù)目標(biāo)按期安全完成。4.安全保護(hù)與運(yùn)維監(jiān)控(1)安全保護(hù)五維數(shù)據(jù)安全:數(shù)據(jù)安全涉及數(shù)據(jù)安全計(jì)算、數(shù)據(jù)安全存儲(chǔ)、數(shù)據(jù)安全傳輸、數(shù)據(jù)安全展示及數(shù)據(jù)安全運(yùn)維五個(gè)維度。例如,數(shù)據(jù)安全計(jì)算通過(guò)全密態(tài)數(shù)據(jù)庫(kù)解決,數(shù)據(jù)安全運(yùn)維通過(guò)防篡改數(shù)據(jù)庫(kù)、密態(tài)數(shù)據(jù)庫(kù)解決,數(shù)據(jù)存儲(chǔ)加密技術(shù)解決,數(shù)據(jù)安全傳輸通過(guò)
HTTPS、TLS
加密技術(shù)解決,數(shù)據(jù)安全展示通過(guò)數(shù)據(jù)動(dòng)態(tài)脫敏技術(shù)解決,數(shù)據(jù)安全存儲(chǔ)通過(guò)透明加密。全密態(tài)
數(shù)據(jù)庫(kù)
:涉及數(shù)據(jù)安全計(jì)算、存儲(chǔ)、傳輸、運(yùn)維多個(gè)環(huán)節(jié),是專門處理密文數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng)。加解密過(guò)程僅在客戶側(cè)完成,數(shù)據(jù)在存儲(chǔ)、傳輸、查詢整個(gè)生命周期過(guò)程中均以密文形態(tài)存在,避免管理員惡意獲取密鑰解密數(shù)據(jù)。36安全保護(hù)特性:金融數(shù)據(jù)庫(kù)的安全是底線,相關(guān)安全要求可以參考《信息安全技術(shù)
網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求
GB/T22239—2018》,其中為滿足安全等保
4
級(jí)對(duì)重要數(shù)據(jù)存儲(chǔ)的機(jī)密性、完整性保護(hù)需求。建議目標(biāo)數(shù)據(jù)庫(kù)具備訪問(wèn)控制、透明數(shù)據(jù)加密、全密態(tài)計(jì)算、動(dòng)態(tài)數(shù)據(jù)脫敏和防篡改等安全保護(hù)能力。(2)運(yùn)維監(jiān)控全面對(duì)接運(yùn)維體系:數(shù)據(jù)庫(kù)作為應(yīng)用系統(tǒng)的重要一環(huán),建議數(shù)據(jù)庫(kù)運(yùn)維監(jiān)控全流程對(duì)接已有的運(yùn)維體系,更好地支撐全業(yè)務(wù)場(chǎng)景。可監(jiān)測(cè)能力包括對(duì)關(guān)鍵性能、容量、高可用指標(biāo)持續(xù)監(jiān)控和超閾值預(yù)警,對(duì)軟硬件故障、問(wèn)題及時(shí)發(fā)現(xiàn)、定位,給出處理建議。數(shù)據(jù)庫(kù)運(yùn)維監(jiān)控平臺(tái):數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)維涉及數(shù)據(jù)庫(kù)、操作系統(tǒng)、計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等多層面,每一層都可能發(fā)生故障,不同層次發(fā)生故障可能引發(fā)相同的亞健康現(xiàn)象,可建設(shè)統(tǒng)一運(yùn)維監(jiān)控平臺(tái),進(jìn)行全鏈路、全方位的監(jiān)控。運(yùn)維監(jiān)控平臺(tái)主要能力包括數(shù)據(jù)庫(kù)運(yùn)維、SQL
診斷和調(diào)優(yōu)、容災(zāi)管理、實(shí)例運(yùn)維等。數(shù)據(jù)庫(kù)不死可監(jiān)控能力:在數(shù)據(jù)庫(kù)異常時(shí),首要原則是保證整個(gè)系統(tǒng)的不死可監(jiān)控。例如數(shù)據(jù)庫(kù)出現(xiàn)大事務(wù)、慢
SQL
異常時(shí),要能夠保證對(duì)外服務(wù)不間斷,同時(shí),要能夠分鐘級(jí)處理異常。37四、數(shù)據(jù)庫(kù)轉(zhuǎn)型實(shí)踐(一)現(xiàn)狀工商銀行金融產(chǎn)品數(shù)量多,服務(wù)的客戶體量大,對(duì)應(yīng)系統(tǒng)數(shù)量龐大和體系復(fù)雜,大部分核心系統(tǒng)都是要求
7*24
小時(shí)服務(wù)不中斷,服務(wù)連續(xù)性要求高,且廣泛應(yīng)用與數(shù)據(jù)庫(kù)產(chǎn)品耦合度較高的存儲(chǔ)過(guò)程等高級(jí)特性,歷史資產(chǎn)重。涉及總行應(yīng)用接近
200
個(gè),涵蓋核心業(yè)務(wù)、渠道、前置、外聯(lián)、管理與支撐等多類業(yè)務(wù)系統(tǒng),其中高等級(jí)應(yīng)用超過(guò)
90
個(gè)。(二)挑戰(zhàn)傳統(tǒng)數(shù)據(jù)庫(kù)之所以在金融行業(yè)存量系統(tǒng)中占有較大規(guī)模,與其極強(qiáng)的功能黏性、優(yōu)秀的系統(tǒng)穩(wěn)定性、良好的軟硬適配能力和對(duì)金融業(yè)務(wù)的良好支撐密不可分,且金融業(yè)存量系統(tǒng)往往與數(shù)據(jù)庫(kù)特性高度耦合,大量業(yè)務(wù)邏輯內(nèi)嵌到數(shù)據(jù)庫(kù)實(shí)現(xiàn),且具有歷史比較久遠(yuǎn)、業(yè)務(wù)長(zhǎng)期穩(wěn)定、關(guān)聯(lián)應(yīng)用較多等特點(diǎn),在數(shù)據(jù)庫(kù)轉(zhuǎn)型過(guò)程中面臨諸多挑戰(zhàn):1.服務(wù)連續(xù)性能力要求高金融核心應(yīng)用
7
*
24
小時(shí)對(duì)外服務(wù)不中斷,傳統(tǒng)數(shù)據(jù)庫(kù)及國(guó)際主流的通用基礎(chǔ)應(yīng)用產(chǎn)品,具備優(yōu)秀的系統(tǒng)穩(wěn)定性和可靠性,經(jīng)歷了工商銀行長(zhǎng)年復(fù)雜業(yè)務(wù)和高穩(wěn)定的考驗(yàn),能支持高性能、38大容量業(yè)務(wù)的長(zhǎng)期穩(wěn)定運(yùn)行。而自主創(chuàng)新軟硬件產(chǎn)品尚處于快速迭代、加速成熟的過(guò)程中,在保證金融業(yè)務(wù)服務(wù)連續(xù)性方面,對(duì)國(guó)產(chǎn)化數(shù)據(jù)庫(kù)的數(shù)據(jù)可靠性高、系統(tǒng)可用性、集群性能及服務(wù)連續(xù)性能力提出更高要求,需要保證數(shù)據(jù)庫(kù)轉(zhuǎn)型過(guò)程中的生產(chǎn)安全和遷移后長(zhǎng)期穩(wěn)定可靠運(yùn)行。2.高級(jí)特性和存儲(chǔ)過(guò)程重度使用傳統(tǒng)數(shù)據(jù)庫(kù)轉(zhuǎn)型替代難度較大為業(yè)界廣泛共識(shí),尚無(wú)成熟的原位替代解決方案,金融企業(yè)多采取對(duì)應(yīng)用系統(tǒng)進(jìn)行分布式改造、對(duì)業(yè)務(wù)實(shí)現(xiàn)邏輯進(jìn)行重構(gòu)的方式實(shí)現(xiàn)轉(zhuǎn)型。工商銀行合計(jì)使用了超過(guò)
40
類傳統(tǒng)集中式數(shù)據(jù)庫(kù)對(duì)象、24
類基礎(chǔ)數(shù)據(jù)類型、200
個(gè)系統(tǒng)內(nèi)置函數(shù)、70
個(gè)系統(tǒng)高級(jí)包和
200
個(gè)系統(tǒng)視圖,且廣泛適用自定義類型、自定義函數(shù)、遞歸、嵌套、多表關(guān)聯(lián)、自連接等眾多高級(jí)語(yǔ)法特性,存儲(chǔ)過(guò)程代碼總行數(shù)達(dá)到億級(jí)規(guī)模,數(shù)據(jù)庫(kù)對(duì)象總數(shù)量超千萬(wàn)。數(shù)據(jù)庫(kù)轉(zhuǎn)型過(guò)程中,面臨技術(shù)復(fù)雜度高、工作量大、項(xiàng)目周期長(zhǎng)、實(shí)施風(fēng)險(xiǎn)高等挑戰(zhàn)。3.業(yè)務(wù)邏輯復(fù)雜金融業(yè)存量業(yè)務(wù)系統(tǒng),具有歷史比較久遠(yuǎn)的特點(diǎn),經(jīng)過(guò)長(zhǎng)期演進(jìn),業(yè)務(wù)邏輯復(fù)雜,且與其他業(yè)務(wù)系統(tǒng)的關(guān)聯(lián)關(guān)系復(fù)雜,交易調(diào)用鏈路相互交織。技術(shù)復(fù)雜度高:業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)轉(zhuǎn)型,往往伴隨著存量技術(shù)39資產(chǎn)、業(yè)務(wù)資產(chǎn)、關(guān)聯(lián)關(guān)系梳理,涉及數(shù)據(jù)庫(kù)對(duì)象遷移改造、應(yīng)用代碼改造、新舊系統(tǒng)雙軌并行并疊加業(yè)務(wù)系統(tǒng)之間交易鏈路對(duì)接等工作,甚至涉及應(yīng)用架構(gòu)和業(yè)務(wù)邏輯重構(gòu)等工作,技術(shù)復(fù)雜度高。遷移改造工作量大:涉及海量數(shù)據(jù)庫(kù)對(duì)象數(shù)量、存儲(chǔ)過(guò)程代碼行數(shù)、應(yīng)用程序代碼行數(shù)和廣泛使用高級(jí)語(yǔ)法特性,要保證遷移后系統(tǒng)功能對(duì)等、性能滿足要求,應(yīng)用遷移改造工作量大。全量測(cè)試難度高:存量系統(tǒng)業(yè)務(wù)邏輯經(jīng)過(guò)長(zhǎng)期的歷史積累和沉淀,復(fù)雜度高,測(cè)試階段要實(shí)現(xiàn)全分支、全流程的全量業(yè)務(wù)功能回歸測(cè)試,存在較高的難度。保障生產(chǎn)安全的挑戰(zhàn)大:自主創(chuàng)新軟硬件產(chǎn)品的性能、穩(wěn)定性、成熟度等方面與傳統(tǒng)商用軟硬件產(chǎn)品相比還存在一定的差距,確保轉(zhuǎn)型的平滑、穩(wěn)定、安全,成為數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型中的難點(diǎn),需做好業(yè)務(wù)雙軌并行、灰度分批切流和應(yīng)急回切等措施來(lái)規(guī)避。4.應(yīng)用系統(tǒng)數(shù)量龐大工商銀行金融業(yè)務(wù)種類齊全,應(yīng)用系統(tǒng)數(shù)量龐大、體系復(fù)雜,在全面轉(zhuǎn)型推廣工作中,需支撐不同類型業(yè)務(wù)系統(tǒng)高效、快捷、平穩(wěn)轉(zhuǎn)型,建設(shè)具備工程化推進(jìn)、快速?gòu)?fù)制推廣的標(biāo)準(zhǔn)化轉(zhuǎn)型方案體系、配套工具體系和技術(shù)資產(chǎn)體系等,存在較大的技術(shù)挑戰(zhàn)。40(三)轉(zhuǎn)型實(shí)踐1.突破數(shù)據(jù)庫(kù)關(guān)鍵技術(shù)(1)
構(gòu)建分布式數(shù)據(jù)庫(kù)精簡(jiǎn)模式部署形態(tài),實(shí)現(xiàn)穩(wěn)定性性能規(guī)格突破工商銀行對(duì)標(biāo)主機(jī)
DB2
和
Oracle
數(shù)據(jù)庫(kù),按照“分布式架構(gòu)+集中式體驗(yàn)”的理念,聯(lián)合華為公司和金融同業(yè),基于全棧自主創(chuàng)新軟硬件產(chǎn)品,實(shí)現(xiàn)了分布式數(shù)據(jù)庫(kù)的技術(shù)突破:軟硬件協(xié)同,提升性能:通過(guò)多核并行、基于代價(jià)的分布式并發(fā)事務(wù)并發(fā)優(yōu)化和全鏈路并行編譯執(zhí)行等,實(shí)現(xiàn)了分布式查詢技術(shù)優(yōu)化,良好的兼顧了金融業(yè)務(wù)系統(tǒng)高并發(fā)聯(lián)機(jī)業(yè)務(wù)場(chǎng)景和復(fù)雜計(jì)算批量場(chǎng)景的需求,具備百萬(wàn)級(jí)
QPS
能力;采用存算分離架構(gòu)打破單庫(kù)容量瓶頸,實(shí)現(xiàn)彈性擴(kuò)容:通過(guò)計(jì)算存儲(chǔ)分離、存儲(chǔ)資源池化、在線彈性擴(kuò)展等,具備
PB
級(jí)海量存儲(chǔ)能力,良好的支撐了歷史明細(xì)類、報(bào)表等金融業(yè)務(wù)專題的海量數(shù)據(jù)處理需求;打造監(jiān)控運(yùn)能力:為通過(guò)用戶級(jí)、連接級(jí)和
SQL
級(jí)三級(jí)資源隔離以及告警、健康狀態(tài)報(bào)告、日志分析/慢日志、SQL
全鏈路監(jiān)控等,構(gòu)建高效運(yùn)維能力,確保系統(tǒng)穩(wěn)定運(yùn)行。構(gòu)建精簡(jiǎn)模式支持集中式數(shù)據(jù)庫(kù)原位替換:構(gòu)建精簡(jiǎn)模式41(分布式數(shù)據(jù)庫(kù)的集中部署),優(yōu)化集中式部署性能可靠性,滿足業(yè)務(wù)對(duì)部署形態(tài)的不同需求,支撐大量存量業(yè)務(wù)原位替換需求,同時(shí)相同產(chǎn)品多部署形態(tài)實(shí)現(xiàn)開發(fā)、運(yùn)維能力的統(tǒng)一構(gòu)建。(2)
提升容災(zāi)能力構(gòu)建多級(jí)容災(zāi)體系為確保應(yīng)用轉(zhuǎn)型能力服務(wù)能力、安全穩(wěn)定性能力持平,容災(zāi)能力有提升,工商銀行對(duì)標(biāo)原主機(jī)
AB
站點(diǎn)雙活方案,基于存算分離架構(gòu)與廠商進(jìn)行大型業(yè)務(wù)系統(tǒng)
Oracle
數(shù)據(jù)庫(kù)轉(zhuǎn)型的多集群方案技術(shù)攻關(guān),首創(chuàng)建成多集群多中心部署的高可用架構(gòu),滿足金融業(yè)務(wù)系統(tǒng)服務(wù)連續(xù)性要求:一是同城雙園區(qū)間通過(guò)存儲(chǔ)級(jí)復(fù)制實(shí)現(xiàn)增量數(shù)據(jù)強(qiáng)一致同步,異地園區(qū)間通過(guò)異步方式實(shí)現(xiàn)增量日志同步,具備本地RPO=0&RTO<=30
秒、同城
RPO=0&RTO<180
秒和異地
RPO<1
分鐘&RTO<10
分鐘的金融級(jí)高可用通力;二是實(shí)現(xiàn)雙集群故障和運(yùn)維隔離、支持灰度發(fā)布:基于同城雙園區(qū)雙集群部署架構(gòu),實(shí)現(xiàn)雙集群間跨數(shù)據(jù)庫(kù)版本的相互兼容和增量數(shù)據(jù)的強(qiáng)一致同步,具備業(yè)務(wù)不中斷情況下數(shù)據(jù)庫(kù)版本灰度升級(jí)通力,在數(shù)據(jù)庫(kù)版本升級(jí)異常情況下,具備
RPO=0&RTO<180秒的回切能力。同城雙集群署架構(gòu)示意見(jiàn)圖
12。42圖12
同城雙集群署架構(gòu)示意圖構(gòu)建分級(jí)容災(zāi)方案:目前工行綜合應(yīng)用存儲(chǔ)級(jí)日志復(fù)制、數(shù)據(jù)庫(kù)流復(fù)制等多種技術(shù),形成多地多中心多集群容災(zāi)方案體系,滿足不同等級(jí)金融業(yè)務(wù)系統(tǒng)的容災(zāi)需求。分級(jí)容災(zāi)方案示意見(jiàn)圖
13。43圖13
分級(jí)容災(zāi)方案示意圖2.構(gòu)建原位替代模式降低存量遷移難度針對(duì)存量業(yè)務(wù)累積構(gòu)建大量業(yè)務(wù)邏輯內(nèi)嵌到數(shù)據(jù)庫(kù)內(nèi)分布式改造難、存儲(chǔ)過(guò)程遷移難等問(wèn)題,工行采用穩(wěn)態(tài)業(yè)務(wù)原位替44換模式有效降低技術(shù)復(fù)雜度和轉(zhuǎn)型工作量。解放了應(yīng)用研發(fā)人員的生產(chǎn)力,讓金融科技力量更加聚焦于金融業(yè)務(wù)創(chuàng)新和數(shù)字化轉(zhuǎn)型領(lǐng)域:(1)
穩(wěn)態(tài)業(yè)務(wù)原位替換,平滑遷移對(duì)有存量存儲(chǔ)過(guò)程的業(yè)務(wù),優(yōu)先采用精簡(jiǎn)模式,以集中式部署形態(tài)進(jìn)行平移替換,對(duì)于當(dāng)前部分國(guó)產(chǎn)數(shù)據(jù)庫(kù)并發(fā)性能無(wú)法滿足的巨石類業(yè)務(wù),優(yōu)先考慮進(jìn)行數(shù)據(jù)庫(kù)拆分,保留存儲(chǔ)過(guò)程,從架構(gòu)層面避免或減輕了遷移改造的諸多挑戰(zhàn):降低改造難度,減少工作量:避免了大量存儲(chǔ)過(guò)程、復(fù)雜SQL
改造,減少應(yīng)用控制分布式事務(wù)等方面的負(fù)擔(dān),同時(shí)由于是架構(gòu)平替,降低了存量業(yè)務(wù)工具化遷移難度,進(jìn)一步減少工作量,使有限的精力可更聚焦于業(yè)務(wù)。降低應(yīng)用遷移風(fēng)險(xiǎn):降低了歷史大量累積的業(yè)務(wù)邏輯在遷移時(shí)出現(xiàn)問(wèn)題的風(fēng)險(xiǎn)。在業(yè)務(wù)邏輯保持不變的情況下,可以通過(guò)自動(dòng)化測(cè)試工具、流量回放工具減輕測(cè)試工作量,更好保障遷移質(zhì)量。(2)
敏態(tài)業(yè)務(wù)分布式改造對(duì)業(yè)務(wù)增長(zhǎng)迅速,可通過(guò)分片較理想實(shí)現(xiàn)并發(fā)、容量提升,且無(wú)存量存儲(chǔ)過(guò)程、復(fù)雜查詢的業(yè)務(wù),可進(jìn)行分布式改45造,采用分布式數(shù)據(jù)庫(kù)替換。3.實(shí)現(xiàn)平滑遷移為解決遷移轉(zhuǎn)換工作量大,測(cè)試覆蓋難等問(wèn)題,工行聯(lián)合頭部科技企業(yè)開展
Oracle
數(shù)據(jù)庫(kù)平滑遷移技術(shù)攻關(guān),通過(guò)多試多用,不斷總結(jié)經(jīng)驗(yàn),研發(fā)全流程自動(dòng)化遷移、自動(dòng)化測(cè)試、自動(dòng)化仿真驗(yàn)證、灰度切流工具,配套建設(shè)完備的技術(shù)資產(chǎn)社區(qū)和全流程標(biāo)準(zhǔn)化轉(zhuǎn)型工藝,實(shí)現(xiàn)了復(fù)雜數(shù)據(jù)庫(kù)特性和巨量存儲(chǔ)過(guò)程的自動(dòng)化遷移能力,人工改造成本壓降
90%以上,有效解放了生產(chǎn)力,讓科技力量更加聚集于金融業(yè)務(wù)創(chuàng)新和數(shù)字化轉(zhuǎn)型領(lǐng)域。自動(dòng)化遷移:實(shí)現(xiàn)數(shù)據(jù)庫(kù)表、索引、存儲(chǔ)過(guò)程、序列、視圖、觸發(fā)器、自定義類型等數(shù)據(jù)庫(kù)對(duì)象和高級(jí)包函數(shù)、自治事務(wù)、遞歸調(diào)用、自連接等復(fù)雜特性的自動(dòng)化遷移能力,以及全量和增量數(shù)據(jù)的自動(dòng)化同步,自動(dòng)化遷移成功率達(dá)
95%以上,人工改造成本壓降
90%以上,突破了數(shù)據(jù)庫(kù)轉(zhuǎn)型的技術(shù)瓶頸和實(shí)施障礙。自動(dòng)化測(cè)試:研發(fā)覆蓋單元測(cè)試、功能測(cè)試、性能測(cè)試、生產(chǎn)驗(yàn)證和測(cè)試管理過(guò)程的自動(dòng)化測(cè)試工具鏈,降低測(cè)試人力投入和測(cè)試復(fù)雜度,提升測(cè)試效率,程序測(cè)試覆蓋率達(dá)
100%,分支覆蓋率達(dá)95%,保障數(shù)據(jù)庫(kù)架構(gòu)轉(zhuǎn)型過(guò)程平穩(wěn)可控。46自動(dòng)化仿真驗(yàn)證:構(gòu)建交易錄放工具,通過(guò)一致性流量回放和性能回放,仿真階段實(shí)現(xiàn)業(yè)務(wù)功能全覆蓋測(cè)試和接近實(shí)際生產(chǎn)業(yè)務(wù)壓力的性能、可用性及可靠性測(cè)試?;叶惹辛鳎航ㄔO(shè)異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制工具,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)間存量數(shù)據(jù)和增量數(shù)據(jù)雙向復(fù)制。在雙軌運(yùn)行階段,通過(guò)業(yè)務(wù)增量歸檔數(shù)據(jù)在異構(gòu)數(shù)據(jù)庫(kù)間的雙向復(fù)制,實(shí)現(xiàn)新舊系統(tǒng)業(yè)務(wù)數(shù)據(jù)的準(zhǔn)實(shí)時(shí)一致,確保故降場(chǎng)景下能及時(shí)回切,提升對(duì)外服務(wù)的連續(xù)性。數(shù)據(jù)同步效率可達(dá)
15OGB/小時(shí)。4.形成開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型的普適性解決方案在關(guān)鍵技術(shù)突破、原位替代模式和工具體系構(gòu)建基礎(chǔ)上,工行構(gòu)建了預(yù)遷移、數(shù)據(jù)庫(kù)對(duì)象遷移、數(shù)據(jù)庫(kù)對(duì)象比對(duì)、數(shù)據(jù)同步、應(yīng)用代碼遷移、測(cè)試驗(yàn)證、生產(chǎn)環(huán)境搭建和雙庫(kù)井行/灰度引流
8
個(gè)標(biāo)準(zhǔn)工藝步驟,發(fā)布包含架構(gòu)部署指引、接入指引、工具使用指南、語(yǔ)法兼容性指南、改寫指引、常見(jiàn)問(wèn)題庫(kù)等涵蓋轉(zhuǎn)型全流程的
40
余份文檔手冊(cè),構(gòu)建了體系完備的轉(zhuǎn)型社區(qū)和完整清晰的標(biāo)準(zhǔn)化工藝步驟。數(shù)據(jù)庫(kù)轉(zhuǎn)型
8
個(gè)標(biāo)準(zhǔn)工藝步驟見(jiàn)圖
14。47圖14
數(shù)據(jù)庫(kù)轉(zhuǎn)型
8
個(gè)標(biāo)準(zhǔn)工藝步驟(四)轉(zhuǎn)型效果經(jīng)過(guò)大量實(shí)踐,工行形成了一套無(wú)需整體重構(gòu)
Oracle
存儲(chǔ)過(guò)程邏輯,低成本、高效可控的原位替換轉(zhuǎn)型技術(shù)方案、配套工具和轉(zhuǎn)型方法論,構(gòu)建全金融業(yè)務(wù)場(chǎng)景支撐能力,廣泛用于包括個(gè)人網(wǎng)銀、信貸系統(tǒng)、貴金屬等
130
多個(gè)業(yè)務(wù)系統(tǒng),覆蓋辦公系統(tǒng)、一般業(yè)務(wù)系統(tǒng)和關(guān)鍵業(yè)務(wù)系統(tǒng)各類業(yè)務(wù)專題。采用精簡(jiǎn)模式、存算分離等架構(gòu)設(shè)計(jì)簡(jiǎn)化復(fù)雜問(wèn)題,通過(guò)數(shù)據(jù)庫(kù)與國(guó)產(chǎn)眾核處理器、企業(yè)存儲(chǔ)協(xié)同構(gòu)建的高性能、高可用、高安全、彈性伸縮、雙集群容災(zāi)能力以及自動(dòng)化數(shù)據(jù)遷移、同步工具能力數(shù)據(jù)庫(kù)產(chǎn)品商業(yè)版本中落地,具備快速推廣的能力。標(biāo)準(zhǔn)化工藝具備良好的通用性,對(duì)金融同業(yè)開放平臺(tái)數(shù)據(jù)庫(kù)轉(zhuǎn)型降低難度、實(shí)現(xiàn)能力不降級(jí),解放金融科技生產(chǎn)力聚焦業(yè)務(wù)創(chuàng)新和數(shù)字化轉(zhuǎn)型具有良好的借鑒意義。48五、金融行業(yè)應(yīng)用數(shù)據(jù)庫(kù)轉(zhuǎn)型未來(lái)展望(一)云原生數(shù)據(jù)庫(kù)各類技術(shù)路線相互融合作為金融信息系統(tǒng)關(guān)鍵核心基礎(chǔ)設(shè)施,數(shù)據(jù)庫(kù)一直是學(xué)術(shù)界和產(chǎn)業(yè)界持續(xù)創(chuàng)新的重點(diǎn)領(lǐng)域,技術(shù)熱點(diǎn)頻現(xiàn),產(chǎn)品形態(tài)眾多,各數(shù)據(jù)庫(kù)技術(shù)路線高速演進(jìn),呈現(xiàn)出相互融合發(fā)展的趨勢(shì)。一是市場(chǎng)競(jìng)爭(zhēng)推動(dòng)技術(shù)力量整合。部分研發(fā)實(shí)力較強(qiáng)的數(shù)據(jù)庫(kù)廠商,前期并行投入多條技術(shù)路線。隨著數(shù)據(jù)庫(kù)市場(chǎng)競(jìng)爭(zhēng)白熱化,不約而同開始推動(dòng)數(shù)據(jù)庫(kù)品牌統(tǒng)一和產(chǎn)品線融合。二是單一產(chǎn)品跨多條技術(shù)路線發(fā)展。從數(shù)據(jù)庫(kù)產(chǎn)品的層面,各種產(chǎn)品互相借鑒引入其他技術(shù)路線數(shù)據(jù)庫(kù)的能力,通過(guò)大量工程優(yōu)化彌補(bǔ)架構(gòu)設(shè)計(jì)上的不足,在適用場(chǎng)景上有很大程度的重疊,已經(jīng)出現(xiàn)了一款數(shù)據(jù)庫(kù)產(chǎn)品同時(shí)跨多條技術(shù)路線的情況,比如部分
NewSQL
數(shù)據(jù)庫(kù)往云原生方向發(fā)展、部分中間件架構(gòu)數(shù)據(jù)引入原生分布式一致性協(xié)議。各技術(shù)路線在融合與交織發(fā)展中,共同向著解決用戶不斷發(fā)展的業(yè)務(wù)需求和使用痛點(diǎn)這一目標(biāo)動(dòng)態(tài)收斂。分布式數(shù)據(jù)庫(kù)產(chǎn)品在金融行業(yè)的應(yīng)用與推廣,無(wú)論選擇哪條技術(shù)路線,都需49更加重視產(chǎn)品化能力提升。滿足金融行業(yè)在高可用容災(zāi)、數(shù)據(jù)一致性、業(yè)務(wù)連續(xù)性和系統(tǒng)可擴(kuò)展等方面的更高要求,提升分布式環(huán)境下對(duì)應(yīng)用研發(fā)和系統(tǒng)運(yùn)維的支持能力,是金融級(jí)數(shù)據(jù)庫(kù)最核心的競(jìng)爭(zhēng)力。例如,分布式數(shù)據(jù)庫(kù)產(chǎn)品不僅需要提供金融級(jí)高可用能力,在節(jié)點(diǎn)級(jí)/園區(qū)級(jí)異常故障場(chǎng)景下保證數(shù)據(jù)服務(wù)可用性,還需充分考慮新舊數(shù)據(jù)庫(kù)系統(tǒng)遷移期間、數(shù)據(jù)庫(kù)版本升級(jí)期間、云底座或網(wǎng)絡(luò)等基礎(chǔ)設(shè)施升級(jí)變更期間、應(yīng)用版本數(shù)據(jù)庫(kù)對(duì)象投產(chǎn)期間、大批量作業(yè)執(zhí)行期間等各類實(shí)際落地的應(yīng)用場(chǎng)景,提供完整的業(yè)務(wù)連續(xù)性解決方案。技術(shù)驅(qū)動(dòng)型產(chǎn)業(yè)需依次經(jīng)歷技術(shù)、產(chǎn)品、生態(tài)三個(gè)發(fā)展階段,分布式數(shù)據(jù)庫(kù)目前已轉(zhuǎn)入產(chǎn)品競(jìng)爭(zhēng)階段。分布式數(shù)據(jù)庫(kù)在技術(shù)上屢有突破,在多數(shù)單項(xiàng)技術(shù)指標(biāo)上都能實(shí)現(xiàn)對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)的超越。而在產(chǎn)品化方面,分布式數(shù)據(jù)庫(kù)因?yàn)榘l(fā)展時(shí)間普遍較短,分布式環(huán)境下又引入了新的挑戰(zhàn),產(chǎn)品化程度對(duì)比商業(yè)集中式數(shù)據(jù)庫(kù)還存在一定差距,需要通過(guò)實(shí)際的應(yīng)用場(chǎng)景持續(xù)打磨,提升產(chǎn)品成熟度。數(shù)據(jù)庫(kù)內(nèi)存池化架構(gòu)示意見(jiàn)圖
15。501.內(nèi)存池化,全棧解耦,追求極致的彈性伸縮圖15
數(shù)據(jù)庫(kù)內(nèi)存池化架構(gòu)示意圖在架構(gòu)上云原生數(shù)據(jù)庫(kù)要實(shí)現(xiàn)內(nèi)存池化和全棧解耦。當(dāng)前主流商用的云原生數(shù)據(jù)庫(kù)都完成了計(jì)算層和存儲(chǔ)層的解耦,接下來(lái)計(jì)算資源層中算力與內(nèi)存也會(huì)解耦,計(jì)算能力池化、內(nèi)存容量池化、存儲(chǔ)能力池化,達(dá)到“計(jì)算-內(nèi)存-外存”三層資源徹底解耦可分別進(jìn)行彈性熱伸縮?;诖嫠惴蛛x三層解耦的云原生數(shù)據(jù)庫(kù),可以支持分鐘級(jí)別的節(jié)點(diǎn)擴(kuò)展能力,幾分鐘內(nèi)就可以增加一個(gè)只讀節(jié)點(diǎn);秒級(jí)的高可用切換,在幾秒內(nèi)完成端到端的切換;秒級(jí)存儲(chǔ)擴(kuò)展能力,秒級(jí)資源釋放回收能力,秒級(jí)快照備份能力。512.基于內(nèi)存池的
HTAP,釋放軟硬協(xié)同的潛能圖16
HTAP
架構(gòu)示意圖內(nèi)存池化后給云原生數(shù)據(jù)庫(kù)也會(huì)帶來(lái)一些新的挑戰(zhàn),比如內(nèi)存池相比本地內(nèi)存時(shí)延是有差異的,數(shù)據(jù)庫(kù)軟件結(jié)構(gòu)需要適配改造,減少這部分的影響;內(nèi)存池化后的可靠性恢復(fù)如何保障;內(nèi)存池化后數(shù)據(jù)庫(kù)如何管理和判斷存放哪些數(shù)據(jù);不同業(yè)務(wù)使用內(nèi)存池的隔離性問(wèn)題等等。如何在技術(shù)上應(yīng)對(duì)這些挑戰(zhàn)并將內(nèi)存池更好地用起來(lái),是一個(gè)需要持續(xù)探索的領(lǐng)域。將內(nèi)存池技術(shù)和
HTAP結(jié)合是其中一個(gè)趨勢(shì)。云原生數(shù)據(jù)庫(kù)在
OLTP和
OLAP能力融合的基礎(chǔ)上,未來(lái)更進(jìn)一步結(jié)合內(nèi)存池軟硬協(xié)同,實(shí)現(xiàn)網(wǎng)絡(luò)吞吐的大幅度縮減,同時(shí)也將內(nèi)存池的性能優(yōu)勢(shì)發(fā)揮到極致。52其中的關(guān)鍵技術(shù)包括:1)使用
SCM(StorageClassMemory)新介質(zhì),基于內(nèi)存池對(duì)數(shù)據(jù)進(jìn)行加速,提供
PB級(jí)數(shù)據(jù)量、萬(wàn)級(jí)并發(fā)、毫秒級(jí)訪問(wèn)時(shí)延;2)結(jié)合
AI深度學(xué)習(xí),根據(jù)應(yīng)用負(fù)載和系統(tǒng)資源實(shí)現(xiàn)語(yǔ)句級(jí)自動(dòng)彈性,自動(dòng)確定分析節(jié)點(diǎn)數(shù)量,自動(dòng)確定單個(gè)分析節(jié)點(diǎn)的資源;3)TP側(cè)通過(guò)
RDMA直接寫內(nèi)存池中的
DeltaStore,DeltaStore可立刻處理分析業(yè)務(wù)的讀請(qǐng)求,不影響交易性能,又將
AP、TP數(shù)據(jù)時(shí)延穩(wěn)定控制在1ms以內(nèi);4)在行式存儲(chǔ)引擎和列式存儲(chǔ)引擎上建立全局的一致性事務(wù)視圖,單條
SQL可以橫跨行存和列存;5)智能混合優(yōu)化器,智能化判斷
SQL僅在
TP引擎上執(zhí)行、僅在AP
引擎上執(zhí)行、在
TP&AP引擎上聯(lián)合執(zhí)行,實(shí)現(xiàn)語(yǔ)句級(jí)TP&AP引擎協(xié)同執(zhí)行。3.智能彈性,實(shí)現(xiàn)更細(xì)粒度、更精準(zhǔn)的資源調(diào)度Serverless數(shù)據(jù)庫(kù)未來(lái)還需要具備智能彈性的能力,能夠根據(jù)用戶的歷史負(fù)載計(jì)算出用戶特征描述,快速判斷未來(lái)的負(fù)載曲線,提前為彈性伸縮準(zhǔn)備好資源,避免負(fù)載沖擊到資源規(guī)格上限,減少系統(tǒng)資源浪費(fèi),追求更極致的彈性。其中的關(guān)鍵技術(shù)包括:智能檢測(cè)業(yè)務(wù)負(fù)載趨勢(shì),預(yù)測(cè)資源消耗,基于服務(wù)等級(jí)協(xié)議保障,動(dòng)態(tài)調(diào)整數(shù)據(jù)庫(kù)資源縱向擴(kuò)展,加減實(shí)例橫向擴(kuò)展;數(shù)據(jù)庫(kù)內(nèi)核基于業(yè)務(wù)負(fù)載動(dòng)態(tài)調(diào)整內(nèi)核多種參數(shù)包括線程池大小、連接數(shù)、等待時(shí)延等;基于分布53式共享內(nèi)存的擴(kuò)展緩存池、鎖、事務(wù)狀態(tài),以及元數(shù)據(jù)管理等,實(shí)現(xiàn)數(shù)據(jù)庫(kù)全局狀態(tài)管理;也可以采用輕量化容器技術(shù),提升系統(tǒng)的啟動(dòng)時(shí)間以及高密度部署。4.全場(chǎng)景智能數(shù)據(jù)庫(kù),發(fā)揮
AI與數(shù)據(jù)庫(kù)的融合價(jià)值2019年,華為首次發(fā)布了GaussDBAI-Native技術(shù),并持續(xù)將AI技術(shù)融入數(shù)據(jù)庫(kù)內(nèi)核、核心算法和數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)數(shù)據(jù)庫(kù)自動(dòng)優(yōu)化和調(diào)優(yōu)等功能。同時(shí),GaussDB還在分布列推薦、慢SQL發(fā)現(xiàn)與診斷、負(fù)載趨勢(shì)預(yù)測(cè)與異常檢測(cè)等
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年加工鹽項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模式
- 2025年水利設(shè)施開發(fā)管理服務(wù)項(xiàng)目提案報(bào)告模板
- 2025年專業(yè)軟件技術(shù)支持合同示范文本
- 2025年石膏行業(yè)誠(chéng)信購(gòu)銷協(xié)議
- 2025年個(gè)人所得稅捐贈(zèng)合作協(xié)議
- 2025年養(yǎng)老保險(xiǎn)自愿繳費(fèi)協(xié)議
- 2025年中等收入家庭購(gòu)房合同范本
- 2025年聯(lián)盟企業(yè)共同經(jīng)營(yíng)策劃合作協(xié)議書
- 2025年企業(yè)短期工聘用協(xié)議書
- 2025年物流用途編織袋租賃合同書
- 220t鍋爐課程設(shè)計(jì) 李學(xué)玉
- 露天礦采坑邊坡穩(wěn)定性評(píng)價(jià)報(bào)告
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
- 液壓與氣壓傳動(dòng)實(shí)驗(yàn)指導(dǎo)書DOC
- 黑布林繪本 Dad-for-Sale 出售爸爸課件
- 第2.4節(jié)色度信號(hào)與色同步信號(hào)
- 山東省成人教育畢業(yè)生登記表
- 月度及年度績(jī)效考核管理辦法
- 畢業(yè)設(shè)計(jì)鋼筋彎曲機(jī)的結(jié)構(gòu)設(shè)計(jì)
- 超全六年級(jí)陰影部分的面積(詳細(xì)答案)
評(píng)論
0/150
提交評(píng)論