如何看待腾讯数据库打破世界纪录?

TPC-C的榜单,又被刷新了,这一次,创造纪录的是鹅厂。

刚刚传来消息,腾讯云数据库TDSQL以8.14亿的“战斗力”,成功登顶TPC-C测试榜首。

TPC.org官网新鲜出炉的的结果我截了屏(为方便展示删掉了几列不重要的),大家就看点关键的吧↓

打榜选手(参测品牌):腾讯云

战斗力(tpmC):814854791次

战力消耗(Price/tpmC):1.27元人民币

战斗阵型(集群节点数):1650 节点

战术代次(数据库型号版本):TDSQL v10.3

事儿呢就是这么个事儿,鹅厂这次倒很低调,TPC官方都公布榜单好几天了,也没见鹅们大肆张扬。(可能搁家偷着乐吧)

那么,这个事到底值不值得鹅厂“飘一下”呢?我简单说说TPC-C这个榜单的来龙去脉,各位看官自行判断↓

TPC是国际权威机构「事务处理性能委员会」的缩写,这个组织制订了一系列的基准测试程序,TPC-A、B、C、D、E、H系列全家桶。

这其中,TPC-C名气最大,是专门用来测试在线事务处理OLTP的基准程序,大家知道实际生产中,这种交易型场景都是数据库在扛着,所以TPC-C被坊间誉为数据库领域的“奥林匹克”。

早期的时候,这个榜单还不怎么卷,主要是硬件厂家拿自己的设备来测测跑数据库的性能咋样,毕竟以前数据库几乎一家独大,没什么可选余地。

可现在不一样了,百家争鸣,据说目前市场上活跃的各类数据库品牌有260多个,而客户在选择上也不是买台服务器、装个数据库,更多是软硬件一体化集成好的,甚至直接按需使用数据库服务。

所以,这个“奥林匹克”就卷起来了,它逐渐成为验证哪种数据库架构更优秀的一把标尺,也是OLTP数据库性能测试唯一的国际权威榜单。

如果能打榜夺冠,就证明我这套“数据库阵容”(软件、硬件、服务、集成优化)的技战术水平,实实在在有点儿东西。

可既然是“奥林匹克”,夺冠的难度就非常大,因为TPC组织有点“不讲武德”。

首先TPC并不提供基准程序的代码,只提供标准规范,想要打榜的厂家根据规范构建最优的系统(测试平台和测试程序)。

实际测试中,TPC-C是模拟电商交易的业务逻辑↓

某批发公司有N个仓库,每个仓库供应10个地区,其中每个地区为3000名顾客服务。在每个仓库中有10个终端,每一个终端用于一个地区。
在运行时,10×N个终端操作员向公司的数据库发出5类请求。由于一个仓库中不可能存储公司所有的货物,有一些请求必须发往其它仓库,因此,数据库在逻辑上是分布的。
N是一个可变参数,测试者可以随意改变N,以获得最佳测试效果。
TPC-C有5种事务,每种事务有规定的比例,分别订单支付不低于43%,订单查询、订单发货和库存查询各不低于4%,其余则为订单创建(不高于45%),tpmC值是订单创建事务每分钟执行的数量。

这个测试需求的精妙之处,在于对生产环境有极高的还原度,保证了这“奥林匹克”不是假打,而是真刀真枪的实战。

同时,事务符合ACID是基本要求,而且测性能的时候要求8小时稳定运行,不能有任何人工干预,每秒性能波动不超过2%。

说白了,要又稳又丝滑,不能飙完一个峰值就撤。这就和真玩交易业务一样,要经得起考验得动真格的。

规则都摆在这,具体怎么干?

理论上讲,挑战者可以用自认为优化最好的软件,搭配性能最吊炸天的硬件,用足够多的机器,来追求一个最好的测试指标。

