库博体育
首投五大联赛回馈奖金高达50%!
注册 下载
新的比赛
查看全部
  • 穆阿拉巴达克vs诺斯塔尔吉亚FC
    09-11 13:55
  • 珀尔塞兰桑加vs波斯库泰帖木儿
    09-11 14:00
  • PSBS巴克伦佛vs佩斯克
    09-11 14:15
  • 亚齐贝萨尔vs佩萨达阿卜迪亚
    09-11 15:15
  • 菲律宾空军vs菲律宾环球
    09-11 15:30
  • 武汉江汉大学女足vs河南徽商女足
    09-11 15:35
  • 大连权健女足vs长春农商银行女足
    09-11 16:00
  • 哈比普特拉vs塞达邦坦
    09-11 16:00
  • PSM马卡萨vs三宝珑
    09-11 16:30

NBA热门

全站热门

如何理性看待蚂蚁金服 OceanBase 刷新 TPC

NBA 2019-10-06 23:11 在线竞彩

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 吗?

收藏

相关推荐

·RSS地图·足球竞猜网·今日稳胆推荐·今日足球竞彩推荐·足球竞彩专家预测分析

Copyright ©# 2019-2023 . All rights reserved. | 京ICP备13589424号-1