存储 频道

EMC讲解Hawq SQL:左手Hive右手Impala

  再有,Klahr还在现场演示中拿出一套60节点的Hadoop集群、其中包含来自零售行业的大量客户信息数据。这部分数据总量高达十亿行之巨,按照客户性别被分为两大类。在HDFS、Hive数据仓储及其类SQL式HiveQL的支持下,查询过程耗时超过一小时。但在同一套集群中运行Hawq之后,这套设备仅用了13秒就在台上完成了查询任务。

  下面是演示现场在同一套60节点Hadoop集群设备当中,基于Pivotal HD堆栈的Hawq数据库服务与HDFS-Hive组合带来的不同基准测试结果。那些在Hive方案中需要用掉数小时甚至一整天的查询任务在Hawq这边只要几分钟就能顺利搞定:

EMC讲解Hawq SQL:左Hive右Impala(下)
▲Hawq堆栈在60节点集群设备的各项查询任务中如何碾压Hive

  Hive需要将HiveQL查询转换为MapReduce例程,并将现有存储数据传输到HDFS当中;而Impala项目的数据库层则取自商业级Hadoopa方案Cloudera,在成功将MapReduce挤出处理流程后为每个Hadoop节点引入了数据库执行引擎。Impala能够对查询请求进行并行处理,这一点与Hawq非常相似。不过如大家所见,Greenplum发现Cloudera在并行查询处理方面仍然存在一些不足之处:

EMC讲解Hawq SQL:左Hive右Impala(下)
▲Hawq在与CLoudera的Impala进行比拼时,SQL查询速度仍然胜出——至少在EMC组织的测试中是如此

  “Impala需要处理一个小时的任务在Hawq这边可能只要一分钟,”Klahr对自己的产品不吝赞美之词。

  Cloudera公司去年十月正式公布了Impala项目,并有望在未来一到两个月内将产品推向市场。

  除此之外,EMC还有信心在其它方面占用HDFS与Impala这对搭档,即规模水平。下图即为两套方案的规模化能力比较:

EMC讲解Hawq SQL:左Hive右Impala(下)
▲EMC声称其专为HDFS打造的Hawq数据库比Cloudera的Impala更具规模化能力

  Impala项目在并行查询速度方面的忽上忽下令人生疑,因为照理来说集群当中的节点越多、处理速度就应该越快才对——至少在Hawq集群这方面,确实与节点越多速度越多的预期相符。上述测试使用了完全相同的数据合集,并分别在15、30及60节点环境下加以验证。根据Sherry的解释,Hadoop技术的意义就在于只要节点规模能够翻倍、查询请求的处理速度也将等比例提高。

  Cloudera公司的Impala项目在由15节点向30节点环境切换之后,处理速度的确有所放缓。正如Klahr所说,“这证实了在并行环境下处理此类查询请求的挑战所在。”

0
相关文章