机房360首页
当前位置:首页 » 数据中心资讯 » Hadoop发行版厂商星环发布TPC-DS评测结果

Hadoop发行版厂商星环发布TPC-DS评测结果

来源:企业网D1Net 作者:yuxin编辑 更新时间:2014-11-5 11:36:21

摘要:大数据基础技术领域中Hadoop的地位已获得广泛认同,但目前国内外市场上的Hadoop版本也是林林总总,到底该参照什么标准来考评Hadoop,尤其是给企业应用的Hadoop发行版平台呢?

  Transwarp Inceptor可以支持99个测试案例中的72个测试SQL,并且没有SQL会出现运行错误。在Inceptor 4.0版本中,我们会加入更多的SQL支持,如Intersect/Except Operator,多层级的correlated subquery等,SQL的支持度将会进一步提高。

  下表是TPC-DS官方标准测试集合要求的主要SQL语法功能,以及Transwarp Inceptor和Cloudera Impala的支持情况:

 

  由于Cloudera Impala的SQL语法支持非常有限,在Cloudera发布的测试集合中的20个SQL,只有6个是官方正式发布的版本。另外所有SQL中都只有一个事实表,没有出现多个事实表的案例。在TPC-DS的标准测试集合中,一共有39个测试案例是多个事实表之间的连接,而这些案例全部不在Cloudera Impala的测试集合中。此外所有的SQL中事实表都被加上了一个partition key的过滤条件,因此Cloudera的测试有些不够严谨。

  与之相对应的,Transwarp Inceptor原生支持窗口统计函数和多维度GROUP BY统计,另外有Cost based optimizer来实时的生成过滤条件,选择更佳的表连接顺序,挑选更合适的表连接算法等,所以能够有效的支持这些标准的SQL测试案例。

  稳定性比较

 

  上图是整个测试过程中出现的Out Of Memory次数的比较。Cloudera Impala是基于内存的计算模式,内部采用thrift作用通信协议,所以只要网络或者内存有波动就比较容易出现错误,由于没有相应的容错设计,整个测试的稳定性表现比较差。在测试过程中,部分SQL(如query3,19,42等)一共有10次跑出Out Of Memory的错误,我们每次遇到这种问题后都会重启Impala来完成测试,否则会重复的遇到这个问题。因此,Cloudera Impala的测试过程中有大量的手工动作。

  相比较而言,Transwarp Inceptor也是基于内存的计算,但是支持数据可动态地从内存换入换出到磁盘,能够有效的容错等内存使用量超大的计算场景,尤其是在有大量数据倾斜状况(data skew)的场景。另外大量的数据shuffle都是通过HDFS完成的,因此可以确保正确性和容错能力。由于出色的健壮性和容错性,Transwarp Inceptor整个测试计划全部是自动完成的。

  性能比较

  下图是所有的测试集合的性能对比图。图中纵坐标小于1表述测试案例中Cloudera Impala

  性能超过Transwarp Inceptor,而大于1则表示Transwarp Inceptor有更好的性能表现。对于Cloudera Impala不能支持的SQL,我们就标记这个性能比为100。

  从图中可见,在Cloudera Impala支持的20个SQL中,有11个SQL的表现超过Transwarp Inceptor,2个表现相当,另外7个Transwarp Inceptor比Cloudera Impala表现的更好。

 

  由于Cloudera Impala的测试案例中手工的给事实表添加了partition key的过滤条件,因此能够有效过滤大量数据,实际参与计算的数据量比Transwarp Inceptor要少,所以在这些相关的案例中Cloudera Impala得以表现良好。另外一些SQL逻辑非常简单的案例中Cloudera Impala的表现也比较好,这个则要归功于Cloudera Impala使用C++代码开发,相对来说执行效率超过Transwarp Inceptor的Java语言。除此之外的其他案例中,如逻辑复杂的SQL、或大量数据参与实际计算、或窗口统计等情况中,Transwarp Inceptor无论从稳定性还是性能上表现都更为超越。

  另外,在和开源的Hive执行效率相比中,Inceptor 3.4能够带来10x~100x的性能提升。下图是TPC-DS的部分query在Inceptor和CDH Hive的性能提升倍数,其中最大的提升倍数竟可达到123倍。需要说明的是,这里用的Query跟Impala运行的相同。

 

  更多详细的性能比较以及TPC-DS的测试配置和细节可以参考星环发布的性能白皮书。

  测试小结

  通过Transwarp Inceptor和Cloudera Impala在TPC-DS案例上的对比,我们不难得到如下结论:

  Transwarp Inceptor在SQL支持度上远胜于Cloudera Impala,应用迁移成本更低。

  Transwarp Inceptor在稳定性和容错性上表现优于Cloudera Impala,系统运维成本更低。

  Transwarp Inceptor在性能表现上和Cloudera Impala基本相当,都有各自擅长的应用场景。

  Transwarp Inceptor和Cloudera Impala的可扩展性方面的比较由于硬件资源的限制而没有测试,后期我们会加上相应的测试结果。

  结语

  虽然标准的Hadoop能够解决用户在数据处理上能与不能的问题,但却不能有效满足用户更深层次的需求,尤其两个方面:一是传统Hadoop使用MapReduce框架作为计算引擎,所有的数据计算以磁盘为中心,因此计算时间长,任务调度延时大,不适合交互式或者迭代式计算场景;二是Hive QL作为Hadoop的查询语言,其支持的语法比传统的SQL要小很多,因此不能满足实际用户的应用要求。

  星环科技的Transwarp Inceptor交互式分析引擎构建于Hadoop之上,但使用Spark作为其默认计算引擎。Spark采用基于内存的计算模型和更细粒度的并发调度等技术,有效解决了MapReduce的高延时问题。在Spark基础上,Transwarp Inceptor还扩展了多种执行引擎的优化技术,推出了基于内存与SSD的混合存储结构,有效将SQL任务执行的时间在开源Spark的技术上再降低了数倍,因而能够有效地应用于交互式和迭代式计算场景。

  Transwarp Inceptor采用自主研发的SQL编译引擎,完善地支持SQL92、SQL'99等标准,并且部分支持SQL2003以及PL/SQL,因此能够有效满足大部分客户的应用需求,避免大量的应用重写工作。

  随着在大数据领域国内外开始处于同一起跑线,我们相信像星环科技这样国内具有代表性的Hadoop发行版厂商将在中国的广阔市场空间中获得长足发展,并且由于中国市场激烈的竞争与磨练,逐步打磨出超越国外先进厂商的技术与实力。

  责任编辑:余芯

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2014115/n042562801.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片