“你们不懂银行。”
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,作者 | 张帅)