當(dāng)前位置:首頁 > IT技術(shù) > 數(shù)據(jù)庫 > 正文

騰訊云TDSQL,從數(shù)據(jù)庫巨人身上撕開一道口子
2021-09-08 12:34:45

金融行業(yè)現(xiàn)狀

目前國內(nèi)大中型銀行主要以國外廠商提供的大型主機(jī)和數(shù)據(jù)庫解決方案來進(jìn)行系統(tǒng)構(gòu)建。由于近年來金融業(yè)務(wù)量的不斷增長,以及銀行數(shù)字化轉(zhuǎn)型成為必然趨勢。目前以國外大型主機(jī)和數(shù)據(jù)庫為核心的架構(gòu)已無法滿足大規(guī)模交易和數(shù)據(jù)處理的需求。

一方面:性能無法滿足業(yè)務(wù)不斷激增的處理需求,存在系統(tǒng)過載風(fēng)險(xiǎn);另一方面:本身價(jià)格比較昂貴,維護(hù)成本居高不下。

以手機(jī)銀行、網(wǎng)上理財(cái)、互聯(lián)網(wǎng)保險(xiǎn)等為代表的金融業(yè)務(wù)創(chuàng)新快速發(fā)展,推動新技術(shù)正以前所未有的速度與力度發(fā)生深層次變革。

這些技術(shù)發(fā)展,對金融服務(wù)模式帶來重大影響,使得金融行業(yè)向數(shù)字化、分布式轉(zhuǎn)型成為必然趨勢,金融業(yè)務(wù)創(chuàng)新與科技創(chuàng)新正在相互促進(jìn),重塑金融行業(yè)系統(tǒng)能力。

1、分布式數(shù)據(jù)庫領(lǐng)域的百家爭鳴

| 多種架構(gòu)長期共存:分布式數(shù)據(jù)庫經(jīng)過這么多年的發(fā)展,實(shí)際上并不是一種新興的技術(shù)了,從最早基于中間件的模型開始到現(xiàn)在基于分布式存儲的架構(gòu),這些架構(gòu)一直在并存著往前發(fā)展,談不上哪個(gè)更優(yōu)秀,因?yàn)槎几饔懈鞯膽?yīng)用場景。

| 多種技術(shù)棧卡位競爭:分布式技術(shù)目前發(fā)展的方向是,技術(shù)棧有兼容MySQL的,也有兼容Oracle的,也有兼容PG的,各技術(shù)?,F(xiàn)在互相卡位,在國內(nèi)的廠商之間,幾乎每個(gè)廠商都跟著一條線。

l 廠商互相PK:目前投入的廠家,特別是在這兩年國家對這塊的支持力度和資本介入之下,做分布式數(shù)據(jù)庫的廠家越來越多,形成了互相競爭的關(guān)系。

2、金融客戶應(yīng)該如何選擇分布式數(shù)據(jù)庫

拋開所謂的金融產(chǎn)品的可靠性、可用性等技術(shù)點(diǎn)以外,選擇一個(gè)金融分布式數(shù)據(jù)庫最核心的要點(diǎn)我認(rèn)為是以下四方面:

l 質(zhì)量可靠:產(chǎn)品應(yīng)該成熟可靠,經(jīng)過大規(guī)模業(yè)務(wù)持續(xù)驗(yàn)證,擁有較多的客戶案例和ISV集成經(jīng)歷。

l 團(tuán)隊(duì)建設(shè):建立能用、會用、用好國產(chǎn)數(shù)據(jù)庫的人才隊(duì)伍;形成一支具備高水平維護(hù)能力的隊(duì)伍。

l 持續(xù)演進(jìn):背靠優(yōu)質(zhì)平臺或生態(tài),產(chǎn)品可以持續(xù)演進(jìn)發(fā)展;廠商擁有一流的研發(fā)團(tuán)隊(duì)和長期投入。

