近些年来在数据分析领域,涌现出很多开源的技术方案,例如Presto、Spark、Impala等。面对多种选择,客户往往会比较困惑、无从下手。此外,MySQL生态非常火热,但对于数据分析类场景,使用此类关系型数据库是否合适呢?阿里云近期,基于常见的开源数据分析产品和数据库与阿里云自研的分析型数据库MySQL版进行了对比性能测试,希望从中能帮你找到答案。具体测试细节,可参见阿里云官网链接。

01、测试标准:TPC-H

本次对比测试,是使用TPC-H标准。TPC-H(商业智能计算测试)是美国交易处理效能委员会(TPC,Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集。目前在学术界和工业界普遍采用它来评价决策支持技术方面应用的性能。这种商业测试可以全方位评测系统的整体商业计算综合能力,对厂商的要求更高,同时也具有普遍的商业实用意义。TPC-H 是根据真实的生产运行环境来建模,模拟了一套销售系统的数据仓库。其共包含8个基本关系,数据量可设定从1G~3T不等。其基准测试共包含了22个查询,主要评价指标各个查询的响应时间,即从提交查询到结果返回所需时间。其测试结果可综合反映系统处理查询时的能力。

02、测试方案

测试基于阿里云基础环境,在同等(或接近)的硬件配置下,对比分析型数据库MySQL版与MySQL、Presto、Spark、Impala在同等数据规模(100G)下,标准TPC-H的测试结果对比。测试环境如下表:

*点击查看大图


03、测试结果

如下表可以看出,分析型数据库MySQL版比MySQL8.0性能提升100多倍,比其他开源数据分析产品也有6~10倍的性能提升。

*点击查看大图

*表格中对比数据为性能提高倍数,计算方法为(开源-ADB)/ADB。

*测试中Impala、Presto因语法或资源问题,无法全部完成测试。

04、解读数据

在与关系型数据库典型产品-MySQL对比中,分析型数据库MySQL版实现了百余倍的提升。虽然MySQL采用了最新的8.0版本,在复杂SQL处理能方面有了长足的进步,但与专业数据分析类产品对比,差距明显。

在实际使用中,对于查询不太复杂、数据规模不大、响应时间要求不高的情况下,使用原生MySQL是可以接受的。对于稍显复杂的场景,还是建议选择专业的分析类产品。(广告下:分析型数据库MySQL版已推出MySQL分析型实例,欢迎关注!)

对Presto、Spark、Impala的对比中,分析型数据库MySQL版也实现了6~10余倍的性能提升。同样作为分布式数据分析类产品,分析型数据库MySQL版经过多年技术积累,在存储架构、优化器、执行引擎等多领域的创新性成果,可大幅提高海量数据的实时查询性能。测试中除分析型数据库MySQL版外,其余产品都进行部分调优工作(包括参数调整、数据结构调整、语句改写等);而只有分析型数据库MySQL版真正实现了“开箱即用”,零优化、免维护、无开发。除在TPC-H提供的建表语句中增加对分布键的定义外(原有测试标准未考虑到分布式数据库场景),其余未做任何调整。

05、客户选择

回到文章之初的问题,客户如何来选择?这里简单整理了几点:

极致性能

对比测试结果来看,分析型数据库MySQL版在性能上优势明显。这也是依赖于多年技术积累所致。

语法兼容

从测试过程来看,分析型数据库MySQL版对MySQL生态兼容很好,语句无需修改即可使用。其他产品在兼容性方面还需进一步加强。

技术基础

如技术较薄弱的客户,选择分析型数据库MySQL版的商用方案无疑是很合适的。如果客户已经在其他大数据栈有了多年积累,可快速解决问题,则可以选择其他产品。

高性价比

上述测试中,未算考虑经济投入。在使用同样云端资源的情况下,分析型数据库MySQL版较其他产品,具有明显的经济优势。同时,分析型数据库MySQL版也提供了丰富的规格选择,进一步为客户降低成本。例如之前推出的基础版规格,将大数据分析门槛大幅降低;新推出的大存储规格,则面向具备海量数据体量用户;其未来还将有更为丰富且具有弹性的规格推出。(广告下,3月末还将有重磅产品发布,敬请期待!)

简单易用

零维护、免优化,这是分析型数据库MySQL版给很多客户的直观印象。其将数据分析这一原本门槛较高的领域,变得触手可得。感兴趣的同学,可以根据文档说明,快速复现上述测试过程,真正体会下分析型数据库MySQL版带来的价值。

06、写在最后

如上面测试可见,分析型数据库MySQL版性能大幅领先MySQL 、Presto、Spark、Impala等开源产品?这背后有什么技术杀手锏?请期待后续推出的分析型数据库MySQL版性能之巅解密!!!

原文链接
本文为云栖社区原创内容,未经允许不得转载。

“开源”vs“商业”,差别到底有多大?这篇测试一目了然相关推荐

  1. 经济学本科计算机硕士,2021考研,关于经济学专业,学硕与专硕差别到底有多大?...

    经济学无疑是一个比较热门的考研专业,很多同学都想考经济学研究生,但是,面对学硕.专硕.专业.学校又不知道如何选择,所以,通过这篇文章,在对经济学考研有一个详细了解的基础上,再给大家一些建议. 为了详细 ...

  2. 要多大内存才满足_手机运行内存6GB和8GB,它们差别到底有多大?

    现在的智能手机硬件性能越来越强,价格也越来越高.许多人在购买手机的时候,除了关注手机品牌和外形设计之外,能够最直观看到手机性能的一个参数就是内存,这里包含运行内存(RAM容量)以及机身存储(ROM容量 ...

  3. 暑期2020“大咖说开源”之吴雪 | 开源的商业创新

    | 主办方: 中科院软件所.openEuler 社区.开源社 | 编辑:袁睿斌 | 设计:谭嘉露 活动介绍 Overview 开源供应链点亮计划 - 暑期 2020 (https://isrc.isc ...

  4. skylake服务器CPU型号芯片,Skylake与Kaby Lake顶级处理器到底有多大差别?Intel i7-7700K评测...

    在10月份我们已经放出了Intel还没发布的第七代酷睿处理器Kaby Lake的评测,不过当时测试的只是Core i5-7600K,现在顶级的Core i7-7700K终于到了,下面马上就给大家揭晓S ...

  5. 中国SaaS和Salesforce的差距到底有多大?

    来源 / ToB行业头条 (ID:wwwqifu) 作者 / 黄允聪 · 编辑 / 李晓松 瑞雪 前几年,Salesforce的成功激发了国内很多企业和资本的跟进,大家都觉得SaaS可以改变中国B端软 ...

  6. android 6gb和8gb区别,手机6GB内存和8GB内存的差距到底有多大?你可能被忽悠了!...

    原标题:手机6GB内存和8GB内存的差距到底有多大?你可能被忽悠了! 随着科技的发展,现在手机已经是人们生活中必需品,当然现在手机内存也是越来越大,4G运行内存已经是标配了,然而很多人都在好奇6GB运 ...

  7. 一个Java对象到底占用多大内存?

    最近在调研MAT和VisualVM源码实现,遇到一个可疑问题,两者计算出来的对象大小不一致,才有了这样疑惑. 一个Java对象到底占用多大内存? 为了复现这个问题,准备了4个最简单类: class A ...

  8. 开源项目商业模式分析(2) - 持续维护的重要性 - Selenium和WatiN

    该系列第一篇发布后收到不少反馈,包括: 第一篇里说的MonicaHQ不一定盈利 没错,但是问题在于绝大多数开源项目商业数据并没有公开,从而无法判断其具体是否盈利.难得MonicaHQ是公开的,所以才用 ...

  9. 张一鸣批评的互联网“语言腐败”,危害到底有多大?

    张一鸣批评的互联网"语言腐败",危害到底有多大? https://www.toutiao.com/i6945842048234701325/?tt_from=weixin& ...

最新文章

  1. android自定义xml弹窗,Android自定义弹窗提醒控件使用详解
  2. REAL6410、OK6410、TE6410 的区别
  3. 浅谈L0,L1,L2范数及其应用
  4. PPT 下载 | 神策数据杜明翰:数据赋能产品的 3 个锦囊
  5. Linux 查询 OS、CPU、内存、硬盘信息
  6. android程序运行无操作一段时间显示屏保
  7. oracle创建多个游标,Oracle——游标的创建和使用
  8. b站测试岗怎么样_情商测试《大家一起察言观色》,一款适合作为B站测试题的游戏...
  9. 我们该用什么分布式数据库?
  10. 三层结构中的数据层设计
  11. java类库中的设计模式
  12. Linguist for Mac(mac菜单栏语言翻译工具)
  13. ubuntu命令行使用wget下载百度云资源
  14. CMS企业建站的经验
  15. 滕州小学计算机教室,东湖教育四十年|滕州小学--小学校 大世界
  16. [安卓开发] 快递物流信息布局
  17. MATLAB中fplot函数,画出的figure中曲线存在空白的问题与解决方法。
  18. xls文件的读写操作
  19. 从应用到平台 - 云服务架构的演进过程
  20. 西门子300PLC的定时器用法

热门文章

  1. 学习Java能够从事哪些工作?
  2. python字典替换值_python字典改变value值方法总结
  3. Linux环境下怎么使用pip,linux下pip的安装步骤及使用详解
  4. git保存账号密码_Altium Designer 通过Git实现版本控制
  5. java递归实现多级菜单栏_vue+ java 实现多级菜单递归效果
  6. 计算机网络中ping命令的使用方法,ping命令的基础使用技巧
  7. matlab热度图确定色标_C++实现类似Matlab的colormap Jet(灰度图生成彩色热度图)
  8. 好看的按钮html,html-好看的CSS按钮
  9. python缩进说法_【多选题】关于Python程序中与“缩进”有关的说法中,以下选项中错误的是()。...
  10. GPS 校验和 代码_Linux recovery 移除签名校验