爲什麼是TDSQL?

在雙11的火熱聲浪中,一則來自金融企業的重要新聞顯然被忽視了。

11月2日,一家中等規模的券商——東吳證券宣佈,發佈中國金融行業首個全面自主創新的核心交易系統。

這似乎是對前一段時間被討論的,證券行業是否面臨“卡脖子”問題的一次很好的迴應。

我稱之爲“重要新聞”,自然是有原因的。因爲新聞稿雖然簡短,但有三個定語非常值得品味:

——中國證券行業首個全面自主創新核心交易系統;

——率先實現了全國產技術支撐核心交易系統全棧上線、全業務覆蓋和全客戶遷移;

——中國金融行業首個由國產數據庫全量承載券商全量核心交易的應用案例;

其中,對於騰訊雲數據庫TDSQL來說,最重要的是“全量”兩個字。

這是因爲,此前雖然TDSQL已助力超過30家金融機構完成核心繫統數據庫替換,位居行業第一,但證券行業“全量”可能還是首次。

全量,就是全面押上、充分信賴、不留後路。

那麼,爲什麼是TDSQL?

——筆者按

01

要交保證金的“戀愛”

東吳證券用上全國產系統+全量國產數據庫的消息,顯示出中國企業在國產替代道路上的進步,超出我們的想象,以至於我們有點熟視無睹了。

在非常長的一段時間裡,IBM、Oracle和EMC(存儲企業)所提供的小型機、數據庫、磁盤陣列,就是金融企業根本無須考慮的默認選擇。

儘管它們非常非常的昂貴,甚至貴的沒有道理,依然被一衆金融機構追捧。

貴到什麼程度呢?我在csdn上翻出一篇老帖子,裡面對用2臺小型機+EMC存儲+oracle軟件許可證的價格算了一筆賬,是860萬元(2015年價格)。

而且這裡面的許可證只能允許你用20個CPU,相當於每個CPU的價格是12萬元。

而如果換用當時的x86服務器+開源數據庫呢?一共要投入12臺數據庫服務器和4臺應用服務器,全部按頂配算,一共是180萬元。

860:180,對比一下你就會發現,其實用x86機器和小型機,單純從硬件、存儲的角度來算,價格差的並不太大,真正貴的就是oracle數據庫的應用授權,動輒就是幾百萬、幾千萬。

而且這還是個開始,如果在使用中出現問題,你要請oracle的技術人員來解決、維護,這也很貴;哪怕將來你要撤出,特別是你要提前撤,不好意思,還要交一筆分手費。

而且,這個分手費還是預存的……對,沒聽錯,你用人家的數據庫,不但你不是“上帝”,還要爲可能的提前“分手”繳納高昂的保證金。

這就好比你買了一輛車,硬件不貴,但車機系統很貴,而且你還要預繳3年的“車機使用費”,如果你提前更換車機系統,之前交的費就扣除不退了。

這種聽起來天方夜譚一樣的事情,就天天發生在中國的金融機構、大型企業裡。

而且,這不是5年、10年前的事兒,是當下仍然在發生的事情——2020年,據數據統計,以Oracle爲代表的國外廠商仍佔據我國數據庫市場80%以上份額,國內廠商僅佔20%。

但是,注意這個“但是”,從2020年到2023年的3年裡,國內數據庫廠商已經從Oracle等企業裡“奪回”了27.4%的市場份額,加上之前的20%,使得中國數據庫市場的佔有率基本成了5:5。

看到這個趨勢,我們可以相信,再過3年,這個比例可能變成8:2;再過5-8年,中國數據庫就可能“全量替換”國外的高端數據庫,特別是在金融這種oracle的傳統重點行業裡。

這是很多企業共同努力的結果,但我們今天只剖析一個企業的產品,也就是騰訊的TDSQL分佈式數據庫。

也不是作者偏愛騰訊,只是因爲,騰訊的TDSQL是目前中國金融行業裡,替換案例最多、成功率最高、影響力最大的,已經替30家國內的金融機構替換或部分替換了核心數據庫。

02

TDSQL的前世今生

就是那個做了QQ、微信還有一大堆手遊的騰訊,就是那個你每天都要打交道的騰訊。

聽起來的感覺,就像是一個做跑車的企業,做了一臺火星車,雖然都是各自領域裡的頂級產品,但完全不是一個技術體系的。

沒錯,這也是中國特色,現在中國產業互聯網裡面能打的,除了華爲之外,大部分都是做toC業務出身的,比如騰訊、阿里、百度。

相反那些20年前就耕耘企業級市場的,現在依舊話語權不大。

這個現象,其實也不是中國獨有。比如美國現在排名靠前的產業互聯網技術企業中,很能打的亞馬遜、谷歌,也都是toC起家的。

要解釋這個現象,我覺得有三個原因:

1.捨得投入。這些科技公司有足夠的資源投入產業互聯網技術的研發。當然,這不是一個主要原因,因爲那些toB的企業,更有錢;

