OceanBase这几天霸屏朋友圈!

一派是浮夸的宣传,超越Oracle,世界第一,过度解读,全面否定对手,引起了技术圈内人士的反感,因为刷新TPC-C纪录并不能说明OceanBase现在就超越了Oracle。

另一派则是并不客观的质疑,不仅武断的认为OceanBase性能测试结果是靠硬件堆出来的,还臆测再测一次,Oracle拿第一不是难事,而且数字应该远不止两倍;其结论不仅缺乏证据,而且对分布式数据库和TPC-C标准缺乏基本了解,略有误导之嫌;

在以前的文章中,我就曾经说过,虽然,我们不能盲目崇信跑分,但跑分的确是一种比较直观反映软硬件性能的方式,尤其是数据库这种性能测试非常复杂的产品。

我们应该如何理性看待OceanBase刷新TPC-C纪录?我认为搞技术还是要讲究事实,要理性看待还原事实。

刷新TPC-C纪录NB吗?

每个数据库厂商都试图向客户证明自己的系统性能最好、处理能力最强,但数据库厂商各自的性能测试数据没有足够的说服力。

而TPC-C作为一个OLTP联机交易处理系统的benchmark是世界最权威的测试基准,这点相信数据库圈内人士没有异议,实际上,要想通过TPC-C并且拿到高分非常难,这是事实。

作为一个广泛接受的标准,TPC-C是严谨的并极大地杜绝了作弊。

TPC-C要求被测数据库必须满足数据库事务的ACID,即原子性、一致性、隔离性和持久性,其中隔离性为可串行化隔离级别,持久性要求能够抵御任何单点故障等。

其次,TPC-C规定被测数据库的性能(tpmC)与数据量成正比。

第三,TPC-C要求被测数据库能够以平稳的性能长期地运行。去掉启动预热(ramp up)和结束降速(ramp down)时间后,被测数据库至少要性能平稳地(steady state)运行8小时,其中性能采集时段(不少于2小时)内的性能累积波动不得超过2%。

第四,TPC-C要求被测数据库的写事务的结果必须在一定时间内数据落盘,对于具备checkpoint功能的数据库,checkpoint的间隔不得超过30分钟,checkpoint数据持久化的时间不得超过checkpoint间隔。

在国内,金融,电信,政府等行业POC都以TPC-C为性能测试基准,通过TPC-C,意味着拿到了这些企业的准入证明,刷新纪录则意味着商业化之路上竞争优势的提升。

因此,随着这些年在数据库技术上不断取得突破,越来越多的国内数据库厂商开始打榜TPC,在我看来是一种好事,凸显的是一种自信,同时也说明国产数据库与国外数据库之间的差距在缩小。

当然,要想全面超越Oracle,无论是OceanBase还是其它国产数据库,还有很长的路要走,超越不能靠YY,不要过分解读,但也不需要刻意低调。

2013年后为何打榜的数据库公司变少?

我认为有三个原因:

第一,这个时间点Oracle在市场上已经全面领先对手DB2;

第二,Oracle和DB2性能太强,导致其他玩家没机会进入前几名,直白的说,进不了前几名就得不到关注,测了也是白测;

第三,测试成本太高,要在完整的TPC-C测试中获得一个高分结果,需要高昂的硬件成本,这也是榜单大部分测试主导方是硬件厂商的原因;

TPC-C测试模型过时了吗?

TPC-C标准是1992年发布的,因此,成为一些人质疑的焦点。但TPC-C能成为数据库OLTP测试领域事实上的最权威标准,恰恰是因为它还原了企业需求真实的应用场景,极具代表性。

简单的说,TPC-C模拟了一个大型的在线商超业务模型,它有一个WEB站和分布在多个地域的仓库,每个仓库服务临近的10个区域的客户,每个客户通过一个收银点下单购买商品,有10%的可能这单订单里本地仓库无货需要远程调货,同时所有订单有后台异步的物流交付。结合当前,这个模型恰好就是现在的大型B2C电商网站。

所以,经典的测试模型并不过时,只是换了一种形式映射到现实生活。

另外TPC-C标准也并不是墨守陈规,从92年提出以来一直在不断修订,最新一版v5.11.0是2010年发布的。