l 服務(wù)能力:在國內(nèi)主要地市建立健全分銷體系、培訓(xùn)能力、服務(wù)團(tuán)隊(duì)。不僅包括數(shù)據(jù)庫,更能覆蓋金融全技術(shù)棧的服務(wù)能力。

3、騰訊云分布式數(shù)據(jù)庫解決方案

騰訊云分布式數(shù)據(jù)庫最早源自于騰訊的增值業(yè)務(wù),從充值Q幣開始一直到財(cái)富通、微信支付、微眾銀行,騰訊的分布式數(shù)據(jù)庫一直是基于開源的自主研發(fā)。最近幾年我們開始逐漸面向產(chǎn)研結(jié)合和產(chǎn)用結(jié)合,在產(chǎn)研結(jié)合方面我們和國內(nèi)頂級高校建立了聯(lián)合實(shí)驗(yàn)室,也在國際上發(fā)表了多篇頂級論文;在產(chǎn)用結(jié)合方面我們和很多銀行建立了聯(lián)合實(shí)驗(yàn)室,共同促進(jìn)產(chǎn)品發(fā)展,目前主要應(yīng)用的是我們TDSQL和TBase兩條產(chǎn)品線。

金融應(yīng)用實(shí)踐

接下來將分享一個(gè)關(guān)于某金融客戶主機(jī)下移過程的真實(shí)案例,希望能真正給到大家一些啟發(fā)。

拋開細(xì)枝末節(jié),只聚焦在數(shù)據(jù)庫上,我們怎么樣把數(shù)據(jù)庫的核心往下切?當(dāng)時(shí)我們總結(jié)出了以下六個(gè)問題:

如何選擇分布式技術(shù)棧;

如何設(shè)計(jì)信息技術(shù)創(chuàng)新節(jié)奏;

如何使用分布式數(shù)據(jù)庫;

新老系統(tǒng)的切換;

分布式的擴(kuò)展容災(zāi)方案;

如何對國產(chǎn)數(shù)據(jù)庫進(jìn)行運(yùn)維;

1、分布式技術(shù)棧的選擇:對主流方向都有布局和應(yīng)用

對于分布式技術(shù)棧的選擇,目前有兩個(gè)主流方向,一個(gè)是兼容MySQL,一個(gè)是兼容Oracle。

兼容MySQL的優(yōu)勢是其分布式技術(shù)棧比較成熟,易于團(tuán)隊(duì)建設(shè)?;贛ySQL的分布式協(xié)議最早來自于國外的一些互聯(lián)網(wǎng)廠家,后逐漸引入到國內(nèi)的互聯(lián)網(wǎng)廠家,包括國內(nèi)的微信支付、螞蟻金服等幾個(gè)巨頭的支付廠家,其底座都是以兼容MySQL協(xié)議為主,再加上這么多年國內(nèi)開發(fā)者對MySQL的研究,所以在此背景之下,金融機(jī)構(gòu)的相關(guān)團(tuán)隊(duì)建設(shè)是比較容易成型的。

兼容Oracle的優(yōu)勢是對整個(gè)金融系統(tǒng)的改造、遷移、使用成本相對較低,有可復(fù)用的部分并且方案相對簡單。

所以說這兩個(gè)技術(shù)棧方向都各有優(yōu)勢,騰訊云因?yàn)榻鹑跇I(yè)務(wù)足夠大所以覆蓋了這兩個(gè)方向的產(chǎn)品,都有自己的產(chǎn)品線,我們現(xiàn)在都把它叫做分布式數(shù)據(jù)庫產(chǎn)品線,分別是MySQL技術(shù)棧的以及Postgre技術(shù)棧的產(chǎn)品。

2、技術(shù)創(chuàng)新節(jié)奏

1)某大型銀行客戶的主機(jī)下移“五年計(jì)劃”

