Oracle霸榜9年,阿里数据库花3.8亿将其拉下马?

- 引子

本文观点均为臆测,请勿当真。

两个多月前的一则消息刷爆朋友圈:阿里数据库OceanBase刷新尘封九年的世界纪录并赢得冠军,性能是第二名Oracle的两倍,于是“中国自研数据库打破西方垄断”,《科技日报》评价称:“此次登顶国际权威排行,也是云时代中国数据库换道超车的标志。” 但随后又有人说Oracle“非不能也,是不为也”,阿里赢了但意义有限,具体却语焉不详。作为一个干了十多年数据库的老兵,尝试为大家解答如下问题;

  • 这个数据库的世界纪录TPC-C到底是啥?
  • 到底OceanBase击败了Oracle没有?
  • 有人说阿里的纪录是堆硬件堆出来,真的是这样吗?
  • 阿里这次冲榜到底意义有多大?

1. TPC-C到底是个啥?

要说TPC-C,得先了解一下TPC。 TPC即国际事务处理性能委员会(TPC,Transaction Processing Performance Council),这是个啥东东呢?实际上就是国际的手机评测机构,不对,是计算机系统评测机构,是非营利行业组织。可以简单理解为其职责是发布企业级数据库评测榜单并制定榜单的测试标准、流程和规范。包括甲骨文、IBM、微软等公司的数据库产品都曾多次参加这个评测。它成立于1988年,总部设在美国。TPC目前(2020年1月1日)总共有13个大类的榜单,主要关注性能跟性价比。TPC榜单考核了最真实、最核心的东西,极大的杜绝了作弊,非常科学也很高明地对软硬件架构不做限定,独立客观的评测后还有60天的公示期,另外也绝对不会因为经济利益影响榜单成绩。因其国际性、专业性、严格、客观,经过多年时间检验后成为业界最权威的榜单,简单的说就相当于数据库领域的“世界杯”。

TPC-C是TPC发布的最重要标准,因为它主要评测的是在线交易型应用系统的性能。通俗地讲,所谓在线交易型数据库(OLTP)指的是普通却很重要的核心业务系统,如12306的卖火车票的系统,美团叫外卖的下单系统等。与OLTP系统对应的是OLAP系统,可以通俗地理解为报表系统,比如中移动的报表系统,专门帮用户统计话费或者帮移动统计每个月的综合利润等。当然现在又增加了大数据相关的标准。一般来讲,报表早一点迟一点出来关系不大;但我下单了,半天完不成交易就影响做生意赚钱了。另外OLTP也是OLAP的基础,所以业界对在线交易型数据库更加看重,因此TPC-C相对而言最重要。这次阿里拿下的就是TPC-C这个榜单的冠军。2006年,国务院发布的《国家中长期科学和技术发展规划纲要(2006-2020年)》首提“核高基”概念,其中“基”指的就是以数据库、操作系统、中间件等核心的基础软件产品。金融、电信、政府等关键领域的客户一般参照 TPC-C 结果来衡量各个数据库厂商的事务处理能力。

那么TPC-C有多专业、多严格呢?简单举两个例子:

  • TPC-C模拟真实世界业务系统的情况,这个系统你可以认为是一个简化版的卖咖啡的瑞幸手机App。TPC-C有5种事务:订单创建、订单支付,订单查询、订单发货跟库存查询。各种事务都有规定的比例,其中订单支付不低于43%,订单查询、订单发货和库存查询均不能低于4%,其余为订单创建(不高于45%)。订单创建里面有1%订单是要回滚的。最多15件商品,平均10件商品。模型是以一个仓库为单位,每个仓库有10个销售点/仓库,每个销售点服务3000个顾客。模拟某一个顾客到销售点买东西,买的东西可能是3件,可能是12件,因为买的东西不一定都在本地仓库里有,所以每件商品假设有1%概率在其它仓库,每个订单创建的事务如果在分布式系统里有10%的概率是分布式的事务。还有订单支付里面有15%概率不在本地仓库支付,要到异地仓库支付,也变成分布式事务。tpmC值是订单创建事务每分钟执行的数量。最后主要考核tpmC跟性价比。
  • 整个应用系统和数据库都要公开,你用什么机器,机器配置是什么,包括价格都要公开。杠精,不对,是挑战者可以从公开市场上买到。大到功能、数据一致性和容灾能力,小到测试过程中使用过的鼠标键盘价格,都需要严格披露。

2.到底OceanBase击败了Oracle没有?

要说这个,你可以认为击败了,也可以认为没有。

先说为啥击败了,这个很简单,OceanBase通过TPC-C这个公开而且严格的测试标准已经刷榜了啊!你Oracle牛那你就凭本事刷回去。现在我拿了冠军,那我就是最牛!这就叫公开、公平、公正。所以中国工程院院士、著名国宝级计算机专家李国杰对此表示,这是中国基础软件取得的重大突破!