但是,但是,实际要考量的,不光是战斗力(每分钟事务处理数),还有性价比(处理每个事务花了多少银子

因为最终任何产品还要落地到商业环境中去,如果单纯为了追求性能,攒一个天价系统,同样没有什么现实意义。

基于以上这些前置条件,我们再来评价下鹅厂的成绩,到底有没有含金量。

下面是鹅厂的详细成绩单和系统配置单↓

先说第一个核心指标tpmC数值是8.14亿,比上届“冠军”的成绩提升了1个多亿。

讲真,刚看到这个提升幅度,我觉得Just so so。心说鹅厂咋没放个大核弹,来个指数级提升。

但细看一下就发现了蹊跷,单纯tpmC的提升不是重点,更难的提升是整个8小时的测试性能几乎无抖动,波动范围被控制在0.2%之内,这波操作有点难度。(远远低于官方要求的2%抖动范围)

整个过程保障了超过8600亿总事务、4万亿订单零出错,可以说足以应对市面上最苛刻的金融级交易挑战。

鹅这次真的太稳了。

再说第二个核心指标,性价比。鹅厂创造了一个花钱新低:1块两毛7,差不多是上届冠军的三分之一。

这个数是怎么来的呢?

可以看下面的配置单:1650台物理服务器作为数据节点+3台物理服务器作为管理节点+495台虚机作为客户端,这是硬成本,再加上TDSQL数据库软件和支持服务费用,按照三年使用时间来计算。

也就是说这么庞大的一个集群,你用三年,总造价是10.3亿人民币。

用总造价10.3亿除以8.14亿的“战斗力”,得到的数字就是1.27元。

10.3亿是3年总体拥有成本,而8.14亿是每分钟完成的事务数量。所以你会发现这个算法其实不合理嘛。

1.27只是个参考比值,用于比较各家参赛选手的性价比,而并非资金消耗的绝对值。

so,如果我们再除以三年的分钟数(1576800分钟),才会得到一个真正的每事务处理成本:0.0000008元。

换句话说,用鹅厂这样的系统,每完成1000万次事务处理,只需要花8块钱。

我为什么对这个金额如此纠结?是因为造价高达10个亿的系统,一般用户不会买,买了也Hold不住。

但是,如果这个系统在云上,以数据库云服务的方式交付,那就是个小case,用户可以按需使用,以极小的代价共享技术红利。

从另一方面讲,打榜还是很烧钱的,毕竟短时间要纠集几千台服务器,并不是一件小事。但这对鹅厂之类的公有云服务商,却有得天独厚的条件。

从大云资源池里划拉点机器出来,打完榜再释放回去,那10个亿不过是纸面成本,这也算是用到了云计算的精髓。

而且鹅厂的即战力确实很强,才第一次测,小试牛刀,就冒尖了。看看历史榜单就知道,之前的玩家们,都测了好几次。

最后,再闲聊几句,这个成绩到底有没有实际意义?

不吹不黑,实际意义有三↓

1、分布式(云)数据库正在反超传统数据库,而且大局已定。

这个成绩,表面上看是鹅厂赢了,其实是新IT打败了旧IT,是云数据库、分布式数据库的大趋势打败了传统的集中式架构。

回顾一下历史打榜纪录,你就会发现,时代真的变了。

传统数据库代表们也并非没有实力超越这个tpmC战斗力,但是必定要付出更高的综合成本。

2、打榜的战斗力、性价比、可复用性,让云数据库“普惠”成为可能。

我以前曾经有个比喻,如果造一个不可重用的单目标系统,只为追求某次比赛结果好看,那么,即便这个系统威力如同原子弹,也只是bàng,放个大动静让大家开心一会儿。

但是,如果我在狂飙战斗力的同时,还能把性价比做到极致,同时这个系统还能化整为零,以任意粒度按需交付,那么,我们就相当于有了量产的“孙悟空毫毛”。

这样,各行各业、普罗大众就都拥有了最先进的数据库装备,可以愉快地数字化变身,打怪升级了。

3、打榜厉害,实战就一定厉害吗?

前面我们说过了,TPC-C这个模型,对实际的联机交易处理做了非常好的抽象,模拟交易中的极值场景,不把你测得“一佛出世,二佛涅槃”是不会罢休的。

所以,本身测试就很接近实战,而鹅厂这一次也的确比较争气,除了8.14亿“战斗力”、1.27元“性价比”、0.2%的低性能波动之外,还有新披露出来的一些变态数字:

比如单节点180万QPS的性能、6.4亿的前端并发用户、高压下的破坏性测试等等。

所有这些都是以实战为基础的,也是鹅厂15年深耕数据库,尤其死磕金融交易场景的结果。(根据官方披露:腾讯云分布式数据库TDSQL已服务国内TOP10银行中的7家,服务过半国内TOP 20银行。

所以,吃瓜群众也不光看打榜赚吆喝,打榜厉害、实战更厉害的选手,大家更爱看。

当然,我也相信,8.14亿的战斗力数值,不是终局,这个纪录终有一天会被打破。

但是数据库云化、数据库国产化的浪潮,终究是不可阻挡了。

展开阅读全文

页面更新:2024-04-18

标签:奥林匹克   数据库   腾讯   世界纪录   节点   战斗力   性价比   订单   性能   事务   测试   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top