了解過技術(shù)棧的選擇,接下來就是考慮自身團(tuán)隊(duì)適合哪款產(chǎn)品、選擇這款產(chǎn)品后怎么設(shè)計(jì)核心系統(tǒng)等。以下是某大型銀行真實(shí)計(jì)劃的縮影,他們給整個(gè)過程設(shè)定了五年計(jì)劃原則:

技術(shù)團(tuán)隊(duì):建立一支熟悉分布式數(shù)據(jù)庫技術(shù)棧的技術(shù)團(tuán)隊(duì);

分批改造:根據(jù)業(yè)務(wù)重要性,分批分階段改造業(yè)務(wù)系統(tǒng);

業(yè)務(wù)磨合:技術(shù)方案應(yīng)在不影響宏觀穩(wěn)定,確保業(yè)務(wù)與數(shù)據(jù)庫磨合;

技術(shù)復(fù)用:該技術(shù)應(yīng)該是可以復(fù)用或容易建立的;

全量切換:應(yīng)該是在完全磨合好以后,再全量切換。

并且分成四種節(jié)奏開展落地:

2018~2019年,團(tuán)隊(duì)招聘與培養(yǎng):確定基于Oracle+MySQL實(shí)現(xiàn)雙技術(shù)棧團(tuán)隊(duì)建設(shè),并選擇互聯(lián)網(wǎng)銀行業(yè)務(wù)選擇開源MySQL方案打磨團(tuán)隊(duì);

2020年,(試點(diǎn))核心系統(tǒng)改造:團(tuán)隊(duì)對MySQL熟悉后,實(shí)現(xiàn)核心業(yè)務(wù)系統(tǒng)基于騰訊云TDSQL上線并開始運(yùn)營;

2021年,新老系統(tǒng)并行,剩余系統(tǒng)改造:老業(yè)務(wù)系統(tǒng)不下線,數(shù)據(jù)保證實(shí)施同步回老業(yè)務(wù)系統(tǒng),如果新業(yè)務(wù)系統(tǒng)一旦故障確保老系統(tǒng)可用;

2022年,最終核心交易全量切換:在運(yùn)行一段時(shí)間后,確保新系統(tǒng)完全穩(wěn)定后,再封存老系統(tǒng)。

3、數(shù)據(jù)層下移的拆分策略

水平拆分&垂直拆分

在執(zhí)行了相應(yīng)的規(guī)劃以后,就要考慮數(shù)據(jù)庫改造中數(shù)據(jù)層下移的拆分策略。說到水平拆分就不得不提及垂直拆分,垂直拆分一般是在SOA時(shí)代,基于業(yè)務(wù)垂直拆分。分布式改造最主要的還是對其中一些業(yè)務(wù)核心戶進(jìn)行水平拆分,使其能夠適應(yīng)新時(shí)代新的科技金融業(yè)務(wù)的發(fā)展。但也并不是所有的系統(tǒng)都需要分布式改造,有些規(guī)模比較小的系統(tǒng)就沒必要。騰訊的產(chǎn)品是集中式和分布式組合在一起的,便于客戶只買一個(gè)產(chǎn)品,能滿足幾乎所有數(shù)據(jù)庫的需求。

水平拆分的主要方案主要面向集團(tuán),其業(yè)務(wù)是基于分公司維度展開的,主要有幾個(gè)特點(diǎn)——業(yè)務(wù)按分公司維度展開;交易/清算等以該維度展開;不同分公司交易規(guī)模區(qū)分明顯;總部搭建業(yè)務(wù)系統(tǒng)和數(shù)據(jù)收口;分公司總數(shù)少但交易數(shù)量多。所以騰訊提供了一種叫虛擬組的能力,可以在分公司分布的基礎(chǔ)上再進(jìn)行拆分,幫助用戶去提升。比如一個(gè)發(fā)展比較快的東南亞分公司,可能原來只需要一個(gè)小的分片,兩年后爆發(fā)式增長就可以基于這種架構(gòu)進(jìn)行快速無縫的擴(kuò)展。