再看看单个tmpC的价格,这个指标OceanBase是6.25元人民币,Oracle 的是1.01 美金,接近1比1,但OceanBase硬件成本只占18%,Oracle却要65%。也就是说从性价比上OceanBase也很不错。

那又为啥可以说没有呢?这个就得从性能、场景、辅助工具跟生态等几个方面分开说。

- 性能

前冠军Oracle9年都没有去更新这个榜单,这9年硬件变化很大。虽说服务器端不能完全根据摩尔定律来,但同等成本前提下也确实应该有着好几倍的性能提升。

还有就是很多人会问,为什么Oracle 这么多年没有刷新榜单?前面几十年大家都是一年一点加着玩,你超个20%都很吓人了,IBM DB2集群好不容易才干到1000多万,结果Oracle 2010年直接就加到3000多万。

更过分的是Oracle 在2012年、2013年分别用单机做过506万、855万的。Oracle已经用27台机器做了3000多万集群的(就是这次被阿里超过的这个),为啥后面要做500万、800多万单机结果呢?估计意思是说当初3000多万的成绩,平摊到单机也就100多万tmpC,现在老子单机就能做到原来的4到8倍,做成集群后哪怕打个折,最终只做到原来的5-6倍,也是将近1.8亿tmpC,你们谁能干得过我?其他厂商一看,我勒了个去,搞这玩意儿费钱又费老劲,你这样搞我还怎么玩?

一来二去Oracle也懒得去刷榜——反正老子已经天下第一了,你们谁还敢跟我争?哈哈哈!

- 场景

Oracle对OLAP、非结构化数据集成都能很好支持,OceanBase在这些重要领域还有很多工作要做。而这几个场景现今都是非常重要的,更别说移动、实时计算、内存计算等等。其它具体功能、辅助工具跟其它厂商的配套软硬件,就更不要提了。

3. 有人说阿里的纪录是堆硬件堆出来。真的是这样吗?

说这话就是对TPC不了解了。

一方面OceanBase是分布式的,当然要堆硬件。

另一方面如果纯粹堆硬件能堆出来,那这个评测最后不就纯粹演变成看哪个厂商有钱的游戏吗?TPC主要是个技术评测,为了杜绝厂商纯粹堆硬件,就这方面设有专门的考查指标,就是系统软硬件、包括技术支持服务在内的3年总成本分摊到每个tpmC的价格。这个指标OceanBase 6.25 人民币 对 Oracle 的1.01 美元,考虑到汇率因素,基本接近1比1;但OceanBase硬件成本只占18%,Oracle却要65%。所以硬件成本这块OceanBase其实是很占优势的。数据可靠性当然确保了不成问题。

4.阿里这次冲榜到底意义有多大?

OceanBase无惧巨大压力,击败霸榜9年之久的数据库领头羊Oracle,意义无疑是巨大的!

品牌

通过支撑“双11”,OceanBase在技术人员中间打响了品牌;但在商业市场,这次冲榜成功对此数据库的品牌加分无疑是巨大的,这个应该是阿里这次冲榜的主要目的。另外这次对阿里巴巴这个品牌也是一个大大的加分。

通过TPC-C专业、严格的测试,认证了OceanBase创新的分布式体系架构之下数据库基本的ACID能力,极大加强各方人士对此数据库本身的认可。

当然阿里本身通过此次行动进一步完善了产品,也锻炼了队伍,消除了内部质疑。

这次也是中国公司第一次冲榜成功。Oracle是42年积累的产品,阿里只花了9年做成这样,在当前形势下,也鼓舞了国人。

技术创新

分布式技术打破了原来单机跟集群碰到的性能瓶颈,通过严格的测试验证了分布式关系型数据库的技术可行性。

同样因为分布式技术,使得采用普通机器存储关键数据成为可能;因为不是专门的设备而是云主机,可方便采用租用的方式,这大大降低了存储成本跟测试成本。TPC-C要求的是整个系统软硬件加技术支持3年的总体成本来计算,这次OceanBase只租用了3个月的阿里云,总的测试硬件成本:3.8亿×18%÷36(3年折算成月份)×3=570万人民币。Oracle的测试硬件花了30,249,688×6(汇率)*65%=1.18亿,约是20.7倍。Oracle测试的硬件当然以后可以用在其它方面,但测试之前你得掏钱买。

完善TPC

这次是全球首次分布式数据库参与TPC-C评测,TPC借此机会明确并完善了TPC-C的评测标准、评测方法。

阿里为国产数据库冲击榜单趟出了一条道,同时开源了此次测试的工具及相关文档、数据,并共享了此次评测的平台,这极大降低了各厂商参加TPC-C评测的软硬件成本,大大降低了门槛。

