StarRocks TPC-DS 基准测试深度解析

StarRocks TPC-DS 基准测试深度解析

【免费下载链接】starrocks StarRocks是一个开源的分布式数据分析引擎,用于处理大规模数据查询和分析。 - 功能:分布式数据分析;大规模数据查询;数据分析;数据仓库。 - 特点:高性能;可扩展;易于使用;支持多种数据源。 【免费下载链接】starrocks 项目地址: https://gitcode.com/GitHub_Trending/st/starrocks

一、TPC-DS基准测试概述

TPC-DS是由美国交易处理效能委员会(TPC)制定的决策支持系统基准测试标准,相比TPC-H,它提供了更复杂、更全面的测试场景。该测试模拟了零售企业的三种销售渠道(实体店、互联网、目录)的业务场景,包含24张表结构和99个复杂查询,数据规模可从1GB扩展到3TB不等。

二、测试环境配置

2.1 硬件环境

测试采用4台阿里云主机,配置如下:

  • CPU:8核 Intel Xeon Platinum 8269CY @ 2.50GHz
  • 内存:32GB
  • 网络:5Gbps带宽
  • 存储:ESSD云盘

2.2 软件环境

对比测试了StarRocks 3.0社区版和Trino-419:

  • StarRocks部署:1个FE节点 + 3个BE节点
  • Trino部署:1个Coordinator + 3个Worker
  • 操作系统:CentOS 7.8
  • 数据存储:Hive 3.1.2管理,Parquet格式+LZ4压缩

三、测试数据规模

测试采用100GB规模的TPC-DS数据集,主要表数据量如下:

表名数据量(行)
catalog_sales1.44亿
store_sales2.88亿
inventory3.99亿
catalog_returns1440万
store_returns2880万

四、性能对比结果

4.1 总体性能

在99个查询的总耗时对比中:

  • StarRocks本地存储:174秒
  • StarRocks Hive外表:239秒
  • StarRocks Hive外表(开启Data Cache):176秒
  • Trino:892秒

性能倍数关系

  • 本地存储是Trino的5.1倍
  • Hive外表是Trino的3.7倍
  • Hive外表+Data Cache是Trino的5倍

4.2 典型查询性能

选取几个典型查询的耗时对比(单位:ms):

查询StarRocks本地StarRocks外表Trino
Q4(复杂聚合)16,18013,22948,176
Q23(大表连接)24,50024,746145,850
Q67(复杂分析)15,48623,74358,091
Q72(多表关联)1,7642,73313,973

五、测试方法详解

5.1 数据生成

使用tpcds-poc工具生成100GB测试数据:

wget https://starrocks-public.oss-cn-zhangjiakou.aliyuncs.com/tpcds-poc-1.0.zip
unzip tpcds-poc-1.0
cd tpcds-poc-1.0
sh bin/gen_data/gen-tpcds.sh 100 data_100

5.2 StarRocks本地表测试

  1. 创建表结构:
sh bin/create_db_table.sh ddl_100
  1. 导入数据:
sh bin/stream_load.sh data_100
  1. 执行测试:
sh bin/benchmark.sh -p -d tpcds

5.3 Hive外表测试

  1. 创建Parquet格式外表:
CREATE EXTERNAL TABLE call_center (
  cc_call_center_sk int,
  cc_call_center_id string,
  ...
) STORED AS PARQUET LOCATION '/user/tmp/parquet/call_center';
  1. 从CSV导入数据:
INSERT INTO tpcds_100g_parquet_lz4.call_center 
SELECT * FROM tpcds_100g_csv.call_center 
ORDER BY cc_call_center_sk;

六、性能优化建议

  1. Data Cache使用:测试显示开启Data Cache后,Hive外表查询性能提升35%,接近本地存储性能

  2. 聚合下推:通过设置cbo_push_down_aggregate_mode参数优化聚合操作

  3. 数据组织:对常用查询条件列进行排序存储可提升查询效率

  4. 资源配置:适当增加BE节点内存可提升复杂查询性能

七、结论分析

StarRocks在TPC-DS测试中展现出显著优势:

  1. 向量化执行引擎高效处理复杂分析查询
  2. CBO优化器智能选择最优执行计划
  3. 本地存储格式针对分析场景深度优化
  4. 外表查询通过Data Cache减少IO开销

这些特性使StarRocks成为实时分析场景的理想选择,特别适合需要快速响应复杂查询的大数据环境。

【免费下载链接】starrocks StarRocks是一个开源的分布式数据分析引擎,用于处理大规模数据查询和分析。 - 功能:分布式数据分析;大规模数据查询;数据分析;数据仓库。 - 特点:高性能;可扩展;易于使用;支持多种数据源。 【免费下载链接】starrocks 项目地址: https://gitcode.com/GitHub_Trending/st/starrocks

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值