堆硬件就可以跑出6000多万tpmC?

仔细研究TPC-C测试标准,就能很清楚的知道,TPC-C测试标准制定者已经提前预见到了这点,强制的分布式事务、数据访问应用透明要求等诸多限制,让通过简单的堆砌硬件就想提升性能的可能趋近于零。

另外,数据库作为基础软件,目的就是要充分榨取底层硬件的性能并提供给上层应用,尤其对于分布式数据库来说,能够通过堆硬件带来线性性能提升更是理想的目标,分布式架构的精髓就是基于廉价的PC Server来做Scale Out。而这是TPC-C榜单中Oracle RAC这种架构无法解决的。

TPC-C测试结果应该怎么看?

TPC-C测试最终评价的标准其实就两个:整体性能tpmC以及性价比price/tpmC。

错误的质疑,源于并不清楚这2个核心指标,而是片面的关注总成本。

OceanBase总成本:380,452,842人民币,性能60,880,800 tpmC,性价比是每tpmC 6.25人民币。

Oracle总成本:30,528,863美元≈213,702,041人民币,性能30,249,688 tpmC,性价比是每tpmC 1.01美元≈7.07人民币

其实,总成本分为软件部分和硬件部分,我在向蚂蚁金服研究员、OceanBase主架构师杨传辉(日照)核实后确认,OceanBase的价格中,硬件部分占比约18%,Oracle的价格中硬件部分占比约76%。

OceanBase价格高是因为软件定价,其定价策略是,比Oracle低一点。

OceanBase真就完美吗?

企业级数据库的关键技术点在于可靠性和扩展性,TPC-C测试的前提是RPO为0确保不丢数据。

目前有三种实现方案:

第一种是IBM DB2,通过提升单机能力扩展,小型机不行就大型机,这种方案的问题在于价格和处理能力不是线性的;

第二种方案是共享存储,Oracle测试使用的RAC方案就是这种架构,这个架构的问题在于扩展能力有限,最大扩展到几十台机器;

第三种方案是分布式数据库,代表作是OceanBase和Spanner,这种方式基本做到了线性扩展,但需要存储多个副本。通过PAXOS协议强同步,存储成本翻倍,CPU使用也要往上翻。

这里凸显的是TPC-C科学的一面,不限制软件架构和硬件架构。

Oracle不支持PAXOS三机强同步,因此,无法采用和OceanBase一样的架构实现rpo为0,一定需要依赖共享存储来实现不丢数据。因此,在rpo为0的约束下,本质上OceanBase和Oracle只能使用不同的架构。

Oracle共享存储成本高,但硬件很可靠,只需要一个副本;OceanBase使用普通PC Server,单机成本低,但必须存储多个副本并打开在线压缩,这会大幅增加CPU和存储空间。

因此,如何选择,相信用户会有自己的判断力。

出处:老鱼笔记(laoyubiji)

想了解更多关于数据库、云技术的内容吗?

快来关注“数据和云"、"云和恩墨"公众号及"墨天轮”: modb.pro,我们期待大家一同学习与进步!

墨天轮小程序”DBASK“在线问答,随时解惑,欢迎了解和关注!

