打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
实时查询引擎

  到目前为止,已经介绍了几个最主要的实时查询引擎,分别是:

  在这几个实时查询引擎中,个人感觉最易用的应属Impala,因为它跟CDH集成在一起,无论在安装、管理、使用上都非常方便,且与HIVE天然集成,数据共享,兼容性好。而最灵活的应属Drill和Presto, Drill可以针对文件、目录、HIVE表作数据分析查询。Presto则有各种各样的连接器, 可扩展性非常高。
  下面来对这几个组件进行一个简单的比较:

  • 安装方面:最快速最简单的当属Impala,因为Impala与CDH集成在一起,不需要另外安装,可以直接通过WEB界面添加服务完成安装。而Apache Drill也非常快捷,简单的更改配置文件,复制到每台服务器上即可。最复杂的当属HAWQ了,更改了Greenplum的存储方式,但其它没有变化,安装过程就一样的步骤多而麻烦了,不过HAWQ也可以通过Ambari图形界面安装。

  • 内存使用:大家都是基于内存运算来达到实时级别的。但当内存达到极限时的表现却各有不同。Drill会直接产生异常, Impala在有限的情况下(实际感受就没存在过)可以实现磁盘溢出运算,其它也是直接抛出异常。而Presto没有明确的表态,实际测试也没有产生过溢出异常。HAWQ跟Greenplum完全一样,可以在内存不出时,溢出到磁盘进行运算的。

  • SQL兼容性:作为对标准DML的支持,其实大家都差不多。不能执行DELETE,UPDATE,剩下就只有SELECT了。标准的GROUP, JOIN, LIMIT,HAVING, ORDER BY是必须支持的。余下的就看支持的扩展语法是否丰富,分析函数是否丰富,内置函数是否丰富了。而大家都是混大数据界的,分析函数那是多少都必须支持的。在以上三方面,最丰富的肯定当属HAWQ了,保留了Greenplum所有的功能,跟Oracle非常相似。其它几个也都支持了比较常用的一些,可以满足大部分情况使用。另外最值得一值的是, HAWQ还支持PL/java, PL/Perl,PL/pgSQL等过程语言。

  • SQL执行效率方面。下面通过一个简单的查询测试来看看吧:

 DrillPrestoImpalaHAWQ
数据加载(15970428行)  16.69s(INSERT SELECT方式)49s(COPY方式)
求总记录数48.71s,37.16s6s,1s1.14s,1.13s1.02s,1.07s
按category汇总求最大/小15.8s,18.6s9s,7s1.85s, 1.67s4.1s, 1.2s

  > 数据加载Drill,Presto直接使用Impala加载后的数据,不需要重复加载。且HAWQ与Impala的数据加载速率也没有可比性,执行方式完全不一样。
  > 每一个查询测试都执行了两次
  > 测试中总共有3个DataNode节点,但HAWQ只有2个Segment节点在运行。其它都是3个节点
  > 从以上简单的测试结果来看, Impala与HAWQ的执行效率都是非常快且不相上下的。其次Presto的执行效率也还行,而Drill。。。

  • 高可用性方面:最靠谱的当属Drill了,无主节点的设置,即使在战斗到只剩最后一个节点时,仍然可以继续使用。而其它三个组件都有弱点,Impala是Catalog,Statestore角色,Presto是兼用Discovery功能的Coordinator节点,HAWQ是Master主节点。虽然像HAWQ可以通过主备方式来避免,其它的也很少挂掉,且会自动重启。但这毕竟是它的软肋。

  至此,实时查询引擎系列就暂告段落了,有遗误的地方请大家留言告知。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
详解开源大数据引擎Greenplum的架构和技术特点
大数据查询Druid,Impala,Presto,SparkSQL对比
一文详解MPP大规模并行处理架构
你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库(下)
开源大数据引擎:Greenplum 数据库架构分析
聊聊Greenplum的那些事
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服