在《 【大数据之数据仓库】选型流水记》一文中有提及,当时没有测试GreenPlum的quicklz压缩算法和ORCA查询优化器,考虑到quicklz压缩算法因为版权问题不会开源(详情请参阅: https://github.com/greenplum-db/gpdb/blob/master/src/backend/catalog/quicklz_compression.c),今天我们就来补上已开源的ORCA查询优化器这一段。

GreenPlum有2个查询优化器:legacy query optimizer(简称LQO)和pivotal query optimizer(简称PQO),而后者就是传说中的ORCA,我把之前LQO和PQO的TPCH对比测试做了简要汇总,整理在本文,以飨各位同学。测试拓扑延续《【大数据之数据仓库】基准测试之TPCH》中的测试环境,选择了10GB和100GB两种规格的数据集,以达到测试纯内存、内存+磁盘这样两种场景。

10GB
10GB数据集的数据基本都在内存里,没有了磁盘IO开销:

 
100GB

 
两个测试结果显示,PQO并没有比LQO占明显优势啊,
为什么?
这里有一篇关于PQO的历史:
https://www.pivotalguru.com/?p=971,简单来说就是:LQO源自postgreSQL的查询优化器,并对其进行了分布式改造,而PQO是对LQO的重构,增强了性能和可维护性。可是,还是回答不了前面的问题......
又翻到一篇关于GreenPlum 4.3版本发布信息的博文:
https://www.pivotalguru.com/?p=614,我把其中比较重要部分截图出来如下:
 
这里有对PQO(ORCA)做了比较具体的描述:1.优化了某些边缘用例;2.优化了某些带分区表、子查询等特殊场景的性能。
看到这里,顿悟了一下,我正在做的TPCH测试,属于Ad-Hoc类型,才22个用例,相对于TPCDS决策支持类型来讲属于比较比较常用和常见的,而且对数据集中的事实表,我也确实没有分区(想知道原因可以留言)......哦哦哦,难怪没有优势=_____=
那,如果换用TPCDS来对比测试,PQO会不会有优势呢?我想这篇HAWQ测试可以告诉我们一些答案:
https://www.pivotalguru.com/?p=1045

本文来自网易云社区,经作者何李夫授权发布。

原文地址:【大数据之数据仓库】GreenPlum优化器对比测试

更多网易研发、产品、运营经验分享请访问网易云社区

【大数据之数据仓库】GreenPlum优化器对比测试的更多相关文章

  1. 【大数据之数据仓库】GreenPlum PK DeepGreen(TPCH)

    1.背景 一张UML类图可以简单的说明GreenPlum和DeepGreen之间的关系: GreenPlum: 主页:http://greenplum.org/ 源码:开源,https://githu ...

  2. 【大数据之数据仓库】安装部署GreenPlum集群

    本篇将向大家介绍如何快捷的安装部署GreenPlum测试集群,大家可以跟着我一块儿实践一把^_^ 1.主机资源 申请2台网易云主机,操作系统必须是RedHat或者CentOS,配置尽量高一点.如果是s ...

  3. 【大数据之数据仓库】HAWQ versus GreenPlum

    谈到GreenPlum,肯定会有同事说HAWQ!是的,在本系列第一篇选型流水记里,也有提到.因为对HAWQ接触有限,没有深入具体了解,所以很多信息都是来自于博文,人云亦云,我把看过的资料简要整理,希望 ...

  4. SQL命令语句进行大数据查询如何进行优化

    SQL 大数据查询如何进行优化? 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索 2.应尽量避免在 where 子句中对字段进行 null 值 ...

  5. 开源大数据引擎:Greenplum 数据库架构分析

    Greenplum 数据库是最先进的分布式开源数据库技术,主要用来处理大规模的数据分析任务,包括数据仓库.商务智能(OLAP)和数据挖掘等.自2015年10月正式开源以来,受到国内外业内人士的广泛关注 ...

  6. 单表60亿记录等大数据场景的MySQL优化和运维之道

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  7. 【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  8. [转载] 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209406532&idx=1&sn=2e9b0cc02bdd ...

  9. 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    015-08-09 杨尚刚 高可用架构 此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美 ...

随机推荐

  1. Java-Maven-Runoob:Maven Eclipse

    ylbtech-Java-Maven-Runoob:Maven Eclipse 1.返回顶部 1. Maven Eclipse Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 ...

  2. java NIO(转载)

    (原文地址:https://zhuanlan.zhihu.com/p/23488863) NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型 ...

  3. Oracle10g客户端连接远程数据库配置图解

    yuanwen:http://blog.csdn.net/DKZhu/article/details/6027933 一.      安装oracle客户端 1. 运行setup.exe,出现 2. ...

  4. 固态硬盘安装win7系统问题。

    可能出现:安装程序无法创建新的系统分区 出现这个错误后, 1.可以先尝试把固态硬盘插在硬盘的第一个硬盘口上,然后安装系统时拔掉U盘刷新再点击安装. 2.可以尝试在PE下直接安装系统. 如果上两个方法都 ...

  5. mssql server修改数据库文件位置 此种方法暂未测试成功

    --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...

  6. JavaScript语言基础-基本数据类型与对象类型

  7. Java微信公众平台开发(三)--接收消息的分类及实体的创建

    转自:http://www.cuiyongzhi.com/post/41.html 前面一篇有说道应用服务器和腾讯服务器是通过消息进行通讯的,并简单介绍了微信端post的消息类型,这里我们将建立消息实 ...

  8. 解读show slave status 命令判断MySQL复制同步状态

    解读show slave status 命令判断MySQL复制同步状态 1. show slave status命令可以显示主从同步的状态 MySQL> show slave status \G ...

  9. Eclipse 代码风格配置

    代码风格配置:

  10. Logstash安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)

    前提 Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) Elasticsearch-2.4.3的3节点安装(多种方式图文 ...