StarRocks测试 - StarRocks vs Impala 性能对比

测试方法

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



hive.metastore.uris



thrift://192.168.1.11:9083

  • 将域名添加到所有机器的/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 15042 7321 2.054637345
Q11 0 1410 0
Q12 15800 7415 2.130815914
Q13 28044 14235 1.970073762
Q14 11099 7594 1.461548591
Q15 19330 13687 1.412289033
Q16 6334 2402 2.636969192
Q17 46142 9758 4.728632917
Q18 0 33176 0
Q19 14472 7583 1.908479494
Q20 18958 7667 2.472675101
Q21 77373 26897 2.876640518
Q22 7209 3688 1.954718004
Total 482792 211550 2.282164973

​​C = 8

Query impala StarRocks Imapa/StarRocks
Q01 16664 22543 0.739209511
Q02 8766 2341 3.74455361
Q03 25471 9869 2.58090992
Q04 25564 10966 2.331205544
Q05 40461 28565 1.416453702
Q06 14471 11483 1.260210746
Q07 73645 16738 4.399868563
Q08 36240 19743 1.835587297
Q09 58073 29132 1.993443636
Q10 21039 10602 1.984436899
Q11 0 2709 0
Q12 23967 12466 1.922589443
Q13 37570 18611 2.018698619
Q14 20287 15113 1.342354265
Q15 38694 27451 1.409566136
Q16 7903 2792 2.830587393
Q17 54877 19449 2.821584657
Q18 0 39803 0
Q19 24556 16146 1.520872043
Q20 25949 16973 1.528839922
Q21 99201 39376 2.519326493
Q22 9647 5128 1.88124025
Total 663045 335487 1.976365701

 C = 16

Query impala StarRocks Imapa/StarRocks
Q01 33109 43032 0.769404164
Q02 14084 4675 3.012620321
Q03 43767 16652 2.628332933
Q04 44760 18309 2.444699328
Q05 59935 45499 1.317281698
Q06 29002 23664 1.225574713
Q07 119317 33133 3.601152929
Q08 70404 39255 1.793504012
Q09 92872 41868 2.218209611
Q10 38625 19463 1.984534758
Q11 0 5731 0
Q12 43914 23269 1.887231939
Q13 69355 30471 2.276098586
Q14 40873 30678 1.332322837
Q15 77504 54967 1.410009642
Q16 11696 3895 3.002824134
Q17 79944 39428 2.027594603
Q18 0 57030 0
Q19 46156 31054 1.486314162
Q20 47937 30430 1.575320407
Q21 163101 78061 2.08940444
Q22 14637 8447 1.732804546
Total 1140992 616250 1.851508316

测试结论

通过以上测试结果可以看到,不同并行度下,StarRocks的性能表现都优于Impala,有近2倍的性能优势。

你可能感兴趣的:(数据仓库,数据仓库,big,data,olap)