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 和存储空间。
因此,如何选择,相信用户会有自己的判断力。
OceanBase 这两天霸屏朋友圈!
一派是浮夸的宣传,超越 Oracle,世界第一,过度解读,全面否定对手,引起了技术圈内人士的反感,因为刷新 TPC-C 纪录并不能说明 OceanBase 现在就超越了 Oracle。
另一派则是并不客观的质疑,不仅武断的认为 OceanBase 性能测试结果是靠硬件堆出来的,还臆测再测一次,Oracle 拿第一不是难事,而且数字应该远不止两倍;其结论不仅缺乏证据,而且对分布式数据库和 TPC-C 标准缺乏基本了解,略有误导之嫌;
在以前的文章中,我就曾经说过,虽然,我们不能盲目崇信跑分,但跑分的确是一种比较直观反映软硬件性能的方式,尤其是数据库这种性能测试非常复杂的产品。
我们应该如何理性看待 OceanBase 刷新 TPC-C 纪录?我认为搞技术还是要讲究事实,要理性看待还原事实。
刷新 TPC-C 纪录 NB 吗?
相关推荐
哈登:各位兄弟,我那么有热度么?NO. 1 库里库里:防守哈登要保持纪律性 他的造犯规是艺术NO. 2 斯玛特斯玛特:...
当年15万年薪被火箭裁掉,现在却用卡佩拉去换,以前没有怎么关注过他,我是从76人时期开始关注他的,因为他是一...
本届全明星的比赛规则得到了NBA各界的好评!真刀真枪的干一场,众星都是如何评价这一届全明星的呢?不少知名球...
近日,CBA军旅八一队在一场联赛中球员雷蒙和主教练王治郅发生了激烈的冲突,球员已经不服管教了,主教练的权威...
在科比父女坠机遇难后的第三天,瓦妮莎终于更新了社交状态,她更换了账号头像,将此前头像中自己的照片,换成了...
尽管比赛还在继续,但整个篮球世界似乎都因为科比近日的突然离世而陷入了停滞。湖人队自事发后还未进行过比...
理性讨论!联盟该不该退役8号和24号?NBALogo会换成科比吗?联盟该不该退役8号和24号?米切尔等球星在个人社交...
在现实生活中,有多少朋友是在父母的干涉下,选择了并不喜欢的专业,从事着并不喜欢的职业?不过在大多数时候,...
在篮球运动的早期,很少有数据和分析。一般来说,体育运动在很大程度上是反数据科学,因为它似乎不适用于游戏...
虎扑1月24日讯根据NBA记者JarrelHarris的报道,NBA官方今日公布了2020年芝加哥全明星赛的球衣(见新闻配图)。...
湖人客场被绿军爆锤32分!对于波士顿人来说,肯定是无比兴奋得!两座城市的交锋其实在50年那句“Beat LA”开始...
为了能够适应NBA联盟的比赛,球员也需要一直努力提升自身能力,进入NBA联盟并不意味着他们就可以一劳永逸,能...
大鸟伯德,如果是新球迷其实很难体会到拉里伯德曾经在NBA的影响力!如果用上当时对他的另一个富有使命感的绰...
2009年选秀大会众所周知,96黄金一代,03白金一代,一直是球迷朋友怀念的选秀大年。如今来看2009年的选秀大会,...
12月28日,扎克-兰多夫在社交媒体上正式发文宣布退役,并感谢一直以来支持自己的人们。兰多夫发布了一张自己...
不管是球迷还是媒体,都喜欢根据球员实力来给他们排名。我们熟悉的“四大分卫”,科比,卡特,艾弗森,麦迪。“...
对于NBA球队来说,球星往往都是可遇不可求的,所以大部分时候对球星都是比较珍惜的,尤其到了球星合同即将到期...
12月25日北京对阵新疆队的比赛,观众在后排看到了久违的两届CBA常规赛MVP丁彦雨航,和他的好基友睢冉一起出现...
小二每天晚上大约8点左右出一场公推,大约9点左右还会出两场私推。谢谢兄弟们对小二的支持,昨天晚上三个方案...
12月23日,湖人在主场惨败给掘金,独行侠则是输给猛龙,而快船则以六分之差输给雷霆,今日比赛结束后,西部排名...