如何理性看待蚂蚁金服OceanBase刷新TPC-C纪录相关推荐

  1. 蚂蚁金服OceanBase挑战TPCC丨TPC-C基准测试之链路层优化

    导语 在 TPC-C 标准定义中,测试系统分为 RTE(Remote Terminal Emulator)和 SUT 两部分.在实际的 TPC-C 测试流程中,不只是对 DB 端能力的考验,对链路中的 ...

  2. 继蚂蚁金服OceanBase之后,腾讯也祭出了大杀技

    点击蓝色"有关SQL"关注我哟 加个"星标",天天与6000人一起快乐成长 01, 你来我往 在有着数据库界"世界杯"的 TPC-C 压力测 ...

  3. db2 删除存储过程_蚂蚁金服OceanBase挑战TPCC | TPCC基准测试之存储优化

    蚂蚁金服自研数据库 OceanBase 登顶 TPC-C 引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请 OceanBase 核心研发人员对本次测试进行技术解读,共包括五篇: 1)TP ...

  4. 蚂蚁金服OceanBase挑战TPCC | TPC-C基准测试之存储优化

    蚂蚁金服自研数据库 OceanBase 登顶 TPC-C 引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请 OceanBase 核心研发人员对本次测试进行技术解读,共包括五篇: 1)TP ...

  5. 蚂蚁金服OceanBase挑战TPCC|TPC-C基准测试之数据库事务引擎挑战

    蚂蚁金服自研数据库 OceanBase 登顶 TPC-C 引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请 OceanBase 核心研发人员对本次测试进行技术解读,共包括五篇: 1)TP ...

  6. 蚂蚁金服OceanBase性价比是传统数据库的十倍

    200名数据库领域从业三年以上的会员投票和专业的评委评选,在如此严苛的条件之下,蚂蚁金服金融级分布式关系数据库OceanBase 2.0依然获得了专家评审团的一致青睐,荣获2019中国数据库技术大会的 ...

  7. 蚂蚁金服OceanBase商业化资深总监韩鸿源:数据库是技术能力,云是使用方式,两者不应是竞争关系

    韩鸿源,蚂蚁金服资深总监,目前主要负责蚂蚁金服分布式数据库产品 OceanBase 的商业推广和生态建设. OceanBase 在 2019 年 DTCC 中国数据库技术年度评选中获得"年度 ...

  8. 蚂蚁金服OceanBase商业化资深总监韩鸿源:数据库是技术能力,云是使用方式,两者不应是竞争关系...

    韩鸿源,蚂蚁金服资深总监,目前主要负责蚂蚁金服分布式数据库产品 OceanBase 的商业推广和生态建设. OceanBase 在 2019 年 DTCC 中国数据库技术年度评选中获得"年度 ...

  9. 蚂蚁金服 OceanBase 性能远超 Oracle 100%?告诉你真相

    所有的网站,这两天都在报告这件大事: 中国技术又得世界第一,中国自研数据库OceanBase拿下世界第一!性能远超老牌数据库Oracle 100%! 为什么说这是件大事? 如果说因为我们是玩数据库的, ...

最新文章

  1. ACM SIGKDD | MoFlow:基于流的分子图生成模型
  2. 去除RNA-seq数据批次效应
  3. 笔记-项目沟通管理-高效的会议方案
  4. solr添加kerberos认证及授权
  5. as_hash ruby_Hash.merge(other_hash)方法与Ruby中的示例
  6. Javascript滑动菜单(一)
  7. ubuntu 10.04 install vbox site
  8. 2.STM32F407ZGT6 学习笔记-移植 FreeRTOS
  9. Android 系统(69)---Android7.1.1系统设置默认值大全
  10. 转 windows查看端口占用命令
  11. 小米 红米 历代手机型号大全 发布时间 发布价格
  12. webhook机器人php源码,机器人之钉钉机器人webhook 对接 ThinkPHP3.2 实现Bug告警通知...
  13. 字节跳动java面试题,附详细答案解析
  14. 08python excel一键式统计0.11版本修正利息收入费用正负表达问题
  15. steam饥荒服务器为什么显示未响应,《饥荒:联机版》服务器卡顿原因分析及解决教程...
  16. Word排版计算机类科研论文的格式保证
  17. pt、px、rpx、em、rem到底是什么
  18. 单价飙升至3299!是飞天茅台的两倍,茅台的葡萄酒果真有酱香味?
  19. 梯度下降求函数最小值C++样例
  20. android 车载app怎么开发,Android开发智能车载App(1)---android控件及属性介绍

热门文章

  1. C# 建立Socket连接 持续发送屏幕截图
  2. TypeScript 之泛型
  3. Bootstrap 输入框组中控件的尺寸
  4. HTML abbr元素
  5. Bootstrap CSS 编码规范之不要使用 @import
  6. Git笔记(29) 搜索
  7. c语言打开文件出现分段故障,c fclose() 导致分段故障_segmentation-fault_开发99编程知识库...
  8. linux tbb 安装_Ubuntu18.04 GCC9 安装
  9. datagridview 筛选_【Excel】如何用通配符快速筛选到所需信息
  10. d3.js(v5.7)树状图