" 你們不懂銀行。"
2014 年,騰訊雲數據庫第一次走出騰訊之外,試圖敲定一個關系不那麽遠的客戶——微衆銀行,微衆銀行 CTO 看着眼前這套完全基于互聯網的分布式架構方案,兩個小時後,雙方誰也沒說服誰,留給騰訊雲數據庫的隻有這麽一句話。
時過境遷,如今國産數據庫進入到越來越多的核心場景,集中式、分布式已經不再是問題,問題是是誰能更好地接住大規模替代需求,在 Oracle 和 IBM DB2 等西方數據庫生态的圍牆之外,新的高塔聳立入雲。
3 月 30 日,據數據庫領域權威測評機構國際事務處理性能委員會(TPC,Transaction Processing Performance Council)官網披露,騰訊雲數據庫 TDSQL 順利通過 TPC-C 基準測試,性能達到每分鍾 8.14 億筆交易(tpmC)。
TPC-C 基礎測試榜單有數據庫 " 奧林匹克 " 之稱,此前,OceanBase 分别在 2019、2020 年兩次打榜成功,更早之前,TPC-C 基準測試榜單都是海外數據庫廠商如 Oracle、IBM 的名字。
TDSQL 實現了每分鍾 8.14 億筆交易(tpmC)的成績,相比過去的 7.07 億的 tpmC 有不小的提升,并且在成本上,單位成本合 1.27 元 /tpmC,隻有過去的三分之一。
" 必須要去打一次榜 "
" 我們認爲,國産數據庫走到一定階段之後,必須要去打一次榜。不過打榜不是我們的核心目的,而是對 TDSQL 産品能力和過去 15 年在數據庫發展過程中的階段性總結。目前,TDSQL 在應用場景上已經有了非常深厚的技術積累,産品能力和性能都達到了階段性突破,并在一些大型銀行核心系統中穩定運行。基于此,今年 TDSQL 團隊花費了兩個月的時間去參加打榜,期望借助權威的 TPC-C 測試審計對産品做一次全面的驗證。" 騰訊雲數據庫技術負責人潘安群表示。
以騰訊雲數據庫 TDSQL 爲例,其發展可以分爲三個階段:
1、支撐騰訊集團自身的業務,比如 Q 币充值和消費等;
2、TDSQL Inside,随着騰訊雲的發展,給各行各業的産業互聯網服務;
3、攻堅金融标杆,金融行業是數據庫領域裏最難的場景。
第一個階段,騰訊的海量業務如騰訊廣告、騰訊視頻等業務,需要高可用性、海量并發的數據庫,對數據庫的彈性伸縮要求很高。騰訊雲數據庫在這一階段主要做到數據不能有錯,同時支持海量的并發,騰訊自身的業務決定了 TDSQL 的發展。
" 零幾年的時候,DBA 是最苦惱的,因爲需要不斷擴容才能夠滿足業務,而用戶一上來,整個系統又被沖垮,需要不斷地處理,每天晚上都在做擴容,當時真的是血與淚的經曆 ",潘安群表示。
第二個階段,2009 年之後,騰訊雲開始對外提供服務,如前所述微衆銀行的金融場景,還有數字廣東等政務場景。此外,第七次人口普查、騰訊會議等需要大量複雜數據查詢、分析、儲存的能力,騰訊雲數據庫系統變得越來越複雜,業務場景變廣,系統要求也變得更高。
第三個階段,金融領域被視爲數據庫應用的标杆場景,如果一家數據庫能夠在金融場景立住,基本上就可以勝任大部分的業務場景。因此,銀行核心系統等數據庫的替換,也是國産數據庫最難啃下的一塊骨頭。
挑戰越大,意味着收益越大,國産數據庫一般是從周邊業務、創新業務入手,從小銀行到大銀行逐步遞進,一邊積累經驗,一邊打下标杆。盡管騰訊雲數據庫 TDSQL 在微衆銀行得到證明,但想赢得傳統銀行的信任還需要更多的案例、更多的時間。
" 他們認爲,互聯網銀行和傳統銀行不一樣,無論是架構的複雜度,還是業務的複雜度,雖然有微衆銀行的案例打底,他們依然對我們的數據庫缺乏信心。張家港農商行是我們做的第一個标杆,他們是國内第一家敢吃‘螃蟹’的人,幾乎把銀行科技線所有人的職業生涯,都押在我們 TDSQL 身上。" 潘安群說道。
張家港農商行是騰訊雲數據庫 TDSQL 在國内第一個完成傳統銀行數據庫國産化的案例。此後,TDSQL 持續深入金融核心,打造标杆産品,騰訊雲逐漸在金融場景,目前已服務了國内排行前十銀行中的七家,助力 20 餘家金融機構完成了核心系統替換,這一個不斷交互、不斷打磨、不斷信任的過程。
TDSQL 産品第一階段主要解決強一緻、高可用、彈性伸縮;第二階段加上了高性能、低成本、産品化;第三階段更多是在可用性、一緻性等方面有了更高要求。
目前,可以理解爲 TDSQL 的第四階段。" 從政策推動和國家戰略來說,大規模複制已經開始了。" 騰訊雲數據庫總經理王義成表示。
王義成坦率地表示,過去騰訊雲數據庫在跟一些友商在項目上 POC、壓測過程中,其實有很多性能都遠超出客戶的要求,對于這些成果我們也期望能通過更權威的評測機構來做一次證明。
言而總之,騰訊雲 TDSQL 希望借這次打榜,傳遞出自己的技術先進性,更希望能夠在金融客戶中實現規模複制,如何在客戶場景做傳統數據庫的兼容,國産化的快速替換,進而提升産品和運維的易用性,都是未來 TDSQL 的方向。
如何 " 打榜 "?
TPC-C 是 OLTP 數據庫性能測試唯一的國際權威榜單,整個過程模拟電商交易系統,核心有兩個指标,第一是每分鍾能夠處理的事務數 tpmC,第二是性價比,通常依靠硬件的冗餘,數據庫可以做到更高的性能,但客戶要看現實的性價比,不可能無限堆硬件,硬件成本、軟件成本、服務成本平攤之後的單位性價比,就很有參考意義。
測試主要分爲四部分,一是 8 小時的滿壓力測試,要求整個系統處在穩定的狀态,能夠避免數據庫爲了打榜故意短時間拉高性能指标,8 小時足以看出數據庫的性能。此外,TPC-C 要求性能标準規範要求波動率在 2% 以内,騰訊雲 TDSQL 做到了 0.2% 以内。
二是故障容災測試。在滿載測試期間,模拟各種硬件的故障,比如審計員随機選擇機器斷電,要保證數據不丢失,觀察系統在無任何人工幹預下,請求量多久能完全恢複并且快速恢複到 8.14 億 tpmC 的極值。從實際測試結果來看,TDSQL 在 18 秒就完成 HA 切換,對于大盤整體影響微乎其微。
後兩個測試是 ACID 測試,即數據庫的四大特性:Atomicity 原子性、Consistency 一緻性、Isolation 隔離性、Durablilty 耐久性,以及最後的 50%、80% 壓力測試,這兩部分的難度,相比前兩部分較小。
從開始測試到測試完成,騰訊雲數據庫 TDSQL 用了兩個月的時間,整個過程大概分爲三個階段。首先,把單機性能做到極緻;其次,轉到分布式水平擴展,讓數據庫性能随機器數量線性增長;最後,利用 1650 台物理機和 1000 台虛拟機進行了 8 小時的壓力測試,确保系統穩定無故障,對數據庫的内存管理、鎖的機制、網絡模型、複制模型都進行了大量優化。
TPC-C 的榜首位置已經許久沒有變化,在 OceanBase 之前,前二紀錄由 Oracle 和 IBM 保持,分别是 2011 年和 2010 的記錄。
行業觀點認爲,采用集中式架構的傳統數據庫,性能無法達到目前的水準,分布式數據庫系統的擴展性要足夠好,才能解決傳統 IOE 集中式架構擴展性不足的問題。
而且從成本角度考量,不是每個數據庫廠商都願意投入如此多的人力、時間和硬件資源成本。這些也是國外廠商沒有持續打榜的因素之一。
王義成介紹,TPC-C 的榜單提供了相對公平的測試環境,當我們關注總榜的情況下也需要看單位成本。此次 TDSQL 創造的紀錄是每分鍾 8.14 億的交易量,對于這個量級,打個比方來說,目前銀行最大的業務系統峰值可能就是 20 億筆的交易(當天),20 億筆的峰值平均在 4-5 個小時内完成,每分鍾處理的交易量遠遠低于 8.14 億。因此,8.14 億的這個性能指标足以支撐全國所有核心系統的性能要求。
" 雖然未來榜單的成績遲早會被超越,但實現單價(price/tpmC)1.27 元人民币是很有挑戰的。" 他說。
騰訊雲數據庫的行業策略
國産數據庫正在迎來最好的時代,從技術更替維度,亦或是産業環境維度,都是如此。
于技術維度,雲計算開辟了一條新的賽道,沿着 Oracle 的車轍,其他數據庫廠商很難越過經驗和生态築就的高牆,不論在國内和國外,AWS、騰訊雲等雲廠商,都走上了雲數據庫這條賽道。
于産業環境維度,國内第一批數據庫興起于 21 世紀初的 " 核高基 " 等政策,完成了從無到有的過程,而在近年來波詭雲翳的技術脫鈎潮流之下,數據庫作爲現代企業的核心軟件,也迎來政策的又一波加持。
MySQL,PostgreSQL,MongoDB,Redis 和 Neo4j,關系型或者非關系型,所有數據庫都是時代的産物,每代數據庫都有自己的長征,而現在,到了國産數據庫攻堅的關鍵時期。
王義成表示,騰訊雲的策略是内部先全面做好金融場景的整體複制,廣泛規模複制瞄準幾個子賽道,銀行、資管、保險。
" 打标杆可以投入不少人‘死磕’,但真正到了複制階段,就要拼誰的業務質量更高,誰的效率更高,2022 年下半年,我們已經開始大量投入關于精細化運營質量的打磨、升級的方案,并且在金融行業已經起到了初步複制效果,在能源、交通等行業賽道,正在做标杆案例的突破。" 他表示。
王義成介紹,從行業傳導來看,2021-2022 年,國有大行基本已經完成技術選型,現在 12 家股份制加 6 家國有大行和 3 家政策性銀行,大多數都做了整體框架的選擇。騰訊在大行和股份制銀行裏數量相對占優,但大行和股份制銀行在選型時一般并不會隻選一家。
城商行和農商行體系大多數并沒有完成選型的替換,今年騰訊雲大批量複制的重點就是城商行和農商行,依靠大行的成熟案例和 ISV 的配合,争取在城商行和農商行領域實現全面覆蓋。
一個銀行的核心系統至少十年以上才會做更新換代,如果不在這個周期内,該行的預算和更換動力就不會特别充足。
保險領域和銀行稍有不同,銀行更看重産品穩定性、産品精細化運營等能力,保險領域的國産化替換并不換核心業務系統,隻是更換數據庫。大多數保險公司看重和 Oracle 的兼容性,騰訊雲的策略是把 Oracle 兼容性的能力做得更豐富,圍繞數據遷移體系、Oracle 評估體系,來切保險的市場。
金融資管賽道和保險、銀行不太一樣,重 Oracle 兼容性的同時又很重 ISV,騰訊雲在資管行業會在 ISV 的培訓中做更多投入,在相關子賽道做前續适配。其它托管的行業賽道主要還是以打标杆爲主。
" 就複制而言,金融行業是一個可以更好地進行批量複制的行業,對于行業 know-how,我們還在學習階段,等看到行業有複制機會的點來投入,做客戶攻堅。" 王義成說。
(本文首發钛媒體 APP,作者 | 張帥)
更多精彩内容,關注钛媒體微信号(ID:taimeiti),或者下載钛媒體 App