首页>>新闻资讯>>云计算

如何看待腾讯云数据库TDSQL在TPC-C测试中打破世界记录?

2024-07-26 18:04:55 20

数据库厂商跑TPC-C就像处理器厂商要跑SPEC一样,属于是骡子是马,拉出来溜溜的基准测试,也是业界公认的测试标准。不能说腾讯云数据库TDSQL拿了TPC-C第一就是全面领先了,榜单是不断更新的,只能说暂居第一。比第一更有意义的是应用,更多的商业用户都能看到真实水平,这其实也是厂商TPC-C打榜的重要原因之一。

在2010年之前TPC-C的榜单是Oracle和DB2两强争霸,这两年先是蚂蚁金服的Ocenbase夺冠,现在是腾讯云的TDSQL刷新第一,其实,不管是Oracle还是DB2,是OcenBase还是TDSQL,拿下第一都是值得恭喜的,因为TPC-C真的不是随随便便谁都能拿下的。

要了解拿下TPC-C有什么意义,我们需要先知道TPC-C是什么?腾讯云的TDSQL又是什么?

不服跑个分,TPC-C是什么?

TPC全称是Transaction Processing Performance Council,国际事务处理性能委员会,这是个权威的国际组织,早期的会员主要是美、日、欧的企业,后来随着中国企业的发展不断有中国的企业加入。

TPC会制定商务应用基准程序(Benchmark)的标准规范并管理测试结果的发布,任何测试者都可以根据规范搭建自己的测试平台和测试程序。测试完成后需要向TCP提交一套完整的报告,必须由TPC授权审核员核实,这样才能被官方承认,厂商才能拿来宣传。

这是有严格规定的,2009年的时候TPC就谴责了Oracle违反TPC的合理使用规定于DB2竞争,所以大家千万不要认为厂商可以随便拿来吹。

TPC推出了很多针对不同类型数据库的基准测试标准,其中TPC-C就是针对在线事务处理OLTP的基准,该标准主要针对事务型数据库。

腾讯云的TDSQL数据库是什么?和Oracle有什么区别?

可能有人会问,什么是事务型数据库,什么是分析型数据库?这里要简单说一下数据库的分类,方便大家理解。

一般来说数据库分为关系型和非关系型,关系型数据库分为:

事务型数据库(OLTP),主要用于处理电商购物、银行交易等,都是由事务驱动的;分析型数据库(OLAP),善于处理复杂的分析,提供直观易懂的查询结果,主要用于数据仓库,报表统计等;混合型数据库(HTAP),就是事务型数据库与分析型数据库的混合体;

腾讯云的TDSQL根据不同的场景也有不同类型的数据库,如下图所示:

TPC-C就是测试事务型数据库(OLTP)的基准测试,TPC-C的测试结果代表的是TDSQL在高性能交易场景中的实力。

TDSQL与传统数据库的区别是什么?

如果我们处理的数据有几十条、几百条,数据也不多,使用Excel就可以处理了,简单又方便;如果数据比较多,比如有100万条数据,那显然Excel就处理不过来了,这就需要数据库;如果数据每天都增加100万条,时间长了怎么处理?最简单的方法就是增加CPU、内存、硬盘等,增强机器性能自然就处理的过来,这就是常说的scale-up(纵向扩展);除此之外还有另一种方法就是把数据分散到不同的计算机上,这些计算机通过网络互相连接,共同组成一个完整的分布式数据库,也就是TDSQL采用的这种方式,通常被称作scale-out(横向扩展)。

TPC-C测试很难,TDSQL做的很好

TPC-C测试拿第一难吗?难,之前OceanBase登顶后,创始人阳振坤谈过TPC-C的难处,这里也简单说下:

事务符合ACID;TPC-C规定被测数据库的性能与数据量成正比;要求被测数据库能以平稳的性能长期运行;被测数据库的写事务的结果必须在一定时间内数据落盘。

