前言:很長(zhǎng)時(shí)間以來,大多數(shù)據(jù)庫從業(yè)人士都將IBM大型機(jī),、Oracle等傳統(tǒng)數(shù)據(jù)庫奉為經(jīng)典,,尤其對(duì)于數(shù)據(jù)庫有著極高要求的金融行業(yè)來說,在他們眼里,,地球上沒有任何一個(gè)數(shù)據(jù)庫能比他們更穩(wěn)定了,。
隨著產(chǎn)業(yè)環(huán)境的變化,以O(shè)racle,、IBM,、微軟三足鼎立的數(shù)據(jù)庫市場(chǎng)格局正悄然發(fā)生著改變,而在這一變化過程中,,國(guó)產(chǎn)數(shù)據(jù)庫也順勢(shì)而為向傳統(tǒng)數(shù)據(jù)庫發(fā)起了沖擊,,并打破了銀行核心系統(tǒng)只能用Oracle數(shù)據(jù)庫的”潛規(guī)則“。
對(duì)此,,雷鋒網(wǎng)與騰訊云數(shù)據(jù)庫TDSQL團(tuán)隊(duì)6位老兵展開了一場(chǎng)深度對(duì)話,,還原了以TDSQL為代表的國(guó)產(chǎn)數(shù)據(jù)庫的進(jìn)擊之路,。
把時(shí)間線拉回到2005年。
彼時(shí),,員工平均年齡只有26歲的騰訊,,如同一支不起眼的輕騎兵部隊(duì),在剛剛興起的互聯(lián)網(wǎng)社交化浪潮中開疆拓土,,以QQ為基礎(chǔ)打造了QQ空間,、QQ游戲、騰訊網(wǎng)等爆款產(chǎn)品,。
”騰訊之前的業(yè)務(wù)都比較聚焦,,我們作為公司的計(jì)費(fèi)團(tuán)隊(duì),承擔(dān)著公司所有收入實(shí)時(shí)計(jì)費(fèi)工作,,同時(shí)每天我們還有大量復(fù)雜報(bào)表計(jì)算,。“
說這句話的是現(xiàn)任騰訊副總裁李綱,,2003年加入騰訊的他就一直都在騰訊的計(jì)費(fèi)部門工作,。隨著騰訊在SNS時(shí)代打敗了51.com、人人網(wǎng),、開心網(wǎng)等對(duì)手之后,,QQ空間等產(chǎn)品帶來的增值業(yè)務(wù)也水漲船高。
騰訊計(jì)費(fèi)團(tuán)隊(duì)合影
此時(shí)有一個(gè)問題擺在了李綱的面前:技術(shù)上使用的MySQL開源數(shù)據(jù)庫,,面對(duì)用戶爆發(fā)式增長(zhǎng),,會(huì)經(jīng)常出現(xiàn)不穩(wěn)定,故障主備切換不及時(shí),、不準(zhǔn)確等各種各樣的問題,。
”集中式數(shù)據(jù)庫的產(chǎn)品力很強(qiáng),兼容性非常強(qiáng)大,,但是有一個(gè)問題是,,邊界感是也是非常明顯的,你到了它的系統(tǒng)極限就會(huì)出現(xiàn)問題,?!袄罹V說到。
而當(dāng)時(shí),,騰訊并非是今天這樣的互聯(lián)網(wǎng)巨頭,,在各個(gè)領(lǐng)域騰訊都在與其他對(duì)手激戰(zhàn)正酣,。如QQ空間有51.com,、人人網(wǎng),、開心網(wǎng)等多個(gè)對(duì)手,,游戲領(lǐng)域則有網(wǎng)易,、盛大……
顯然,,如果不將技術(shù)層使用的數(shù)據(jù)庫出現(xiàn)的問題解決掉,,騰訊將無法在各個(gè)領(lǐng)域拿下”山頭“獲得勝利,。
在此背景之下,內(nèi)部經(jīng)過了多輪討論之后,,技術(shù)部門終于做出了決定,。
1
自己做數(shù)據(jù)庫
”業(yè)務(wù)需要做這個(gè)事情,我們就想著先把它做好,,也沒有想未來要干成什么樣的事業(yè)……“
對(duì)于那時(shí)的心態(tài),,潘安群(現(xiàn)騰訊云數(shù)據(jù)庫技術(shù)負(fù)責(zé)人)依舊記得很清楚。
沒錯(cuò),,騰訊計(jì)費(fèi)部門作出的決定就是要自己做數(shù)據(jù)庫,,正當(dāng)李綱他們做出了這個(gè)決定之后,時(shí)任騰訊CTO的張志東,,提出了一個(gè)要求:騰訊所有的賬戶都要像銀行一樣做到一筆都不差,,一分都不差。
而這個(gè)要求說白了,,既然你們要自己做數(shù)據(jù)庫,,那這個(gè)數(shù)據(jù)庫就要做到金融級(jí)的。
有朋友比較清楚,,金融行業(yè)對(duì)于數(shù)據(jù)庫的要求是最高的,,可用性要達(dá)到99.999%,也就意味著,,全年數(shù)據(jù)庫發(fā)生故障的時(shí)間不可以超過5分鐘,。
這不是一件容易的事兒。結(jié)合騰訊具體業(yè)務(wù),,除了張志東的要求可靠性和一致性之外,,自研的數(shù)據(jù)庫還需要做到可以無限水平擴(kuò)展,,即能夠根據(jù)業(yè)務(wù)需求進(jìn)行延伸,。
”我們很多業(yè)務(wù)不能接受很長(zhǎng)的交易時(shí)長(zhǎng),比如游戲里面買一個(gè)道具,,微信里發(fā)一個(gè)紅包,,它是要馬上到賬的,因此對(duì)于我們數(shù)據(jù)庫的穩(wěn)定性,、可靠性,、性能以及可延展性都提出了很高的要求?!?/p>
在QQ空間,、QQ游戲、財(cái)付通等一系列業(yè)務(wù)推動(dòng)下,,定位于金融級(jí)一致可靠,、互聯(lián)網(wǎng)彈性擴(kuò)展,、高性能的分布式數(shù)據(jù)庫系統(tǒng)就從2007年開始逐步在騰訊內(nèi)部孵化,就是后來的TDSQL,。
QQ空間登錄頁
就在計(jì)費(fèi)平臺(tái)等多個(gè)部門的共同努力下,,騰訊在2008年擁有了QQ、QQ空間,、QQ游戲和騰訊網(wǎng)四個(gè)億級(jí)流量入口,;2009年,騰訊網(wǎng)游收入超過盛大,;2010年的3月5日晚,,QQ同時(shí)在線人數(shù)超過1億……
經(jīng)歷過那段時(shí)光的朋友都知道,騰訊那時(shí)有著難以掩蓋的光環(huán),。在這背后,,騰訊自研的TDSQL數(shù)據(jù)庫也有著無法忽略的功勞。
2
安心喝咖啡
2010年,,騰訊成立12周年紀(jì)念慶典結(jié)束之后,,馬化騰發(fā)出了一封題為”打開未來之門“的全員信。
馬化騰全員信截圖
”開放“成為了這封全員信的核心思想,,這也是騰訊決策層第一次將之定義為戰(zhàn)略級(jí)的行動(dòng),。
技術(shù)層面,騰訊推出了開放平臺(tái)(騰訊云的前身),,允許外部開發(fā)者接入,。對(duì)于數(shù)據(jù)庫、共享存儲(chǔ)等基礎(chǔ)支撐平臺(tái),,意味著其不僅要支撐騰訊內(nèi)部業(yè)務(wù)運(yùn)轉(zhuǎn),,也更要保證外部客戶平穩(wěn)開發(fā)和運(yùn)行。
”騰訊內(nèi)部是大胖子業(yè)務(wù),,體量非常大(用戶數(shù)都是千萬級(jí)往上),,到了開放平臺(tái)我們做的時(shí)候發(fā)現(xiàn)很多小業(yè)務(wù)(用戶百萬級(jí),甚至更少),,相對(duì)來說,,由于場(chǎng)景差異化,他們更容易出現(xiàn)意想不到的故障,?!芭税踩喝缡钦f到。
”這對(duì)數(shù)據(jù)庫的穩(wěn)定可用,、標(biāo)準(zhǔn)化服務(wù)方面提出了更高的要求,,我們需要提供一個(gè)更加完整的底層數(shù)據(jù)庫解決方案才能夠讓他們盡可能避免各種問題?!?/p>
內(nèi)部微信支付,、網(wǎng)絡(luò)游戲……,,外部的不斷增加的開發(fā)者,TDSQL就在業(yè)務(wù)的推動(dòng)下不斷發(fā)展錘煉,。
到了2014年,,以金融級(jí)場(chǎng)景為例,TDSQL已經(jīng)支持了騰訊內(nèi)部90%的計(jì)費(fèi)業(yè)務(wù),,托管了數(shù)百億賬戶,,每天進(jìn)行數(shù)億筆交易。
對(duì)于擁有夢(mèng)想的技術(shù)人員,,從來都不會(huì)安于現(xiàn)狀,。他們清楚,TDSQL在內(nèi)部業(yè)務(wù)的驅(qū)動(dòng)下,,已經(jīng)達(dá)到了團(tuán)隊(duì)當(dāng)年提出”安心喝咖啡“的目標(biāo),。
就是說,TDSQL在各種突發(fā)情況下,,例如斷電,、服務(wù)器故障,工程師依然可以一邊喝咖啡,,一邊抖著腿看系統(tǒng)”自愈“,。
”TDSQL在研發(fā)之初,就是默認(rèn)所有的硬件設(shè)備都是不穩(wěn)定的,,所以應(yīng)對(duì)任何硬件發(fā)生的問題都能夠很快的解決掉,。“李綱對(duì)雷鋒網(wǎng)說到,。
3
點(diǎn)燃心中的火苗
”我們此前有些保守,,業(yè)務(wù)有什么需求,我們就做什么滿足他的需求,,但2014年之后我們覺得要有更高的挑戰(zhàn),,我們希望技術(shù)的選擇、探索能夠走在業(yè)務(wù)的前面,?!?/p>
而這個(gè)時(shí)候正好有一個(gè)機(jī)會(huì)擺在了李綱他們的面前:國(guó)內(nèi)首家民營(yíng)銀行和互聯(lián)網(wǎng)銀行——微眾銀行,,面臨著數(shù)據(jù)庫的選型,。
”微眾銀行的定位是普惠金融,他們希望將IT成本降下來,,并且能夠廣泛服務(wù)用戶,。“李綱回憶到,。
顯然,,這樣的要求下,,以O(shè)racle為代表傳統(tǒng)集中式數(shù)據(jù)庫首先就被排除在外了,微眾銀行CTO和李綱聊了半個(gè)小時(shí)之后,,最終選擇了TDSQL作為核心系統(tǒng)數(shù)據(jù)庫,。
TDSQL就此成為了第一個(gè)使用在銀行核心系統(tǒng)的國(guó)產(chǎn)數(shù)據(jù)庫。
”我們不僅感覺很驚奇,,而且還膽戰(zhàn)心驚,。我們和微眾剛接觸的時(shí)候,會(huì)跟他們說我們一致性,、性能做的有多好,,而他們首先跟我們講的是,先不說別的,,可用性,、穩(wěn)定性能不能保證?“潘安群對(duì)雷鋒網(wǎng)說到,。對(duì)于銀行等金融機(jī)構(gòu)來講,,故障超過半小時(shí),就已是非常嚴(yán)重的級(jí)別,。
因?yàn)槭鞘状螒?yīng)用在銀行核心系統(tǒng),,無形中給潘安群他們帶來了很大的壓力,但在微眾銀行開發(fā)人員與騰訊技術(shù)人員努力了半年之后,,2014年底,,微眾銀行核心系統(tǒng)正式投產(chǎn),承載了微眾銀行數(shù)百個(gè)核心系統(tǒng)和全行所有OLTP業(yè)務(wù),。
當(dāng)前,,微眾銀行每一個(gè)賬戶的科技運(yùn)維成本降至僅為3.5元/年,僅為國(guó)內(nèi)其它銀行的1/10,,相比國(guó)際銀行則更低,,只有其成本的2%至5%
截至目前,微眾銀行基于TDSQL搭建的分布式銀行核心系統(tǒng)已成功服務(wù)超過2.5億客戶,,實(shí)現(xiàn)年均日交易3.6億筆,,單日交易峰值近6億筆,最高TPS達(dá)到10萬+,。
這個(gè)項(xiàng)目也成為了騰訊金融云第一個(gè)案例,,而這個(gè)案例點(diǎn)燃了潘安群他們心中的火苗:讓TDSQL真正的走出去。
早期核心團(tuán)隊(duì)合影,,前排右三為潘安群
一點(diǎn)點(diǎn)看著TDSQL長(zhǎng)起來的潘安群很清楚,,TDSQL 實(shí)際上已經(jīng)完全具備了承擔(dān)銀行核心交易的能力。放眼當(dāng)時(shí)整個(gè)行業(yè)來看,極大部分金融政企機(jī)構(gòu)核心數(shù)據(jù)庫仍受制于國(guó)外傳統(tǒng)集中式數(shù)據(jù)庫產(chǎn)品,。
然而,,讓大家都信服TDSQL的能力,微眾銀行的案例還缺少點(diǎn)意思,,主要有以下原因:
微眾銀行是騰訊發(fā)起成立的,,選用了TDSQL缺少了些說服力;
微眾銀行是一家互聯(lián)網(wǎng)銀行,,沒有線下網(wǎng)點(diǎn),,業(yè)務(wù)模式也和傳統(tǒng)銀行很不同。它能用國(guó)產(chǎn)數(shù)據(jù)庫,,并不完全證明傳統(tǒng)銀行也可以用,。
微眾銀行的系統(tǒng)搭建是從無到有的過程,不涉及到替換的問題,,TDSQL能否真正應(yīng)用于金融傳統(tǒng)核心系統(tǒng)還無法證明,。
但對(duì)于心中已經(jīng)燃起火苗的潘安群,這股火一直都在憋著,。
就在2016年11月10日,,潘安群發(fā)了這樣一條朋友圈:力爭(zhēng)讓每一張錢都能打上TDSQL Inside的標(biāo)簽。
4
真正的舞臺(tái)
這些年,,國(guó)產(chǎn)數(shù)據(jù)庫發(fā)展創(chuàng)新持續(xù)在進(jìn)行,,不過一直都沒有觸及傳統(tǒng)銀行核心。
在這個(gè)過程中,,TDSQL的研發(fā)人員也都沒閑著,,一直在打磨著產(chǎn)品。
”客戶使用數(shù)據(jù)庫產(chǎn)品希望是一鍵式的,,不僅是在開發(fā)的時(shí)候,,包括以后業(yè)務(wù)擴(kuò)容的時(shí)候都是輕量化、標(biāo)準(zhǔn)化,、不容易出錯(cuò),,這是最重要的?!癟DSQL專家工程師雷海林對(duì)雷鋒網(wǎng)接著說到:
”對(duì)此,,我們打造了DBbrain智能運(yùn)營(yíng)平臺(tái);在遷移的兼容性方面,,我們同樣也做了很多的工作,。“
在這些工作全部完成之后,,雷海林他們很清楚,,TDSQL已經(jīng)完全具備了標(biāo)準(zhǔn)成熟的數(shù)據(jù)庫產(chǎn)品所要求的能力,。
機(jī)會(huì)總是會(huì)留給有準(zhǔn)備的人的,。
2018年,,張家港銀行核心系統(tǒng)使用的Sybase數(shù)據(jù)庫已經(jīng)跟不上業(yè)務(wù)的發(fā)展了。
一到年底銀行業(yè)務(wù)高峰期,,CPU使用率就沖上去,,I/O 吞吐也直接到瓶頸,有時(shí)候跑著跑著,,核心數(shù)據(jù)庫突然就卡住一秒,。而核心數(shù)據(jù)庫卡住一秒,張家港行科技部數(shù)據(jù)庫團(tuán)隊(duì)也跟著緊張一秒,。
一旦哪天真的停了下來,,后果將不堪設(shè)想,這也讓行領(lǐng)導(dǎo)決定升級(jí)其核心系統(tǒng)數(shù)據(jù)庫,。
銀行升級(jí)核心系統(tǒng)數(shù)據(jù)庫一直以來的潛規(guī)則是,,首選考慮的會(huì)是Oracle數(shù)據(jù)庫。然而整個(gè)Oracle一套軟硬件核心就需要大幾千萬的支出,,同時(shí)集中式數(shù)據(jù)庫并不符合云時(shí)代彈性擴(kuò)展的趨勢(shì),。
就在張家港行科技部數(shù)據(jù)庫團(tuán)隊(duì)負(fù)責(zé)人盧麗歡犯難的時(shí)候,和張家港銀行,、TDSQL有過合作的長(zhǎng)亮科技團(tuán)隊(duì)得知了這個(gè)消息,,不斷給張家港銀行安利TDSQL。
”不僅性能好,,價(jià)格也便宜,!“
聽到TDSQL的能力和價(jià)格,盧麗歡心動(dòng)了,。然而方案提交之后,,就引起了軒然大波,因?yàn)樵趪?guó)內(nèi)還沒有一家傳統(tǒng)銀行核心系統(tǒng)數(shù)據(jù)庫升級(jí)選擇過國(guó)產(chǎn)數(shù)據(jù)庫,。
但此前張家港銀行的一個(gè)非核心系統(tǒng)使用過TDSQL數(shù)據(jù)庫,,表現(xiàn)也很穩(wěn)定,因此這個(gè)方案讓張家港銀行的領(lǐng)導(dǎo)有了些心動(dòng),。
開了10多次會(huì)進(jìn)行論證之后,,行領(lǐng)導(dǎo)最終拍板確定,這次銀行核心系統(tǒng)數(shù)據(jù)庫就選用TDSQL,。然而,,為了安全,這次核心系統(tǒng)數(shù)據(jù)庫替換采用賽馬機(jī)制進(jìn)行:
同時(shí)建造一套基于TDSQL數(shù)據(jù)庫的系統(tǒng)和一套基于Oracle數(shù)據(jù)庫的系統(tǒng),,二者互為備份,,到投產(chǎn)前再?zèng)Q定誰來成為主數(shù)據(jù)庫,。但是,無論是TDSQL還是 Oracle,,都要滿足一個(gè)硬指標(biāo):1500TPS,。也就是至少支持每秒1500次的交易。
”張家港銀行領(lǐng)導(dǎo)的這個(gè)決定讓我們?nèi)计鹆硕分?,能給我們一個(gè)突圍的機(jī)會(huì)就已經(jīng)很不容易了,,也讓我們有了更大的動(dòng)力來做這個(gè)事情?!癟DSQL高級(jí)工程師張文對(duì)雷鋒網(wǎng)表示到,。
至此,騰訊云數(shù)據(jù)庫團(tuán)隊(duì)期待的真正舞臺(tái)拉開了帷幕,。
5
掀開新的一頁
說到這兒,,我們不得不提長(zhǎng)亮科技。如果把TDSQL比作一塊磚的話,,騰訊云做的是提供”磚“的事情,,長(zhǎng)亮科技則負(fù)責(zé)把從騰訊云搬過來的”磚“砌到張家港銀行的服務(wù)器上。
2018年10月,,長(zhǎng)亮科技團(tuán)隊(duì)進(jìn)駐了張家港銀行的機(jī)房,,開始了第一次的測(cè)試。
當(dāng)將TDSQL數(shù)據(jù)庫灌入服務(wù)器,,機(jī)器點(diǎn)亮,,第一次測(cè)試開始,當(dāng)結(jié)果出現(xiàn)之后,,結(jié)果卻令現(xiàn)場(chǎng)的人大跌眼鏡:100TPS,,只有目標(biāo)成績(jī)的十五分之一。
當(dāng)遠(yuǎn)在深圳的張文聽到這個(gè)結(jié)果時(shí),,立馬感覺不可思議,。然而白紙黑字的結(jié)果就擺在那,既然你說不可能,,你來呀,!
張文第一時(shí)間從深圳出發(fā),他堅(jiān)信TDSQL絕對(duì)沒有問題,,只是個(gè)小問題,,兩三天肯定就解決了。
然而落地趕到張家港銀行之后,,自信的他,,身后也冒起了冷汗,再看到身后銀行領(lǐng)導(dǎo)的眼神,,壓力更大了,。
為了找到問題,,項(xiàng)目組工程師一條一條的SQL語句去測(cè)試,很快,,發(fā)現(xiàn)行里原有庫表設(shè)計(jì)有一個(gè)小問題,,只要略微調(diào)整一下,TPS 的表現(xiàn)就能瞬間回血一大格,。
時(shí)間也并非如張文所預(yù)估的兩三天,,經(jīng)過半個(gè)多月的優(yōu)化,,TDSQL性能直線突破了1500TPS,,張家港銀行領(lǐng)導(dǎo)的眼神也變得如往常一樣熱情。
就這樣,,搭載TDSQL數(shù)據(jù)庫的核心系統(tǒng)建好了,,為了保證系統(tǒng)穩(wěn)定性,項(xiàng)目組工程師又開始進(jìn)行兼容性測(cè)試,。
這里需要說清楚的是,,銀行核心系統(tǒng)就像大樹的樹干,基于這個(gè)樹干會(huì)長(zhǎng)出多個(gè)系統(tǒng)出來,,這也就意味著,,樹干必須要保證與樹枝之間兼容,而在張家港銀行,,基于核心系統(tǒng)”生長(zhǎng)“的系統(tǒng)有上千個(gè),。
為了保證與其他系統(tǒng)的兼容性,長(zhǎng)亮團(tuán)隊(duì)工程師選擇了500多個(gè)常用的交易系統(tǒng),,就這樣一步一步的測(cè)試,,所有人的心也都放了下來。
最終,,行領(lǐng)導(dǎo)決定:正式把TDSQL作為主數(shù)據(jù)庫,,Oracle數(shù)據(jù)庫作為備份。
監(jiān)管機(jī)構(gòu)也認(rèn)可的這個(gè)計(jì)劃,,上線時(shí)間也隨之被確定:2019年8月16號(hào),。
當(dāng)所有人都在盼望著最后一刻到來的時(shí)候,卻又發(fā)生了一件詭異的事情,。
”當(dāng)時(shí)他們采購了一批機(jī)器,,這批機(jī)器規(guī)格和我們測(cè)試環(huán)境一模一樣,但在實(shí)際測(cè)試時(shí)候發(fā)現(xiàn),,網(wǎng)絡(luò)I/O時(shí)快時(shí)慢,,你沒有請(qǐng)求時(shí)機(jī)器性能很低,如果給它壓力比較大,,性能就發(fā)揮得很好,,我們覺得很詭異,,與正常的反應(yīng)正相反?!皬埼幕貞浀?。
面對(duì)這個(gè)情況,不僅是身在張家港的工程師,,包括騰訊深圳本地的工程師都開始來幫忙定位這個(gè)問題,。甚至當(dāng)時(shí)還聯(lián)系了服務(wù)器廠家,然而廠家也沒能給出具體的解決方案,。
”越是危機(jī),,越需要冷靜。很快我們就發(fā)現(xiàn)服務(wù)器本身的接口其實(shí)很空閑,,那么時(shí)延很可能來自網(wǎng)絡(luò),。趕快抓包分析,問題被定位在了數(shù)據(jù)庫服務(wù)器網(wǎng)絡(luò)模塊上,。再細(xì)致定位,,問題出在網(wǎng)卡上?!?/p>
經(jīng)過大家的共同努力,,很快從一個(gè)國(guó)外論壇上找到了線索:戴爾服務(wù)器為了節(jié)能,會(huì)在極端高并發(fā)的時(shí)候,,自動(dòng)開啟網(wǎng)卡的省電模式,,問題隨之被解決。
坐在桌旁回憶起這段往事的張文,,至今仍心有余悸,。
”如果沒有找到問題的話,我們可能就需要用測(cè)試的機(jī)器來頂上了,,雖然這批機(jī)器被我們一年多的測(cè)試折磨得千瘡百孔,。但這并不是我們想要的方案?!?/p>
2019年8月15日23:31分,,張文發(fā)了一條朋友圈:
《張家港十二時(shí)辰》暑期巨獻(xiàn)!
激動(dòng)的心情溢于言表,,并配了下面這張圖,。
2019年8月16日21:00,星期五,,張家港銀行老的核心系統(tǒng)熄火,。
2019年8月18日18:00,星期日,,張家港銀行新的核心系統(tǒng)啟動(dòng),。
然而,,每個(gè)人的心依舊在懸著。
2019年8月19日10:00,,星期一,,張家港銀行交易量猛沖,達(dá)到峰值,,然后緩慢回落,。
成了,大廳里掌聲雷動(dòng),。
從這之后,,張家港銀行成了”旅游勝地“。嘉興銀行,、富邦華一銀行,、青海省聯(lián)社,、山東城商聯(lián)盟,、華通銀行紛紛派人來參觀取經(jīng)。
值得一提的是,,張家港銀行使用的TDSQL經(jīng)過優(yōu)化之后,,核心系統(tǒng)可以達(dá)到6200TPS。在性能方面,,高頻賬戶類交易耗時(shí)在300毫秒之內(nèi),,查詢類交易耗時(shí)在100毫秒之內(nèi),20秒內(nèi)可以完成1萬筆批量代發(fā)代扣業(yè)務(wù),,日終跑批耗時(shí)17分鐘,,存貸款結(jié)息耗時(shí)16分鐘,相比老核心日終批處理耗時(shí)60分鐘,、存貸款結(jié)息耗時(shí)180分鐘有著質(zhì)的變化,。
同時(shí),成本更是被極大優(yōu)化,。一個(gè)可以比對(duì)的數(shù)據(jù)是,,集中式數(shù)據(jù)庫綜合硬件成本估算在4000—5000萬,而張家港銀行的分布式TDSQL方案不到1000萬,,降低了近75%,。
而那個(gè)被用來作為備份的Oracle數(shù)據(jù)庫,最終沒被派上用場(chǎng),。
6
新的時(shí)代
就在張家港銀行核心系統(tǒng)上線之后,,咨詢TDSQL數(shù)據(jù)庫的銀行多了起來,就在張家港銀行項(xiàng)目結(jié)束之時(shí),,TDSQL的另一個(gè)團(tuán)隊(duì)正做的熱火朝天,。
平安銀行信用卡A+新核心系統(tǒng)數(shù)據(jù)庫選型也選擇了TDSQL,。而這次,更是一次業(yè)內(nèi)首次將銀行核心系統(tǒng)從傳統(tǒng)集中式大型機(jī)下移至國(guó)產(chǎn)分布式架構(gòu)平臺(tái)的嘗試,。
負(fù)責(zé)這個(gè)項(xiàng)目的同事是王輝,,他對(duì)雷鋒網(wǎng)表示到:”平安銀行的科技能力在全國(guó)都算是名列前茅,所以他們本身對(duì)合作對(duì)象的能力要求非常高,?!?/p>
在這個(gè)高要求下,系統(tǒng)開發(fā)的過程自然并不會(huì)一帆風(fēng)順,。
”平安那時(shí)候采購了兩批機(jī)型,,戴爾和聯(lián)想的,他們?cè)跍y(cè)試TDSQL的時(shí)候戴爾服務(wù)器延時(shí)偏大,,聯(lián)想偏小,,發(fā)現(xiàn)這個(gè)問題之后,他們還未查明原因,,就直接到我們項(xiàng)目會(huì)議室說你們產(chǎn)品有問題,,趕緊把誰給我叫過來看一下?!?/p>
當(dāng)時(shí),,平安的負(fù)責(zé)人很著急,王輝希望對(duì)方能夠把情況講清楚,,但對(duì)方卻認(rèn)為已經(jīng)沒有時(shí)間間去詳細(xì)溝通這個(gè)事情,,認(rèn)為產(chǎn)品存在性能問題。雙方緊張之下,,王輝只好到樓下買了一瓶飲料喝了下去,,轉(zhuǎn)了一圈才上去。
上樓之后,,首先跟對(duì)方先對(duì)了一個(gè)規(guī)矩:別著急,。
之后在騰訊同學(xué)的測(cè)試下,發(fā)現(xiàn)是兩批服務(wù)器的配置不一樣,。向行方提供了詳細(xì)測(cè)試報(bào)告后,,騰訊同學(xué)的專業(yè)折服了平安的負(fù)責(zé)人。
而這時(shí)候,,他們也有了一個(gè)約定,,等系統(tǒng)平穩(wěn)上線之后,要一起喝頓酒,。
而就在正式上線前最后一次版本升級(jí)過程中,,為了確保升級(jí)過程順利,騰訊云事先通知了升級(jí)期間應(yīng)用不能進(jìn)行壓力測(cè)試,但是這個(gè)通知被行方無意中疏忽了,,而在騰訊升級(jí)時(shí),,仍然做了壓力測(cè)試導(dǎo)致出現(xiàn)了一些問題。
第一時(shí)間,,平安銀行就通知了騰訊云認(rèn)為產(chǎn)品又有問題,,而5分鐘后,平安銀行則又通知不是騰訊云的問題,。在此之后,,為了讓客戶加強(qiáng)對(duì)產(chǎn)品的信心,雙方定下了一個(gè)”15分鐘原則“,,即問題發(fā)生后雙方各自檢查15分鐘,,再一起交流、溝通,。
雷峰網(wǎng):”這是不是一個(gè)由不信任到信任的過程,?“
王輝:”是的,雖然他們選擇了TDSQL,,但是開始并沒有太相信我們,,而我們不管是什么問題,都會(huì)幫助他們解決,,最終都滿足了他們的要求,。“
有著Oracle和AWS從業(yè)經(jīng)歷的王輝對(duì)雷鋒網(wǎng)表示到,,這樣的服務(wù)在與跨國(guó)公司的合作中根本體驗(yàn)不到,其中有以下3個(gè)原因:
第一,,語言障礙,,這是最大的問題;
第二,,國(guó)際化的企業(yè)很難為某個(gè)客戶定制,;
第三,整個(gè)服務(wù)流程和問題處理流程非常長(zhǎng),,它的時(shí)效很難滿足國(guó)內(nèi)個(gè)別客戶的要求,,尤其是金融要求,你要達(dá)到這個(gè)時(shí)效,,付出的費(fèi)用非常高,。
就這樣,在騰訊事無巨細(xì)的服務(wù)之下,。2020年10月31日凌晨5時(shí),,平安銀行信用卡A+新核心系統(tǒng)成功上線,其新系統(tǒng)能保障10億級(jí)交易賬戶,,并可實(shí)現(xiàn)10億級(jí)的海量日交易量,,真正為平安集團(tuán)接下來的”雙11“大戰(zhàn)構(gòu)建出銅墻鐵壁,。
”上線前的頭兩周和上線之后的后兩周,我們是24小時(shí)響應(yīng)的,,投產(chǎn)的那三天我們是24小時(shí)大概有6個(gè)人在現(xiàn)場(chǎng),。“王輝回憶到,。
在他看來,,給客戶的感覺就應(yīng)該是產(chǎn)研包括騰訊云團(tuán)隊(duì)都在全程保駕護(hù)航。
也就在對(duì)話結(jié)束之后,,王輝和張文便匆忙趕往機(jī)場(chǎng),,去為另一個(gè)客戶提供技術(shù)服務(wù)。
7
一條正確的路
”我是2003年加入的騰訊,,在這個(gè)過程中我們整個(gè)數(shù)據(jù)庫團(tuán)隊(duì)到目前為止,,主創(chuàng)團(tuán)隊(duì)所有成員幾乎都還在,團(tuán)隊(duì)超級(jí)穩(wěn)定,,我們昨天晚上和微眾銀行一個(gè)合作很深的部門年度聚餐,,連著六年聚餐,發(fā)現(xiàn)都還是那些人,?!袄罹V回憶到。
2017年騰訊云TDSQL團(tuán)隊(duì)滿十年工齡員工合影
”我們過去十多年基本上沒有走偏過,,這也是能夠讓我們團(tuán)隊(duì)始終保持穩(wěn)定非常重要的原因,。“潘安群也如是說到,。
穩(wěn)定的團(tuán)隊(duì),,吸引了更多的數(shù)據(jù)庫人才不斷加入這個(gè)團(tuán)隊(duì)。加之公司持續(xù)不斷地進(jìn)行投入,,則讓這個(gè)團(tuán)隊(duì)在每一個(gè)方向點(diǎn)選擇上的堅(jiān)定一致,。
”數(shù)據(jù)庫的正朝著云原生、超融合,、國(guó)產(chǎn)化這三個(gè)方向進(jìn)行發(fā)展,。“
2020年12月24日,,騰訊云正式宣布數(shù)據(jù)庫品牌TDSQL全新升級(jí),,李綱在舞臺(tái)上如是說到。
原有的TDSQL,、TBase,、CynosDB三大產(chǎn)品線統(tǒng)一升級(jí)為”騰訊云企業(yè)級(jí)分布式數(shù)據(jù)庫TDSQL“,升級(jí)后的騰訊云TDSQL將涵蓋分布式、分析型,、云原生等多引擎融合的完整數(shù)據(jù)庫產(chǎn)品體系,。
”我們更希望客戶、包括行業(yè)對(duì)騰訊云數(shù)據(jù)庫體系能有一個(gè)更清晰的認(rèn)知,?!袄罹V表示。
根據(jù)他回憶,,因?yàn)槿齻€(gè)數(shù)據(jù)庫名稱和自身特點(diǎn)本身就沒有吻合的匹配度,,甚至有不少客戶會(huì)產(chǎn)生”該選用哪個(gè)數(shù)據(jù)庫“的困惑。
同樣在他們看來,,未來超融合技術(shù)體系還會(huì)解決多引擎共存下對(duì)云數(shù)據(jù)庫的開發(fā)與應(yīng)用選擇帶來的挑戰(zhàn),,TDSQL也將通過AI智能調(diào)度,以及Serverless等方案,,來實(shí)現(xiàn)多引擎的統(tǒng)一標(biāo)準(zhǔn)化服務(wù),,讓用戶能夠快速實(shí)現(xiàn)研發(fā)及服務(wù)的全鏈路打通,而無需關(guān)心技術(shù)細(xì)節(jié),。
回望TDSQL這段從開源到適配,,從適配到自研的歷程,騰訊云將每一次經(jīng)由業(yè)務(wù)適配考驗(yàn)后的思考,、經(jīng)驗(yàn)都化作數(shù)據(jù)庫服務(wù)的”活水“,,灌溉自身業(yè)務(wù)的同時(shí)也灌溉了行業(yè)、開發(fā)者社區(qū),。
從企業(yè)內(nèi)部走向產(chǎn)業(yè)市場(chǎng),,歷經(jīng)金融、政務(wù),、教育,、文旅、工業(yè),、醫(yī)療、交通等多個(gè)場(chǎng)景的TDSQL,,已經(jīng)從產(chǎn)品化,、技術(shù)成熟度、實(shí)際行業(yè)場(chǎng)景打磨的成長(zhǎng)階段,,走向了推動(dòng)國(guó)產(chǎn)化數(shù)據(jù)庫良性發(fā)展的階段,。
事實(shí)證明,TDSQL走的這條路是一條國(guó)產(chǎn)數(shù)據(jù)庫可以走得通的路,。
必須承認(rèn)的是,,與國(guó)際上通用的商業(yè)數(shù)據(jù)庫產(chǎn)品相比,國(guó)產(chǎn)數(shù)據(jù)庫還有不小的差距。但通過國(guó)內(nèi)數(shù)據(jù)庫企業(yè)不斷的”自我博弈“,,這樣的差距必然會(huì)越來越小,,甚至在云時(shí)代實(shí)現(xiàn)超越。