StarRocks测试 - StarRocks vs Impala 性能对比

本文通过TPC-H 100G数据集对比了StarRocks与Impala的分析型查询性能。在不同并发度下,StarRocks在大部分场景下展现出接近2倍于Impala的性能优势,特别是在处理JOIN、子查询和Group-by聚合等复杂操作时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试方法

TPC-H是业界常用的一套Benchmark,由TPC委员会制定发布,用于评测数据库的分析型查询能力。TPC-H查询包含8张数据表、22条复杂的SQL查询,大多数查询包含若干表Join、子查询和Group-by聚合等。

本次测试基于TPC-H 100G数据进行,其中主要表数据量如下:LINEITEM表约6亿行,ORDERS表1.5亿行,PARSUPP表8000万行。

测试环境

机器 1台master阿里云主机 3台core阿里云主机
CPU 8Core 32Core
内存 32G 128G
带宽 2.5 Gbit/s 10 Gbit/s

软件部署

节点类型 Impala 3.4.0 StarRocks 2.2
emr-header-1 impala-catalog/impala-state-store FE
emr-worker-1 impala-server BE
emr-worker-2 impala-server BE
emr-worker-3 impala-server BE

测试配置

Impala配置

EMR上默认Impala是访问local hive cluster, 为了跨网络访问HDFS,需要:

  • 修改配置文件
# /etc/ecm/impala-conf

<property>

<name>hive.metastore.uris</name>

<!-- <value>thrift://emr-header-1.cluster-49146:9083</value> -->

<value>thrift://192.168.1.11:9083</value>

</property>
  • 将域名添加到所有机器的/etc/hosts下面
  • 重启所有的impala组件

优化参数如下:

  • num_remote_hdfs_io_threads = 48
  • num_hdfs_worker_threads = 48
  • coordinator_rpc_threads = 48

StarRocks配置

在StarRocks中按照如下方式创建外表,以外表形式访问Hive数据:

CREATE EXTERNAL TABLE `orders` (
  `o_orderkey` int(11) NULL COMMENT "",
  `o_custkey` int(11) NULL COMMENT "",
  `o_orderstatus` varchar(1) NULL COMMENT "",
  `o_totalprice` double NULL COMMENT "",
  `o_orderdate` date NULL COMMENT "",
  `o_orderpriority` varchar(15) NULL COMMENT "",
  `o_clerk` varchar(15) NULL COMMENT "",
  `o_shippriority` int(11) NULL COMMENT "",
  `o_comment` varchar(79) NULL COMMENT ""
) ENGINE=HIVE 
COMMENT "PARTITION BY ()"
PROPERTIES (
"database" = "tpch_100g_zlib",
"table" = "orders",
"resource" = "emr_test",
"hive.metastore.uris"  =  "thrift://192.168.1.11:9083"
);

使用默认配置(下面都是默认值):

  • cbo_max_reorder_node_use_dp = 10
  • cbo_enable_dp_join_reorder = true
  • cbo_max_reorder_node_use_exhaustive = 4
  • enable_global_runtime_filter = true
  • doris_scanner_thread_pool_thread_num = 48

测试结果

Impala在运行Q18的时候出现过OOM,Q11不支持Having子句,因此在统计总体时间时不将这两个查询计算在内。分别测试并发为4,8,16的情况。

C = 4

Query impala starRocks Imapa/StarRocks
Q01 12615 17020 0.741186839
Q02 7075 1548 4.570413437
Q03 19545 8224 2.376580739
Q04 19163 8193 2.338947882
Q05 33196 20808 1.595347943
Q06 7523 5517 1.363603408
Q07 55233 8265 6.682758621
Q08 24650 10121 2.435530086
Q09 43989 23607 1.863387978
Q10</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值