当前位置: 首页 > 科技观察

蚂蚁金服OceanBase在TPC-C排名九年,仍需理性对待

时间:2023-03-23 10:30:33 科技观察

【.com原稿】今年国庆期间,除了在阅兵上看到国产枪械和飞机,还有一个振奋人心的消息:10月2日,国际事务处理性能委员会(TPC)官网披露,由中国蚂蚁金服自主研发的金融级分布式关系数据库OceanBase打破了由TPC维护的第9个基准美国甲骨文公司在TPC-C基准测试中。它是第一个登上榜首的中国数据库产品,连中国工程院院士都给予了很高的评价。TPC-C基准测试按性能排名前十。这条消息刷爆朋友圈后,笔者也是非常激动。毕竟看到我们国产的数据库终于可以和世界顶级产品比肩了。不过,兴奋过后,我们要理性对待。蚂蚁金服的OceanBase到底有多厉害?让我们先回顾一下TPC-C基准测试。什么是TPC?TPC(TransactionProcessingPerformanceCouncil),交易处理性能委员会,是由数十家会员公司创立的非营利性组织,总部设在美国。TPC的成员主要是计算机硬件和软件制造商。其职能是制定商业应用基准程序(Benchmark)的标准规范、性能和价格测量,并管理测试结果的发布。TPC不给出基准程序的代码,只给出基准程序的标准规范(StandardSpecification)。任何制造商或其他测试人员都可以根据规范优化构建自己的系统(测试平台和测试程序)。为了保证测试结果的客观性,被测者(通常是制造商)必须向TPC提交一套完整的报告(FullDisclosureReport),包括被测系统的详细配置、分类价格和五年维护费用。总成本。报告必须由TPC授权的审核员进行验证(TPC本身不进行审核)。现在全世界只有几个审计师,都在美国。什么是TPC-C基准?TPC-C是在线事务处理(OLTP)基准测试。经过两年的发展,TPC-C测试规范于1992年7月发布。TPC基准测试的目标是定义一组可以在任何事务处理系统上运行的功能需求,无论硬件或操作系统如何。然后由测试赞助商提交他们已满足所有要求的证据(以完整披露报告的形式)。这种方法允许任何使用“专有”或“开放”系统的供应商来实施TPC基准测试。TPCBenchmark与其他基准测试的不同之处还在于TPCBenchmark是根据实际生产应用程序和环境建模的,而不是独立的计算机测试,后者可能无法评估关键性能因素,例如用户界面、通信、磁盘I/O、数据存储,备份和恢复。基准模型作为OLTP系统基准,TPC-C模拟了一个完整的环境,在这个环境中,大量的终端操作员对一个数据库执行事务。基准测试以订单输入环境的主要活动(交易)为中心。这些交易包括输入和交付订单、记录付款、检查订单状态以及监控仓库中的库存水平。然而,值得注意的是,TPC-C并不意味着指定如何最好地实施订单输入系统。虽然基准描述了批发供应商的活动,但TPC-C并不限于任何特定业务线的活动,而是代表必须管理、销售或分销产品或服务的任何行业。在TPC-C商业模式中,批发零件供应商(以下简称公司)在与多个仓库机器相关联的销售区域之外运营。TPC基准旨在随着公司扩张和新仓库的开设而扩展。但是,在扩展基线时必须保持某些一致的要求。公司拥有多个商品仓库,分布在不同地区。每个仓库负责供应10个销售区域。每个销售区域为3000名客户提供服务。每个客户平均订购10件产品。每个仓库都有保存公司销售的100,000件物品的库存记录。但在现实中,一个仓库可能无法完成所有订单中的所有产品,因此TPC-C基准要求所有订单中近10%必须由公司的另一个仓库供应。系统需要处理的交易如下:New-Order:客户输入一个新的订单交易;付款:更新客户账户余额以反映其付款状态;Delivery:发货(模拟批量交易);Order-Status:查询客户最近一笔交易的状态;Stock-Level:查询仓库的库存情况,以便及时补货。前四类交易,要求响应时间在5秒以内;库存状态查询交易,要求响应时间在20秒以内。测试指标TPC-C的测试结果主要有两个指标:性能(tpmC)TPC-C基准测试的性能是通过TPC-C的吞吐率来衡量的,单位是tpmC。Tpm是transactionsperminute的缩写;C是指TPC中的C基准程序。性能指标描述了系统在执行Payment、Order-status、Delivery、Stock-Level这四个事务时,每分钟可以处理多少New-Order事务。所有事务的响应时间必须满足TPC-C测试规范的要求。TPC-C测试规范的要求值得注意的是,tpmC反映了C/S整体系统的性能,这与系统的server和client的性能有关,也就是说配置了同一个server使用不同的客户端会影响tpmC值。·Price/tpmC是测试系统价格(指美国的报价)与流量指标的比值。TPC-C基准测试中的价格包括计算软硬件价格和三年服务价格。除了操作系统、数据库、存储、服务器等软硬件外,还包括针对TPC-C场景开发的应用系统、测试用机。蚂蚁金服OceanBase的卓越OceanBase项目成立于2016年,第一个用户是淘宝收藏。2013年7月,淘宝广告系统使用的Oracle数据库下线,也是淘宝最后一个Oracle数据库。2014年,蚂蚁金服启动了交易de-O项目,即将核心交易从Oracle迁移到OceanBase。交易去O化后,蚂蚁金服将所有核心业务迁移到OceanBase。2015年,OceanBase在网商银行成功上线,成为全球首个应用于金融核心业务系统的分布式关系型数据库。2016年,OceanBase取代了支付宝核心会计系统中的Oracle数据库。2017年,支付宝首次将包括账务数据库在内的所有核心数据链路全部迁移至OceanBase,并在双十一创下每秒4200万数据库处理峰值的新记录。TPC-CBenchmark测试-蚂蚁金服和Oracle使用的软硬件环境信息对比。对比9年前蚂蚁金服OceanBase和甲骨文的benchmark测试结果,可以看出蚂蚁金服当年花费了甲骨文测试总成本的近1.5。倍,达到了后一年测试成绩的两倍。对于蚂蚁金服OceanBase榜单的成功,榜单的时效性存疑。TPC-C测试成绩排行页面上有说法,所有灰色背景的测试成绩都会因软硬件升级而过期,测试成绩有效期为3年。也就是说,此时的业绩排名前50中,只有蚂蚁金服有效。其他公司太久没有参加测试了,之前的测试结果都过期了。虽然这九年来软硬件技术发展迅速,但国产自研数据库成功跻身数据库OLTP测试领域权威标准TPC-C的事实也证明了我国的技术实力正在逐步赶超.值得注意的是,蚂蚁金服OceanBase通过了TPC-C基准测试。它基于阿里云的ECS云服务器。总共使用了204台ECSi2云服务器。费用取决于测试时间。因此,蚂蚁金服OceanBase的TPC-Cbenchmark的硬件成本占总成本的近18%,而Oracle的硬件成本占总成本的76%。蚂蚁金服OceanBase价格相对较高,因为软件定价。如何理性看待TPC-C基准测试能够体现出色的系统性能,但企业为测试排名而搭建的软硬件系统必须已经全面优化。这里的系统包括主机、外设(如硬盘或RAID)、主机端操作系统、数据库软件、客户端计算机及其操作系统、数据库软件和网络连接等。因此,性能数据描述了系统的性能系统作为一个整体,而不是单个产品。用户在选择时,也需要根据自身业务特点、实际系统、考量标准等多方面因素进行选择,不能根据列表中的tpmC值盲目一概而论。另外,大部分benchmark程序是在美国开发的,中国企业的运作方式与美国不同,那么中国企业在TPC-Cbenchmark中的应用是否符合批发商商业模式?交易请求是否与标准大致成比例?所以,在某些情况下,tpmC值只是一个参考值。【原创稿件,合作网站转载请注明原作者和出处为.com】

猜你喜欢