在测试运行过程中还要求系统具备60天、每天压测8小时的存储容量,每天压测8小时,这必须考虑机器故障率的问题,TDSQL软件需充分优化做好容错,且数据库需具备非常好的线性扩展性。

显然腾讯云TDSQL做到,而且做的更好,才取得了总tpmc(transaction per min)8.14亿的优秀成绩。

性能稳定性:8小时测试,性能波动范围保持在0.2%以内。保障超过8600亿总事务、4万亿订单零出错。单机性能:单节点支持180万QPS,不能有毛刺。分布式集群:支持前端并发用户连接6.4亿,机器数达1650台,分布式事务15%。高压下的破坏性测试:8亿 tpmc 高压下,各种故障模拟,保障数据零丢失,满足数据一致性、隔离性要求;主备apply延迟需保持在10秒以内

比TPC-C更重要的是商用落地

打榜TPC-C是为了争第一?个人觉得倒不止如此,因为TPC-C的权威性,所以数据库厂商会拿来做商业宣传,不符合规定的宣传还会被通告,比如我们在前面提到的Oracle和DB2的例子。

对于客户来说,8.14亿tpmC很厉害,1.27元/tpmC同样很厉害,这意味着普通机器也能跑出高性能。怎么做到的呢?我们查看下腾讯云此次TPC-C报告会发现此次使用的是腾讯云的虚拟机S5.24XLARGE288 以及腾讯云数据库独享集群HYI12A 。这也最终让TDSQL仅用行业三分之一的成本,就抗住了更大规模的并发。

另外一个值得注意的TDSQL的性能相当平稳,稳定运行8小时无抖动,这达到了金融级数据库的要求。

事实上,腾讯云TDSQL也确实已经在金融行业使用开了,比如2021年8月,基于TDSQL打造的昆山农商银行新一代核心系统成功投产上线。划重点,银行的核心系统,是处理银行最基本的存款、贷款业务为主的IT系统,一分钱都不能差的那种。新核心系统整体处理能力可以达到6300TPS(事务处理数/秒),可支持每日亿级交易量,在性能方面,高频帐户类交易平均响应时间在300毫秒之内,查询类交易平均交易响应时间在100毫秒之内,日终批量时间缩短至8分钟左右,季度结息17分钟左右,96秒完成10万笔社保代发,在全国同类型银行中处于领先地位。

不只是昆山农商银行,目前TDSQL也服务近半国内TOP 20银行,TOP10银行中服务比例高达60%。客户包括中国银行、平安银行、华夏银行等。目前也已经完成了国产化全栈的适配,其中包括国产芯片、国产服务器、国产操作系统、国产中间件等基础软件的适配。同时与上游解决方案提供商开展了全行业解决方案的认证授牌,截止目前完成百款解决方案在腾讯云联创实验室的方案认证。

国产数据库的崛起

说到这里不得不感慨,从毕业到现在在工作中有两件与数据库有关的事情让我印象深刻。

一件事儿是十几年前刚毕业的时候,我给一家国内的大型企业做项目开发,当时有一股去IOE的风潮,这家大型企业计划用PostgreSQL取代Oracle。现实是残酷的,着手做的时候发现去不掉,最后不了了之了。

另一件事儿是以前做一个运营商某省公司的项目,在核心网上要存入很多CDR数据,平均每分钟写入数据二三百万,如果推到全国数据量还要增加几十倍。在这种情况下常用的MySQL就无法满足要求了只能硬着头皮研究Hadoop,有人会问为什么不用Oracle?因为实在太贵了。

现在想想,如果当时有TDSQL,可能那家大型企业的去IOE也就成功了,也不用硬着头皮研究怎么搞数据库可以把精力聚焦在业务上了。

从OceanBase到TDSQL,国产数据库这几年确实崛起了,不管从哪种意义上讲,国产数据库的崛起都是一件好事儿,也希望更多的有实力的厂商都去跑跑TPC-C打打榜,任何厂商夺得第一都是值得称赞的,更希望国产数据库广泛的被应用在各行各业。

相关标签:

发表评论:

评论记录:

未查询到任何数据!