第三種是按時(shí)間維度拆分:如上圖所示,通常是訂單類的系統(tǒng),而且按時(shí)間維度會涉及到大促時(shí)期呈峰值增長的問題。這種場景下,騰訊的產(chǎn)品可以提供一種二級分區(qū)的能力,可以按照時(shí)間分區(qū),這就意味著無論歸到歷史庫也好還是這一時(shí)間階段交易規(guī)模比較大也好,都可以均衡地負(fù)載性能。

4、新老系統(tǒng)的切換:DTS-DBBridge

接下來就會涉及到研發(fā),一旦涉及到研發(fā)就要考慮整個(gè)業(yè)務(wù)系統(tǒng)遷移的流程。這個(gè)流程從最開始的業(yè)務(wù)溝通,騰訊就可以開始介入,騰訊的技術(shù)人員可以通過我們成熟的遷移工具DBBridge輸出對業(yè)務(wù)系統(tǒng)遷移的評估報(bào)告,同時(shí)配合開發(fā)人員進(jìn)行業(yè)務(wù)系統(tǒng)改造、實(shí)施、新老系統(tǒng)的并行上線以及到最后的切換,整個(gè)服務(wù)體系都可以形成一個(gè)閉環(huán)。

5、國產(chǎn)數(shù)據(jù)庫的運(yùn)維:DBBrain&分布式數(shù)據(jù)庫管理系統(tǒng)

遷移完成后就涉及到如何管理數(shù)據(jù)庫,這里涉及到我們另一個(gè)方案DBBrain,它能夠幫助用戶從全局角度分析分布式數(shù)據(jù)庫運(yùn)行的情況,其中積累了騰訊海量的運(yùn)維經(jīng)驗(yàn)。

6、分布式多活多SET化擴(kuò)展容災(zāi)方案

運(yùn)維起來以后,隨著運(yùn)行一年到兩年,某些核心就要開始考慮是否要符合監(jiān)管的要求,是否要做兩地三中心和容災(zāi),甚至隨著金融業(yè)務(wù)呈爆發(fā)式發(fā)展,原有的機(jī)房已經(jīng)不能滿足需求,需要換多機(jī)房方案。

傳統(tǒng)的兩地三中心容災(zāi)方案,從金融科技發(fā)展角度會呈現(xiàn)出一些小問題,比如容災(zāi)需要人工干預(yù),當(dāng)真的面臨事故時(shí),是否敢做切換的決策?實(shí)際上很多金融IT從業(yè)者都不敢打包票。另外就是備機(jī)房常態(tài)下無流量,利用率較低,所以現(xiàn)在發(fā)展出多活的容災(zāi)方案,簡單來說就是把業(yè)務(wù)系統(tǒng)通過一層網(wǎng)關(guān)進(jìn)行一個(gè)按SET的劃分,每一個(gè)SET下面都對應(yīng)一套數(shù)據(jù)庫,這個(gè)數(shù)據(jù)庫既可以是集中式也可以是分布式。騰訊里像微信支付,都是使用多SET的模型。

SET的主從之間是采用數(shù)據(jù)庫的強(qiáng)同步,SET與SET之間同類業(yè)務(wù)采用數(shù)據(jù)同步模型,因?yàn)樯蠈拥腟ET做了業(yè)務(wù)拆分,所以兩個(gè)SET組之間的數(shù)據(jù)是不沖突的,可以互相進(jìn)行同步。這類架構(gòu)目前也在國內(nèi)的某頭部保險(xiǎn)公司,同樣是騰訊云的客戶,已經(jīng)試驗(yàn)了兩地四中心的架構(gòu),到目前為止已經(jīng)穩(wěn)定運(yùn)行超過9個(gè)月,單個(gè)SET能承載的理論容量是10TB,理論TPS是5K以上,而且性能可以基于SET化的分布式擴(kuò)展往上加,所以SET化可以擴(kuò)展的能力是很強(qiáng)的。

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >