百分点大数据评测报告:开源OLAP引擎综评(HAWQ、Presto、ClickHouse)
谈到大数据就会联想到Hadoop、Spark整个生态的技术栈。大家都知道开源大数据组件种类众多,其中开源OLAP引擎包含Hive、SparkSQL、Presto、HAWQ、ClickHouse、Impala、Kylin等。当前企业对大数据的研究与应用日趋理性,那么,如何根据业务特点,选择一个适合自身场景的查询引擎呢? 百分点在某国家级项目中承担了日增超5000亿级的数据处理与分析任务,集群的总数据量已接近百万亿。本报告结合百分点在项目中的业务场景,对HAWQ、Presto、ClickHouse做了综合评测,供大家参考。
一、测试整体方案
B.不同格式下的数据查询能力。 C.特定格式下的HAWQ、Presto、ClickHouse查询能力横向对比。 二、测试组件介绍 1.HAWQ HAWQ是Hadoop原生SQL查询引擎,结合了MPP数据库的关键技术优势和Hadoop的可扩展性、便捷性,以及ANSI SQL 标准的支持;具有 MPP(大规模并行处理系统)的性能,比Hadoop生态圈里的其它SQL 引擎快数倍;具有非常成熟的并行优化器等。 2.Presto Presto是一个分布式的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。Presto是一个OLAP的工具,擅长对海量数据进行复杂的分析。但是,对于OLTP场景,并不是Presto所擅长,所以不要把Presto当做数据库来使用。 3.ClickHouse ClickHouse是“战斗民族”俄罗斯搜索巨头Yandex公司开源的一个极具"战斗力"的实时数据分析数据库,是面向 OLAP 的分布式列式DBMS,圈内人戏称为“喀秋莎数据库”。ClickHouse有一个简称"CK",与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,其特点包括:分布式、列式存储、异步复制、线性扩展、支持数据压缩和最终数据一致性,其数据量级在PB级别。 三 、测试环境 1.服务器硬件配置大数据服务器:大数据网络增强型 d1ne 2.OLAP引擎环境 HAWQ环境 Presto环境 ClickHouse环境 3.测试数据 数据存放路径:/data1~12/iplog,一个盘20G,6台服务器每台都是240G,一共1440GB;每台服务器12个盘装载4个分区(小时)数据,每个盘装载4个分区的1/12的数据,4个文件,每个文件大小5G,2500w条记录,一条记录200Byte。 4.测试SQL 测试挑选4个实际典型SQL,大致如下: 四、测试过程 1.HAWQ存储格式与性能评测 经过对比测试后,考虑数据的压缩比、数据的插入速度,以及查询时间这三个维度综合评估,我们的场景推荐HAWQ采用列式存储+Gzip5的压缩方式;如果大家对压缩没有非常高的要求,可以按照测试的详细数据采用其它的组合方式。 HAWQ压缩测试注意事项:只有当orientation=parquet的时候才能使用gzip进行压缩,orientation=row的时候才能使用zlib进行压缩,snappy不支持设置压缩级别。 详细的评测数据及图片展现如下文所示。 行式存储与压缩: HAWQ的插入方式是将数据写入CSV文件后,Load到HAWQ表中。本次评测的是数据Load的过程和最终压缩比。可以发现,zlib压缩级别到5以后,压缩比的降低就不那么明显了。 测试明细: 结果图形展示: 行式存储查询性能: 测试明细: 结果图形展示:
列式存储与压缩: 测试明细: 结果图形展示:
列式存储查询性能: 测试明细:
2.Presto存储格式与性能评测 经过对比测试后,考虑数据的压缩比、数据的插入速度,以及查询时间这三个维度综合评估,我们的场景推荐Presto采用LZ4+ORC方式。这个结果也与各公司采用的格式一致。 存储与压缩:
查询性能: (编辑:ASP站长网) |