whz0 2019-10-27
【新智元导读】蚂蚁金服自研数据库登顶“数据库领域世界杯”TPC-C排行榜,打破了Oracle维持九年的世界纪录,却被指责拿现在的数据跟Oracle九年前的数据比较是“胜之不武”。对此,阿里云在新智元AI朋友圈 发起国内首个云端数据库测试平台,邀请全球数据库到云上跑个分,不服来战!
近日,蚂蚁金服自研数据库超越甲骨文(Oracle),又引发了行业热议。
事情缘于10 月 2 日,国际事务处理性能委员会(TPC,Transaction Processing Performance Council)官网披露,在最新发布的 TPC-C 排行榜中,蚂蚁金服自研数据库 OceanBase 位列第一,打破了Oracle维持九年的世界纪录。
TPC-C基准测试被誉为“数据库领域世界杯”,OceanBase是首个登顶该榜单的中国数据库产品。榜单被传播后,有评论指出TPC-C测试结果有效期仅为3年,Oracle的分数于9年前测,如今早已失效。9年间软硬件经过多次迭代,Oracle数据库性能势必提升数倍,蚂蚁金服OceanBase如此比较“胜之不武”。
即便两个评分有时间差距,不过正如团队成员在知乎上回应,九年间也有参与跑分的数据库厂商,但依然未有打破记录者。因为“研制OLTP数据库太难了”、“通过TPC-C的测试也很难”,蚂蚁金服的这次登顶不可否认是一次很大的突破。
针锋相对的观点之间,也有不少“雨女无瓜”的留言飘过。比如:
“很正常啊,因为阿里的数据太海量了……也只有双十一可以测试,这都很多年了。现在阿里自己出个更好的数据库很正常。”
确实,跟Oracle决战的OceanBase主要面向银行,对互联网公司来说是“杀鸡焉用牛刀”的遥远且昂贵。
OceanBase虽然是别人家的数据库;但每家公司都有数据库。在直播、带货大行其道的今天,哪家toC公司没有个订单系统、流量巅峰呢?怎么也会对自家数据库有点追求。
况且别忘了,OceanBase的底层,是半数创业公司都在用的阿里云ECS。
蚂蚁金服自研数据库OceanBase登顶TPC-C榜单的消息振奋人心,同时引起国内技术圈的广泛讨论,第一个云上跑出来的数据库分数含金量如何?其他数据库有没有可能更强?
针对这些疑惑,10月24日,阿里云以一种最为直接的方式作出回答:推出国内首个云端数据库测试平台,直接在阿里云上提供与OceanBase打榜时完全一致的云资源环境,全球任意数据库厂商均可申请报名,以云端跑分这样的硬核方式与其他数据库一较高下。
https://pages.aliyun.com/aliyunpage/activity/tpc-c
阿里云智能技术战略总监陈绪在新智元AI朋友圈发起了这个擂台赛:不服OceanBase跑分?今天起可到阿里云上一战。
包括陈绪在内,测试组织委员会委员已入驻新智元AI朋友圈,作为独家合作平台,跑分相关事项都可在这里提问哦!
此前,OceanBase表示,登顶TPC-C的最大的优势就在于采用阿里云弹性计算资源,使得硬件成本只占整体成本的18%左右。同时表示,云端测试虽是业内首次,但得到了TPC-C技术委员会的官方认可。考虑到数据库云化的趋势不可逆转,这也意味着未来的数据库测试必然基于云端环境。
作为首个为OceanBase打榜TPC-C提供测试环境的云服务商,阿里云此次推出公开的测试平台,一方面为大量的国产数据库提供一个低门槛的测试环境。另一方面,也相当于搭建了一个公平透明的擂台,向外界释放信号:技术人废话不多,直接跑分见实力。
阿里巴巴集团副总裁周靖人表示,此次数据库测试只是尝试的第一步,相信未来上云跑分才是主流。
测试组织委员会委员包括:阿里巴巴集团副总裁周靖人、阿里云弹性计算负责人蒋林泉、阿里云智能技术战略总监陈绪、新智元创始人兼CEO杨静、中国电子技术标准化研究院软件工程与评估中心主任周平
事实上,IT环境已今非昔比,数据库厂商早已呼唤此类测试平台。据了解,TPC-C是公认的老牌数据库测试标准,但往往要自备硬件,这对于不少数据库公司而言是不菲的成本。而云计算完全可以为数据库测试提供更为灵活的弹性扩展支撑,同时云上数据库也逐渐成为最大的应用场景,这也是TPC-C官方接受这种全新测试方式的根本原因。
蚂蚁金服研究员杨传辉如此描述这一平台,“任何一家公司只要在阿里云上租用资源,用提供的工具跑测试,然后请审计人员来审计就可以了。关键只在于,你的产品够不够好。”
数据库上云已成大势所趋。Gartner预测,2023年全球将有3/4的数据库跑在云上。随着云时代来临,大量软件和解决方案都在加速云化,而数据库是其中重要一环。
据悉,阿里云还将为其他类型的测试提供开放平台。
软件你买不起,“硬件”却买得起。
OceanBase数据库较于Oracle的优劣,研发团队在公开采访中也有分析。OceanBase最大优势在于采用分布式架构,特点恰恰是硬件成本低。
数据库本身对硬件性能要求就很高,但OceanBase披露,硬件成本只占整体成本的18%左右,只考虑硬件的性价比大幅优于集中式数据库。
这跟传统数据库很不一样。观察榜单会发现,传统Oracle和IBM的DB2等数据库,都需要配备昂贵的专用硬件。这带来了硬件成本的极大消耗。例如前最高记录保持者Oracle在2010年的测试,使用了97台COMSTAR专用的存储设备,其中28台用来存储数据库的重做日志(Redo Log)。Oracle的定价策略也是软硬一体,不打折的硬件价格基本等于三年打包折后价。
程序员都知道,Oracle等大型数据库厂商的小型机不仅“贵得要死”,而且需要等“下单-生产-交付”的漫长流程,还要高薪聘请运维人员,出问题又得付钱请Oracle、IBM、EMC等的高价工程师过来修。想到这个工程师一天的价格可能顶过你两周,心理想必也会不平衡。
这种价格和服务,看不起也满足不了互联网公司。毕竟业务规模和结构时刻在快速变化,很多APP也就红两天了……因此,大部分互联网公司的数据库都会选择“租云服务器+开源分布式数据库”的方式自建。
当年的支付宝也不例外,才有了“去IOE”(阿里巴巴首创的概念,去掉IBM的小型机、Oracle数据库、EMC存储设备,代之以自己在开源软件基础上开发系统)。因而诞生飞天操作系统,和此上的Oceanbase、POLARDB等自研数据库。
OceanBase使用的同样是阿里云的ECS服务器,并且只使用ECS机器自带的本地硬盘做数据存储。这是非常通用的硬件条件。
云化资源让OceanBase不需要再关注最底层机房、机柜、布线这些细节。当然,它的登顶自然离不开阿里云自身基础设施的保障,阿里云自建的独立机房之间通过高带宽低延时高效骨干网络相连接,即使跨城的机房间网络传输丢包率也很低。同时,云计算的弹性,让分布式数据库的扩展能力得以充分展示。
ECS搭载阿里云研发的新一代云服务器操作系统Aliyun Linux 2,为ECS量身定制。它提供Linux社区的最新功能,也针对阿里云基础设施做了深度优化,提高云上性能和体验。Aliyun Linux 2 100% 开源,用户可以自由下载查看、使用。
不过,传统数据库之所以有专门硬件,说明场景有特殊需求。一般来说,数据库需要进行频繁的读写操作,对底层服务器的内存、读写能力要求非常高。OceanBase也需要挑选最适合自身的机型。
那么,在这款登顶榜首的数据库产品背后,是哪款云服务器在支撑?
据技术团队透露,本次测试“OceanBase的数据库服务器使用的是204+3台型号是ecs.i2.16xlarge阿里云ECS服务器,其中204台作为datanode,还有3台作为root node” 。测试采用的服务器与生产系统完全一样。
随着云计算产业逐步成熟,阿里云的云服务器也已经针对不同垂直场景呈现深度定制化趋势。查阅阿里云官网,云服务器在线主售实例规格数量超过300种,能覆盖多种细分业务场景。
OceanBase选择I2想必与其定位有关。根据官网,I2是一款针对数据库类场景的存储增强型云服务器产品(属于本地SSD型实例规格族),处理器与内存配比为1:8,采用单 GHz 计算力性价比最优的 Intel Xeon(Skylake) Platinum 8163 处理器,2.5GHz主频。
同时,其在数据库极为看重I/O上专门做了优化,配备了高性能(高IOPS、大吞吐、低访问延迟)NVMe SSD本地盘,适用于OLTP关系型数据库、NoSQL数据库(如 Cassandra、MongoDB等)、数据仓库等场景。
I2产品负责人告诉记者,这款云服务器还采用了独享计算架构,即该虚拟机与物理机的计算资源保持一一对应,一经分配,就不会跟其他虚拟机争抢资源。这能保证上层数据库性能的稳定。如果是入门级别的云服务器,则可能会出现超卖,要是某个时刻大家都用得太狠,运行不免会变慢。
可以看出,I2适合一些时延敏感型和IO密集型业务,尤其是电商、互联网金融、游戏、直播等需要快速处理订单和交易、读写频繁的业务场景;在基础设施越发坚实的今天,数据分析等场景也开始在线处理。
上述场景与本次TPC-C测试要求其实非常契合。根据公开资料,TPC-C测试是关于商品销售的订单创建和订单支付等的基准测试标准,设计原则也尽可能模拟真实业务场景。
它考察的是数据库在高并发压力场景下的事务处理能力,最终的性能指标以tpmC和平均到每tpmC的系统成本作为衡量标准。tpmC(transaction per minute)即每分钟系统处理TPC-C模型中的new order事务的数量。这些事务包括订单创建、订单支付、订单查询、订单发货以及库存查询五种。
I2在这次测试中表现如何?
OceanBase技术团队透露,本次TPC-C测试用了迄今以来最严苛的流程来完成:首先使用了10分钟进行预热,然后在6088w tpmC稳态保持运行25分钟并完成一个检查点,再继续跑了完整的8小时性能压测采集阶段。
这个过程中,I2服务器完美地完成了任务,展现了极致性能与稳定。
在企业级最高性能的NVMeSSD和阿里云全链路的读写性能优化之下,I2提供超高存储IO能力,实现超低的微秒(us)级别访问时延,超高的百万+级IOPS,超大的10+GBps级别吞吐能力,带来数据库更快的响应速度和处理能力;
I2基于独享计算架构+本地存储设计,I2也在这8小时中交出了性能最大波动不到0.5%,CPU、内存带宽全满的稳定性满分答卷。
OceanBase团队解释,TPC-C测试很大的挑战在于压测性能曲线要求是绝对平滑,波动幅度不能超过2%。这对传统数据库都极难,因此最终结果也让审计员异常兴奋。
(8.5小时压力下的tpmC值实时曲线)
额……性能是很服气,可是听起来肯定更贵吧?
对此,I2的产品负责人解释,阿里云ECS有多种不同的机型规格,使用哪种机型具体还要看具体业务类型。一般而言,通用型服务器其实能满足50%-70%的需求,I2是针对性能要求较高的场景,有时客户反而出于成本考虑希望购置这种机型。
企业需求是灵活多样的:部分中大型公司对性能要求更高;有的公司只有很小部分业务有高性能需求。如果为了少部分业务购置更高性能通用服务器,反而还会浪费资源。可是如果对症下药,比如针对数据库场景重点增强IO,控制成本的同时提高了用户体验,反而让成本收益架构更合理。
此外,在云计算时代,云服务器自带极速交付、弹性付费等优点。面对爆发式流量增长、临时性项目、尝试新业务等场景,企业可以按需灵活租用服务器,随时调整成本投入。