安信证券资管清算重要业务在原生分布式数据库的创新实践
作者:安信證券信息技術(shù)委員會運維部系統(tǒng)平臺室 劉盛彩、肖昭、張杰
來源:《金融電子化》
近日,《國務(wù)院關(guān)于數(shù)字經(jīng)濟發(fā)展情況的報告》(以下簡稱報告)提請十三屆全國人大常委會第三十七次會議審議, 報告提出:“深入實施創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略,推進關(guān)鍵核心技術(shù)攻關(guān),加快鍛造長板、補齊短板,構(gòu)建自主可控產(chǎn)業(yè)生態(tài)”。
安信證券作為證券行業(yè)信息技術(shù)應(yīng)用創(chuàng)新第二批試點單位,大力推進信息技術(shù)應(yīng)用創(chuàng)新工作,并在關(guān)鍵基礎(chǔ)設(shè)施——數(shù)據(jù)庫的應(yīng)用創(chuàng)新中,率先將原生分布式數(shù)據(jù)庫 OceanBase 應(yīng)用于重要的資管清算場景。隨著項目從適配到投產(chǎn),給安信證券帶來了若干技術(shù)紅利,包括多租戶、高并發(fā)、高壓縮等,同時促進廠商打磨了數(shù)據(jù)庫在重度 ETL 數(shù)據(jù)處理、復(fù)雜分析場景的若干能力,并推動數(shù)據(jù)庫廠商與應(yīng)用開發(fā)商之間的對接落地,共建產(chǎn)業(yè)生態(tài)。憑此,“安信證券資管清算重要業(yè)務(wù)系統(tǒng)基于 OceanBase 的創(chuàng)新應(yīng)用實踐”項目榮獲“2022 第十三屆金融科技應(yīng)用創(chuàng)新獎”。
?
分布式數(shù)據(jù)庫選型分析
?
最初進行數(shù)據(jù)庫選型時,安信證券重點關(guān)注分布式數(shù)據(jù)庫產(chǎn)品未來是否能夠支撐更多業(yè)務(wù)場景,達到增效降本的目的。同時,我們也對分布式數(shù)據(jù)庫有兩點憂慮:首先,如何找到適合“分布式”的業(yè)務(wù)場景?其次,是否會因為引入分布式數(shù)據(jù)庫導(dǎo)致硬件投入大幅增長?對于 OceanBase,我們認可其多租戶體系、兼容性、高可用以及其在多個頭部大型券商的落地案例。
主流的商業(yè)數(shù)據(jù)庫 Oracle 在 12C 版本提供了多租戶(PDB)特性,OceanBase同樣基于租戶對外提供服務(wù),并在內(nèi)核上天然支持 DBaaS。如果說分布式數(shù)據(jù)庫由于多副本的特性,天生需要更多硬件資源投入,那么多租戶則是有效提升整體資源利用率的關(guān)鍵。 經(jīng)調(diào)研,安信證券了解到,OceanBase 的多租戶體系能夠把投入的硬件資源池化,再按需分配為不同的資源對象(租戶)供各個業(yè)務(wù)使用,租戶之間數(shù)據(jù)不互通,并且具備資源隔離的能力。
同樣是為了提升資源利用率,原生分布式數(shù)據(jù)庫與單機多實例形態(tài)相比,原生的多租戶降低了維護對象實體——“進程”的數(shù)量。“進程”數(shù)量的降低,可以有效降低引入分布式數(shù)據(jù)庫帶來的節(jié)點數(shù)量增長,將大幅提升數(shù)據(jù)庫版本升級、備份恢復(fù)、主機變更等日常運維的操作效率。
此外,OceanBase 的租戶能夠同時提供 Oracle 和 MySQL 兩種兼容模式,即同一個集群中可以同時創(chuàng)建 Oracle 和 MySQL 類型租戶,并且都具備較高的兼容性,基本可以做到僅需少許修改即可“平遷”到對應(yīng)的租戶中。這將讓安信證券在數(shù)據(jù)庫國產(chǎn)化選型時無需引入過多數(shù)據(jù)庫類型。
?
資管清算,重要業(yè)務(wù)系統(tǒng)創(chuàng)新實踐
?
安信證券是首批將資管核心業(yè)務(wù) TA 下移到國產(chǎn)數(shù)據(jù)庫的券商。除此之外,我們也逐步完成了投資者動態(tài)、估值清算、融資征信等多個重要清算類業(yè)務(wù)的并軌投產(chǎn)。其中,OceanBase 的多租戶架構(gòu)、語法兼容能力、SQL 優(yōu)化器能力是能夠支撐上述場景的關(guān)鍵。
雖然 OceanBase 屬于分布式數(shù)據(jù)庫,但卻能夠走不同的技術(shù)路線。一類是“平遷”路線,即依靠數(shù)據(jù)庫自身的數(shù)據(jù)分布、高壓縮比以及 SQL 引擎,將 Oracle 的數(shù)據(jù)平移到一個大規(guī)格租戶,達到只換數(shù)據(jù)庫不重構(gòu)業(yè)務(wù)的目的;另一類則是“拆分”或“重構(gòu)”,將不同的小規(guī)格租戶作為承載不同分片的對象,并將其 primary_zone 分布在不同物理節(jié)點,高效利用集群各節(jié)點算力。
對于投資者動態(tài)、融資征信等系統(tǒng),安信證券選擇了“平遷”路線,這類系統(tǒng)的數(shù)據(jù)處理邏輯往往融合在數(shù)據(jù)庫的過程語言中(如存儲過程、匿名塊、程序包等),并且不可避免地存在大事務(wù)、復(fù)雜查詢。此類系統(tǒng)通常不具備完全重構(gòu)的條件,因此其遷移需要重點關(guān)注對象(包括表、分區(qū)語法、存儲過程等)兼容性,以及復(fù)雜 SQL 的性能,這兩點是決定新數(shù)據(jù)庫是否可用的關(guān)鍵因素。
在此類場景中,DBA 團隊需要全程參與,熟悉數(shù)據(jù)庫廠商提供的遷移工具,把控整體遷移流程,并且在灰度階段追蹤慢 SQL 情況。對于執(zhí)行計劃不穩(wěn)定的 SQL,根據(jù)數(shù)據(jù)變化情況,應(yīng)該人工介入綁定執(zhí)行計劃,或提前收集統(tǒng)計信息,為優(yōu)化器提供更準確的依據(jù)。
?
?
當單個租戶出現(xiàn)容量或性能瓶頸后,通過增加租戶 unit,該租戶的部分數(shù)據(jù)將轉(zhuǎn)移到新的硬件節(jié)點,實現(xiàn)數(shù)據(jù)庫平滑擴容。同時,數(shù)據(jù)從“集中”變?yōu)椤胺植肌?#xff0c;部分 SQL 將從單節(jié)點訪問變?yōu)榭绻?jié)點訪問,延遲自然會增大。因此,對于關(guān)鍵高頻清算SQL,可采用分區(qū)結(jié)合表組的技術(shù),將不同表中有相同數(shù)據(jù)的分區(qū),放置于同一個節(jié)點,盡可能達到“數(shù)據(jù)跨機存,SQL 本地跑”的效果。
?
?
對于 TA 等復(fù)雜清算系統(tǒng),當前主流開發(fā)商的新一代 TA 選擇“分而治之”的處理方式,這也是大數(shù)據(jù)量批處理的典型優(yōu)化方式。在此類場景中,根據(jù)跑批特性梳理拆分的用戶,可將若干個不在同一時間點跑批的用戶放在同一個租戶中,提升整體跑批效率。當 TA 整體數(shù)據(jù)量較大時,可以適當?shù)剡M行分片;當單個租戶出現(xiàn)瓶頸后,通過集群內(nèi)擴容可將租戶遷移到新硬件,然后進行租戶規(guī)格擴容,滿足業(yè)務(wù)增長需求。
同時,拆分后難免需要解決“匯聚”的問題, 對于數(shù)據(jù)量大的系統(tǒng),匯聚庫中的大表可以選擇合適字段進行分區(qū),避免租戶中出現(xiàn)超大表拖慢集群合并時間的情況。
?
?
創(chuàng)新成效顯著,未來更可期
?
安信證券此次以 TA 為代表的清算跑批業(yè)務(wù)順利完成試點驗證,同時也完成了行業(yè)內(nèi)首次大事務(wù) OLAP 場景的落地驗證,為證券行業(yè)形成了一套可參考的標準方案。新一代 TA 業(yè)務(wù)上線 OceanBase 后,跑批清算時間由 2 小時降低為 1 小時,TA 系統(tǒng)的清算時間縮短為原先的 50%,對上下游業(yè)務(wù)系統(tǒng)而言,登記過戶相關(guān)的整體運營效率得到顯著提升。
OceanBase 原生分布式數(shù)據(jù)庫內(nèi)核天然支持多租戶,對于有多個租戶的集群,可以讓不同租戶的主副本位于不同主機,從而充分利用集群中不同主機的資源,這對安信證券初期需要預(yù)先創(chuàng)建多套數(shù)據(jù)庫資源的業(yè)務(wù)而言,得以大幅節(jié)約運維成本。此外,OceanBase 良好的兼容性最終讓業(yè)務(wù)在不重構(gòu)的前提下,快速完成國產(chǎn)化替換,安信證券也將遷移改造成本控制在了一定的范圍內(nèi)。
當前,原生分布式數(shù)據(jù)庫經(jīng)過充分驗證,已經(jīng)能夠在適合的場景承載關(guān)鍵核心業(yè)務(wù)系統(tǒng),但其部分行為與傳統(tǒng)集中式數(shù)據(jù)庫仍有區(qū)別,在某些場景中需要注意其使用方式。以 OceanBase 3.X 版本為例,其多數(shù)管理動作仍集中在集群層面,如異地的主備切換、DDL 的處理等。好消息是,此類管理動作在 OceanBase 4.X 版本也將下沉到租戶, 屆時,集群內(nèi)的不同租戶將可以按照業(yè)務(wù)的時間安排,各自進行機房切換演練,在規(guī)劃集群時有了更大的靈活度;對于 DDL 在分布式架構(gòu)下的一些問題,也將從根本上得到優(yōu)化。
隨著各業(yè)務(wù)線對數(shù)據(jù)庫資源需求的持續(xù)增加,DBaaS 未來應(yīng)該與流程工單系統(tǒng)相結(jié)合,業(yè)務(wù)方走工單申請數(shù)據(jù)庫資源,將必要的信息帶入工單(如數(shù)據(jù)量、架構(gòu)、規(guī)格等),由 DBA 團隊審批后,DBaaS 平臺能夠快速完成數(shù)據(jù)庫資源的創(chuàng)建并返回連接串等必要信息。當前, OCP(OceanBase Control Platform,運維管理工具)已經(jīng)開放了豐富的 API 接口,在安信證券已經(jīng)被上層運維管理 DBaaS 平臺納管,并實現(xiàn)了監(jiān)控告警的統(tǒng)一。
未來,安信證券也將把租戶的創(chuàng)建、回收、擴容等能力融入到 IT 服務(wù)工單系統(tǒng),進一步提升數(shù)據(jù)庫管理效率。
總結(jié)
以上是生活随笔為你收集整理的安信证券资管清算重要业务在原生分布式数据库的创新实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序进阶
- 下一篇: win7 mysql 应用程序无法启动因