2.有場景、有痛點。騰訊這些企業,最不缺的就是應用各種先進產業互聯網技術的場景和痛點,它們構成了很重要的成功要素;

3.規模帶來的成本訴求:前述的小型機、企業級數據庫等,它們在設計之初基本都沒有考慮到要應對10億量級的網民的這個問題,它們的優化方向是以高可靠性爲訴求的,而不是以超高併發爲主要訴求的。

所以,如果中國這個網民量級在全球獨一檔的國家的主流互聯網平臺,還用IOE來滿足高併發需求的話,不是做不到,而是成本會高到吃掉所有的利潤。

所以,說白了還是被降本增效給逼出來的。

騰訊這樣的企業,對數據庫的需求,簡單說就是,對於絕對的穩定性要求沒有那麼高,但對於應對高併發、海量吞吐的要求很高,這是其業務特性決定的。

於是,騰訊開始了自研數據庫的道路,而據考證,最早的自研數據庫,應用在騰訊Q幣的計費系統中,而最早的版本採用了開源的MYSQL數據庫這個技術棧。

當時,這個計費系統有時會宕機,主要的原因就是雲計算還沒有普及,而當時的騰訊,對高性能吞吐、分佈式水平擴展、分佈式KV存儲等等也沒有太多的技術積累。

這也代表了騰訊這樣的從C端業務起家的中國互聯網企業的典型場景——早期技術實力不夠雄厚、代碼質量不高、牛人很少,但場景豐富、用戶數量驚人,因此對系統的彈性和成本十分在意。

這也決定了,騰訊自研數據庫,開局就直奔分佈式而去,因爲分佈式系統的特點是小錯時常有,但韌性好、成本低。而且彌補錯誤的成本也較低、社會影響也比較小。在這種情況下,互聯網企業可以用便宜的X86服務器,放心的使用分佈式系統。

這樣發展了很多年,騰訊突然想到了一個問題——既然這數據庫我用了這麼多年,打磨的也算是固若金湯了,我幹嘛不拿去賣給那些被“IOE稅”困擾的企業啊?

可是出去一打聽,真的沒有金融企業敢用——金融企業素來嚴謹,要引入一個新技術,首先就是要靠案例說話。

可騰訊總不能拿着管理Q幣的數據庫去說服管理人民幣的數據庫的使用者吧,就這樣轉了一圈,騰訊眼前一亮——咱們不是有個微衆銀行麼?

可是去了微衆銀行,最開始的接觸並不太順利。

一個騰訊數據庫的早期開發員工告訴筆者,當時雙方爭論的是,微衆銀行堅持既然採用了分佈式數據庫,就要把服務器分佈到足夠多的小集羣裡,而TDSQL的研發人員則認爲,分佈是可以的,但沒有必要拆分那麼多的小集羣。

這引起了騰訊TDSQL開發人員的注意,他們仔細研究了微衆銀行的需求後發現——不是我們的TDSQL不給力,也不是我們技術上做不到,而是我們根本忽視了用戶的需求,我們沒有從內心認同金融機構對於可靠性的極度追求,反而試圖從純技術的角度來說服對方。

於是他們調整了思路,按照微衆銀行的要求進行了調整,最後爭取到了這個項目。

“這也是我們toB業務在走向廣闊市場前上的重要一課,那就是用戶需求導向”,這位老騰訊告訴筆者。

然而,隨着騰訊TDSQL走向更廣闊的市場,他們意識到,應該增強更多的品牌背書,也應該從更具有廣泛說服力的第三方測試中,測試一下TDSQL的公允性能。

所以這個結果論證出來後,TDSQL就決定,去通關國際事務處理性能委員會(TPC)的TPC-C測試。

簡單說,這個機構就是評價數據庫在聯網狀態下處理能力的終極機構,而騰訊考試的結果,通俗一點說就是——讓14億中國人中的六成人,從早上8點起開始,以每分鐘下一個訂單的速度,一直下單持續到17點下班,而且中間還經歷了若干次兩次隨機物理機器斷電和一次雲服務的故障模擬,最終性能波動率爲0.2%,僅爲要求的十分之一——這也說明了,騰訊自研的分佈式架構的TDSQL數據庫,在穩定性上甚至超過了基於集中式系統制定的測試基準,這成爲分佈式雲數據庫發展史上的一個里程碑,也是騰訊TDSQL至今保持的一項世界紀錄。

03

全量的份量

從最開始的在張家港農商行的核心繫統中得到一次難能可貴的應用機會開始,2020年後的TDSQL憑藉一個個的紮實案例,在金融行業裡迅速推廣。

例如,2022年5月,中國銀行的億級數據,一次性下移至依託騰訊雲等國產廠商核心技術自主打造的分佈式平臺上。這是中國銀行首次實現通過基於自主可控基礎軟硬件構建的技術平臺承載核心業務流量。

