1.背景

一张UML类图可以简单的说明GreenPlum和DeepGreen之间的关系:

GreenPlum:
DeepGreen:

DeepGreen官方宣传的优势:

事实是否如此呢?
2.测试
10GB数据集下的测试结果如下:
 
DeepGreen比GreenPlum快,基本符合预期,至于快多少倍,我们暂不关心,毕竟10GB的容量对于数据仓库来讲太小了。

1TB数据集下的测试结果如下:

 
大部分sql都是DeepGreen比GreenPlum快,但是3、5、17都是GreenPlum快,
不符合预期!
3.分析
我在附件中贴上了第1和第3两个sql的explain以及DDL,大家感兴趣的话可以对比下,能发现一些有趣的东西:)
我们关心的是为什么DeepGreen会比GreenPlum慢!?我们以第3个sql来进行分析。
照着explain文件逐行分析比对数据总结成如下两个执行计划图,左边是GreenPlum的执行计划,右边是DeepGreen的执行计划:
 
整个执行计划扫描3张表,原始记录:lineitem表有5,999,989,709条记录,orders表有1,500,000,000条记录,customer表150,000,000条记录。
明显的,两个执行计划不一样,图中的数字是从explain文件中抽取出来的,表示的是每个节点执行完后的有效数据记录数量;每个执行计划的耗时主要集中在图中蓝色节点部分。
善于观察的同事应该已经看到右侧执行计划中的红色框框部分了:)
在custkey关联这个阶段:
左侧各节点的计算量:(149,630,385/72) x 29,998,152 = 2,078,199 x 29,998,152
右侧各节点的计算量:144,147,772 x (3,266,814,571/72) = 144,147,772 x 45,372,424
两个执行计划的关联计算任务不在一个量级,耗时也显而易见了,这就是为什么DeepGreen比GreenPlum执行慢的原因!而为什么DeepGreen会优化选择这个慢的方案,这就同他优化器的具体实现有关了。

附件:
看这里:

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

原文地址:【大数据之数据仓库】GreenPlum PK DeepGreen(TPCH)

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

【大数据之数据仓库】GreenPlum PK DeepGreen(TPCH)的更多相关文章

  1. 【大数据之数据仓库】GreenPlum优化器对比测试

    在< [大数据之数据仓库]选型流水记>一文中有提及,当时没有测试GreenPlum的quicklz压缩算法和ORCA查询优化器,考虑到quicklz压缩算法因为版权问题不会开源(详情请参阅 ...

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

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

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

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

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

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

  5. 论战大数据----胖子哥的PK之旅(一)

    胖子哥(1106110976) 9:35:36 http://www.cnblogs.com/hadoopdev/p/3531963.htmlnosqlt数据库-肖(380594863) 9:38:0 ...

  6. 【大数据之数据仓库】kudu性能测试报告分析

    本文由  网易云发布. 这篇博文主要的内容不是分析说明kudu的性能指标情况,而是分析为什么kudu的scan性能会这么龊!当初对外宣传可是加了各种 逆天黑科技的呀:列独立存储.bloom filte ...

  7. Greenplum——大数据时代高性能的数据仓库与BI应用平台

    一. Greenplum简介 大数据是个炙手可热的词,各行各业都在谈.一谈到大数据,好多人认为就是Hadoop.实际上Hadoop只是大数据若干处理方案中的一个.现在的SQL.NoSQL.NewSQL ...

  8. DW(一):大数据DW架构参考

    DW一直以来是企业信息与决策支持系统的核心组件,随着各类日志.社交.传感等非结构化数据的加入,企业内部数据按指数级增长,传统DW已经达到一个关键临界点——需要大量的资源投入到硬件.优化.支持和维护中, ...

  9. 关于BI商业智能的“8大问”|一文读懂大数据BI

    这里不再阐述商业智能的概念了,关于BI,就从过往的了解,搜索以及知乎的一些问答,大家困惑的点主要集中于大数据与BI的关系,BI的一些技术问题,以及BI行业和个人职业前景的发展.这里归纳成8个问题点,每 ...

随机推荐

  1. mybatis-spring升级导致的异常

    先记录一下,已被后面排查问题 升级前pom.xml依赖信息: <dependency> <groupId>org.mybatis</groupId> <art ...

  2. 1146 Topological Order

    题意:判断序列是否为拓扑序列. 思路:理解什么是拓扑排序就好了,简单题.需要注意的地方就是,因为这里要判断多个,每次判断都会改变入度indegree[],因此记得要把indegree[]留个备份.ps ...

  3. Cocos2D中的内部函数

    virtual bool isVisible();    // 是否可见    virtual void setVisible(bool visible);      // 设置是否可见    boo ...

  4. PHP AST学习

    前一阵和前同事交流在检测webshell方面的相关方法,其中提出了使用lex yacc做一套语法解析来解析字节码段来判断是否存在webshell. 后来在查找相关资料中,找到了github开源的一个工 ...

  5. python's ninth day for me

    函数 函数的定义与调用: #def  关键字  定义一个函数. # my_len  函数名, 函数名的书写规则与变量的命名一致. # def  与函数名中间一个空格. # 函数名() :  加上冒号. ...

  6. Python Twisted系列教程4:由Twisted支持的诗歌客户端

    作者:dave@http://krondo.com/twisted-poetry/  译者:杨晓伟(采用意译) 你可以在这里从头开始阅读这个系列. 第一个twisted支持的诗歌服务器 尽管Twist ...

  7. 4.Django使用celery

    1. 配置celery   创建django项目celery_demo, 创建应用demo: django-admin startproject celery_demo python manage.p ...

  8. [原创]Spring boot 框架构建jsp web应用

    说明 Spring boot支持将web项目打包成一个可执行的jar包,内嵌tomcat服务器,独立部署 为支持jsp,则必须将项目打包为war包 pom.xml中设置打包方式 <packagi ...

  9. aop计算方法耗时

    package necs.omms.common.aop; import lombok.extern.apachecommons.CommonsLog;import org.apache.common ...

  10. 关闭SublimeText自动更新

    [关闭SublimeText自动更新] 1.找到Preferences -> Settings-User(设置用户) 2.在最后一个花括号结尾(“}”)前添加一句:”update_check&q ...