开源OLAP引擎测评报告(SparkSql、Presto、Impala、HAWQ、ClickHouse、GreenPlum)

本文详细测评了SparkSql、Presto、Impala、HAWQ、ClickHouse和GreenPlum等开源OLAP引擎的性能,通过TPC-DS测试与单表测试方案进行对比。测试结果显示,Presto和Impala在多表查询性能上表现优异,而ClickHouse在单表查询中展现出卓越性能。HAWQ和GreenPlum在特定场景下有所局限。
摘要由CSDN通过智能技术生成

本文为博主公司原创文章,仿冒必究,转载请回复留言

开源OLAP引擎测评报告(SparkSql、Presto、Impala、HAWQ、ClickHouse、GreenPlum)

易观CTO 郭炜 序
现在大数据组件非常多,众说不一,在每个企业不同的使用场景里究竟应该使用哪个引擎呢?这是易观Spark实战营出品的开源Olap引擎测评报告,团队选取了Hive、Sparksql、Presto、Impala、Hawq、Clickhouse、Greenplum大数据查询引擎,在原生推荐配置情况下,在不同场景下做一次横向对比,供大家参考。
每年易观都会发布一次这样的大数据开源测评报告,欢迎大家给出更好的测评意见以及想要测试的组件。易观Spark实战营是易观大数据技术团队组织的针对大数据初学者的实战训练营,欢迎搜索访问“易观数据极客社区”,在文章后留言,交流最新最全的大数据技术。

目录

一、测试方案

1.1测试整体方案

本次测试针对现有Olap的7大Sql引擎Hadoop(2.7)、Hive(2.1)、Hawq(3.1.2.0)、Presto(0.211)、Impala(2.6.0)、Sparksql(2.2.0)、Clickhouse(18.1.0-1.El7)、Greenplum(5.7.0) 基础性能测试。我们采用多表关联和单大表性能分别对比不同组件在查询性能、系统负载等方面的情况,测试方案如下:

  1. 1,多表关联采用Tpc-Ds基准测试工具生成相应测试语句和数据进行测试,
  2. 2,单大表测试同样选用Tpc-Ds基准测试工具生成的最大数据量的表,并采用我们选用的一些常规性聚合语句进行测试。

1.2 TPC-DS测试与单表测试方案及数据准备

TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张维度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试集。

本次测试采用TPC-DS提供的dsdgen命令工具生成指定量级的测试数据,我们指定数据量级为100G。

生成的各个表的数据量如下:

通过使用dsqgen命令根据TPC-DS提供的模板生成不同类型的SQL语句,TPC-DS默认支持以下模板:db2.tpl、netezza.tpl、oracle.tpl、sqlserver.tpl。我们通过命令生成sqlserver.tpl模板的SQL语句,分别对其进行细微的修改使其符合不同的olap引擎支持的语法规则。

对于多表关联测试,我们从中选取了15条有代表性的sql语句(见附件二),几乎所有的测试案例都有很高的IO负载和CPU计算需求,涵盖了几乎所有的业务场景。

对于单大表测试,我们选择TPC-DS生成的测试数据集中数据量最大的表store_sales,并选用了9条使用频率高的常规性聚合sql语句进行测试(见附件三)。

1.3环境准备

本次测试方案的硬件环境使用三台物理机,操作系统为centos7ÿ

impala是一种高性能分析型数据库,它基于Hadoop生态系统,可以快速执行复杂的查询。它使用列式存储、编译器技术和并行查询执行来实现高性能。 druid是一个快速、实时的数据存储和分析引擎,它适用于大规模的实时数据处理和探索式分析。它支持实时数据摄取、查询和可视化,可用于数据仪表盘和实时报告等应用。 presto是一种开源的分布式SQL查询引擎,它可以快速查询多种数据源,包括Hadoop、MySQL等。它具有高度可伸缩性和灵活性,可用于快速进行复杂的数据分析和联机查询。 kylin是一种开源的分布式分析引擎,它可以快速处理大规模数据集。它支持多维分析和复杂的OLAP查询,并提供了数据立方体和预计算功能,用于加速查询速度。 clickhouse是一种列式数据库管理系统,专门用于高性能分析型应用。它支持实时查询和高并发访问,并具有低延迟和高容量的优势,适用于大规模的数据分析和数据仪表盘等应用。 greenplum是一种高性能的并行关系数据库管理系统,适用于大规模数据仓库和分析型应用。它具有高度可伸缩性、并行查询和优化的特性,用于高速查询和处理大规模数据。 总的来说,这些数据库和查询引擎都旨在提供高性能和灵活性,以满足大规模数据分析和查询的需求,但它们在技术架构、数据存储方式和查询优化等方面存在一些差异。选择适合特定需求的数据库和查询引擎取决于实际情况和使用场景。
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值