对外技术依赖度低

OceanBase是由阿里巴巴和蚂蚁金服拥有100%自主知识产权的分布式关系数据库。OceanBase没有依赖任何开源数据库或者存储引擎的相关代码,而是从第一行代码开始就完全自主研发的分布式数据库产品技术,对外依赖性低。

关注我,每周分享数据相关干货!

原文地址:https://blog.51cto.com/14658150/2464095

时间: 2024-10-11 21:16:39

Oracle霸榜9年,阿里数据库花3.8亿将其拉下马?的相关文章

[有奖活动进行中]阿里数据库专家曾文旌为你解决数据库那些事

本周云栖社区问答专区为大家请来了阿里数据库专家曾文旌与大家交流话题: 什么应用类型的后端数据库合适PostgreSQL / PPAS 欢迎大家围绕这一话题尽情提问,专家曾文旌还将每天选出一个优质的提问授予最佳思考奖,将获得优质技术书籍一本 ——>立即去提问 活动规则: 在本问答贴下回复提问即可,严禁灌水及发表非技术言论活动时间:7月11日-7月15日专家曾文旌每天将在提问中挑选一个最有技术含金量的提问,小编会在提问下面评论告知获奖信息 专家介绍: 曾文旌,花名义从,阿里巴巴 数据库专家 从事数据

数据库性能测试---前阿里数据库团队资深DBA杨奇龙

杨奇龙 前阿里数据库团队资深DBA 主要负责淘宝业务线,经历多次11.11,有海量业务访问DB架构设计经验. 目前就职于有赞科技DBA,负责数据库运维工作,熟悉MySQL 性能优化,故障诊断,性能压测,对NoSQL感兴趣,希望与大家多多交流,彼此一起成长. 内容摘要 压测方法论 为什么要压测 影响因素 统计的指标 常用的压测工具 合理的压测平台 参考 这个是此次分享的大纲,本次分享其实相对比较简单,偏向于“纸上谈兵” 不涉及具体的实践操作,没有介绍工具如何使用 ,更多是介绍我对MySQL 压测的

与“十“俱进 阿里数据库运维10年演进之路

导语阿里巴巴集团拥有超大的数据库实例规模,在快速发展的过程中我们在运维管理方面也在不断的面临变化,从物理器到容器.从独占到混布.从本地盘到存储计算分离.从集团内到大促云资源,从开源的MySQL到自研分布式数据库,运维管控进行了自我革新与进化. 作者--谭宇(花名:茂七),阿里巴巴高级技术专家.2009年加入阿里,对分布式系统和数据库领域有很大的兴趣.目前负责阿里巴巴集团数据库中台建设,支撑了集团数据库在容器化.存储计算分离.在离线混部.大规模迁移建站以及智能运维等技术探索与落地. 本文梳理了阿里

[独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table.View [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure.function.Sequence [独孤九剑]Oracle知识点梳理(八)常见Exception

[独孤九剑]Oracle知识点梳理(九)数据库常用对象之常见package

本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table.View [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure.function.Sequence [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Curs

[独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence

本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table.View [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor [独孤九剑]Oracle知识点梳理(八)常见Exception [独孤九剑]Oracle知识点梳理(九)数

oracle的环境配置-单独创建数据库实例

单独创建数据库实例 数据库1    数据库2ORCL        LAW  ------RDBMS(服务)  |                  |-----------------------    安装数据库软件(DBMS) 单独再创建一个RDBMS--LAW [[email protected] ~]# xhost +access control disabled, clients can connect from any host  --自动启动了xmanager passive[[

Oracle学习(十五):分布式数据库

--分布式数据库的独立性:分布数据的独立性指用户不必关心数据如何分割和存储,只需关心他需要什么数据. --本地操作 SQL> sqlplus scott/tiger --远程操作 SQL> sqlplus scott/[email protected]:1521/orcl --分布式操作 SQL> --创建数据库链路l2(需要权限): SQL> --remoteorcl服务命名(在net manager里配置):配置跟远程服务器的数据库的连接协议.主机名(ip地址).端口号等 SQ

oracle学习入门系列之二 数据库基础知识

oracle学习入门系列之二 数据库基础知识 本篇蛤蟆要梳理下那些被淡忘的数据库基础知识,也许根本就没被人记住过.不管是哪种情况,该记住的必须记住,记不住就把他记下来吧. 首先问几个问题如下: 数据库基础知识是什么? 好吧,蛤蟆直接吐后而不亡,看目录开始吧. 本人邮箱:[email protected] 微信公众号:HopToad 欢迎各界交流 1      基本概念 概念就是概念,大伙对这些名词不要死磕,但是对定义一定要理解,理解方能领悟,领悟方能运用自如后创新. 1.1      数据 数据