此前的2021年,農業銀行也引入了TDSQL作爲核心系統數據庫,所涉及的個人負債、信用卡、對公存款等多個核心模塊已於2022年上半年投產,所承載的並行驗證環境每日交易量約5.8億筆,峰值TPS約11000。

在證券領域,2022年3月7日,騰訊雲數據庫TDSQL已在國信證券業務系統中成功落地,新系統承載了國信證券的OTC交易櫃檯系統、反洗錢系統和HR人力管理系統等。上線運行以來,承載了單日億元級別的交易規模,尤其在開市、收盤等流量高峰期,依舊能保障數據平穩運行。

那麼,在這樣一些輝煌的記錄產生後,我們爲什麼還要着重解析東吳證券這個案例呢?

在筆者看來,有這樣幾個原因。

首先,是“全量替換”的含金量。

在TDSQL此前服務的證券案例中,絕大多數的企業都是若干個子系統中逐步嘗試TDSQL。

當然,東吳證券也是逐步接納TDSQL,也有一個小步快跑的過程,但終究“轉正”很快,而且爲騰訊輸出了一個“全量替換”的案例,這是國產數據庫的一次重大勝利。

其次,或者說更重要的是,騰訊TDSQL證明了,分佈式系統的優勢不僅僅是成本上的、自主替換或說自主可控上的,而是其架構有助於用戶的創新需求,這也是一個新的價值點。

東吳證券信息技術總部副總經理莊頡告訴筆者,此前的系統限制了東吳證券的創新,因爲“舊的系統垂直擴展還可以,橫向拓展的能力較差“。

莊頡非常看好分佈式數據庫的潛力,他明確的提出——使用分佈式(數據庫),是目前證券行業發展的一個必然的趨勢,這個其實是跟證券公司的業務形態是有關係的,多元化發展是必然的趨勢。他說:“一套系統打天下的時代過去了,分佈式系統可拆分的特性能夠快速滿足創新的需求,這種優勢不僅僅是技術上的,還有架構上的潛力”。

最後,也是很重要的是,這次騰訊是和東吳證券的技術供應商——頂點軟件一起合作的,這意味騰訊雲在服務客戶的能力上日益多元化,更爲適應不同行業的發展規律,從“包打天下”變成了“夥伴成功”,體現了騰訊雲toB的商業能力的成熟。

曾經有很多早期的騰訊合作伙伴告訴筆者,騰訊雲的商務風格早期比較強勢,喜歡“包辦”,但逐漸適應了與多個主體合作,這爲騰訊推開不同行業的大門,無意中獲益甚多。

而從結果導向來看,基於騰訊雲數據庫與系統開發商頂點軟件的協同優化,東吳證券新系統整體併發處理能力相較之前提升10倍,單節點業務併發量提升到至少每秒10萬筆,交易平均延遲也從原有10毫秒提升至1毫秒以內,並能夠支持千萬級交易委託。系統上線後,數據庫負載在高峰期保持在 10%以下,能夠有效滿足東吳證券未來三到五年的業務增長需求。

這或許也是騰訊TDSQL的一種進步,哪怕它掩映在合作伙伴的光環下。

結語:爲什麼是騰訊TDSQL?

“沒有在金融行業歷練過的數據庫,不算合格的數據庫。”

這句在數據庫行業流行的名言,背後是一個公認的行業共識:金融行業龐大的數據量,對數據庫穩定性、一致性、可用性的高要求,是考驗一款數據庫是否合格的標準。

但騰訊TDSQL的成功,有金融行業實踐打磨的部分,但應該從更大的視角來看:

首先,這就是一個屬於自主創新者的時代,騰訊順應了時代的潮流,也因此吃到了時代的紅利。

特別是近年來,自主可控已經成爲科技領域最重要、最緊迫的戰略。數據庫作爲核心基礎軟件之一,在過去幾十年中,卻被國外傳統數據庫長期壟斷,這就帶來了極高的技術成本和潛在的企業安全風險。

在這種背景下,國產化已經上升到國家戰略層面,國產創新已經上升到了安全層面,而騰訊提前佈局,終於有所收穫。而且,這還僅僅是一個開始。

其次,從架構上,TDSQL和背後的騰訊雲,從真實的業務需求出發,從無到有、篳路藍縷的開創,逐步創造了基於雲原生的開放、多元、創新的格局,從技術上解放了生產力,突破了傳統集中式技術架構難以接耦的難題,在雲時代的高併發、大數據、融合計算等領域場景下,爲中國千行百業打破邊界和侷限進行企業業務創新,貢獻了自己的力量。

最後,隨着大模型時代的到來,雲計算成爲AI賦能的決定性通路和載體,隨着ABC合流(AI+Big Data+Cloud)的真正到來,分佈式數據庫也將和AI能力充分結合創新,從而開創一個前所未有的紀元,而騰訊將在這個紀元中,爲中國成爲世界級數字技術的創新策源地,貢獻自己的力量。