同等资源下 Apache Doris 4.2 vs StarRocks 4.1.1:1TB SSB 与 TPC-H 性能实测

文章转载自:野生数据人

分析型数据库的性能比较,最终还是要回到真实 Query 和实际运行数据。

我们基于 Apache Doris 4.2 与 StarRocks 4.1.1,在相同计算资源和相同测试协议下进行了新一轮 1TB 规模性能测试。目前已经完成 SSB、SSB-Flat 和 TPC-H 三组测试(TPC-DS 测试仍在进行中,后续将单独公布)。

从已经完成的结果来看:

Benchmark StarRocks Doris Doris 查询总耗时变化
SSB SF1000 19,566 ms 14,779 ms 降低 24.5%
SSB-Flat SF1000 14,474 ms 12,930 ms 降低 10.7%
TPC-H SF1000 89,335 ms 67,974 ms 降低 23.9%

在目前完成的 48 条 Query 中,Doris 有 35 条 Query 耗时更低,StarRocks 有 13 条 Query 耗时更低。

需要说明的是,我们没有试图用单个数字概括所有场景。不同 Query 的执行特征不同,因此除了 Benchmark 总耗时之外,更值得关注的是 Query 级别的表现和差异。

测试环境

本次测试使用相同的 FE/BE 节点数量和硬件规格,并遵循相同的测试执行协议。

项目 配置
对比版本 Doris 4.2 / StarRocks 4.1.1
Benchmark SSB SF1000 / SSB-Flat SF1000 / TPC-H SF1000 / TPC-DS SF1000
FE ecs.r9i.large-2c16g300 × 1
FE 规格 2 vCPU / 16 GiB / 300 GB
BE ecs.g9i.8xlarge-32c128g300 × 3
BE 规格 32 vCPU / 128 GiB / 300 GB
测试原则 两侧保持相同节点数量、硬件规格及测试执行协议

SSB:Doris 总查询耗时降低 24.5%

在 SSB SF1000 测试中,13 条 Query 里有 10 条 Doris 查询耗时更低。

Query StarRocks Doris 差异
q1.1 367 463 SR快21%
q1.2 366 362 Doris快1%
q.3 366 381 SR快4%
q2.1 2484 1374 Doris快45%
q2.2 1943 1531 Doris快21%
q2.3 1920 1258 Doris快34%
q3.1 3329 2615 Doris快21%
q3.2 1832 1589 Doris快13%
q3.3 1623 589 Doris快64%
q3.4 569 372 Doris快35%
q4.1 3405 2883 Doris快15%
q4.2 832 791 Doris快5%
q4.3 530 571 SR快7%
总计 19566 14779 Doris快24%

StarRocks 完成全部 Query 共耗时 19,566 ms,Doris 为 14,779 ms,Doris 总查询耗时降低约 24.5%。

差异比较明显的 Query 包括:

  • Q3.3:1,623 ms → 589 ms,耗时降低 63.7%

  • Q2.1:2,484 ms → 1,374 ms,耗时降低 44.7%

  • Q3.4:569 ms → 372 ms,耗时降低 34.6%

  • Q2.3:1,920 ms → 1,258 ms,耗时降低 34.5%

与此同时,StarRocks 在 Q1.1、Q1.3 和 Q4.3 上耗时更低,其中差距最大的是 Q1.1。

从 Query 分布来看,Doris 的优势并不是由单个 Query 拉动:Q2、Q3 两组中的多个 Query 都获得了较明显的延迟下降。

SSB-Flat:宽表场景总耗时降低 10.7%

我们进一步测试了 SSB-Flat。

相比标准 SSB 的星型模型,SSB-Flat 将数据组织为宽表,可以减少运行时的关联操作,也是 OLAP 系统中非常典型的一类数据建模方式。

这组测试中,Doris 仍然有 10/13 条 Query 耗时更低。

Query StarRocks Doris 差异
q1.1 397 381 Doris快4%
q1.2 355 286 Doris快19%
q1.3 621 275 Doris快56%
q2.1 1741 1350 Doris快22%
q2.2 1875 1110 Doris快41%
q2.3 1227 1145 Doris快7%
q3.1 1864 1925 SR快3%
q3.2 2016 1798 Doris快11%
q3.3 952 862 Doris快9%
q3.4 325 297 Doris快9%
q4.1 2155 2493 SR快14%
q4.2 497 461 Doris快7%
q4.3 449 547 SR快18%
总计 14474 12930 Doris快11%

StarRocks 总耗时为 14,474 ms,Doris 为 12,930 ms,整体降低约 10.7%。

其中:

  • Q1.3:621 ms → 275 ms,耗时降低 55.7%

  • Q2.2:1,875 ms → 1,110 ms,耗时降低 40.8%

  • Q2.1:1,741 ms → 1,350 ms,耗时降低 22.5%

  • Q1.2:355 ms → 286 ms,耗时降低 19.4%

StarRocks 则在 Q3.1、Q4.1 和 Q4.3 上耗时更低。

一个比较有意思的现象是,相比标准 SSB,进入 Flat 宽表模式后,两套系统的整体性能差距有所缩小。但 Doris 仍然在多数 Query 上取得更低的查询耗时,并最终获得约 11% 的总耗时优势。

TPC-H:22 条 Query 中 15 条 Doris 耗时更低

TPC-H SF1000 对复杂分析查询提出了更高要求,包括多表关联、聚合、子查询以及不同选择率的过滤条件。

在这组测试中:

StarRocks 22 条 Query 总耗时为 89,335 ms,Doris 为 67,974 ms,Doris 总查询耗时降低约 23.9%。

Query StarRocks Doris 差异
q1 8371 8302 Doris快1%
q2 634 573 Doris快10%
q3 3254 2678 Doris快18%
q4 1964 913 Doris快54%
q5 6645 2901 Doris快56%
q6 381 407 SR快6%
q7 6161 2189 Doris快64%
q8 5201 2738 Doris快47%
q9 14135 8145 Doris快42%
q10 3894 2394 Doris快39%
q11 604 623 SR快3%
q12 662 740 SR快11%
q13 8424 5795 Doris快31%
q14 811 560 Doris快31%
q15 1408 948 Doris快33%
q16 1054 2751 SR快62%
q17 1971 2574 SR快23%
q18 10951 9044 Doris快17%
q19 3262 1860 Doris快43%
q20 3528 4203 SR快16%
q21 4886 6589 SR快26%
q22 1134 1047 Doris快8%
总计 89713 67974 Doris快24%

22 条 Query 中,Doris 有 15 条耗时更低。

部分差距较明显的 Query 如下:

可以看到,在若干包含多表关联、聚合、复杂过滤等操作的 Query 中,Doris 拉开了较明显的耗时差距。

另一方面,Doris 并非在所有 Query 上都占优。StarRocks 在 Q6、Q11、Q12、Q16、Q17、Q20 和 Q21 上耗时更低,其中 Q16 的差距最为明显。

这些 Query 也是后续值得继续分析和优化的方向。

结束语

在相同硬件资源和测试协议下,目前完成的三组 1TB Benchmark 中,Doris 4.2 的总查询耗时都更低:

  • SSB 降低 24.5%

  • SSB-Flat 降低 10.7%

  • TPC-H 降低 23.9%

目前已经完成的 48 条 Query 中,Doris 有 35 条耗时更低。

当然,只看总耗时还不够。

拆到具体 Query 后可以看到,Doris 和 StarRocks 各自都有更擅长的查询类型。虽然 Doris 在三组 Benchmark 的总耗时上都更低,但 StarRocks 在部分 Query 上也有明显优势,

Benchmark 最终还是一个参考。真正落到业务里,数据模型、SQL 写法、并发量以及实际负载都会影响最终表现。有条件的话,还是建议结合自己的场景做测试。

相比 SSB 和 TPC-H,TPC-DS 的 SQL 更复杂,对查询优化器和执行引擎的考验也更全面。测试完成后,我们会继续公布完整的 Query 级结果。

SelectDB 是基于 Apache Doris 的商业版本,为企业提供千亿级混合检索开箱即用、集群性能调优及 7×24 专家级技术保障。欢迎访问 SelectDB 官网申请试用或咨询企业级落地方案。

相关推荐
仍然.7 小时前
Redis---缓存
数据库·redis·缓存
Aloudata7 小时前
LookML 语义模型 vs 企业级独立语义层:BI 建模语言能否承担企业语义底座?
数据库·人工智能·数据分析·数据资产·dataagent
paopaokaka_luck7 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
Leo.yuan7 小时前
2026年实时数据同步工具怎么选?GoldenGate、Striim、SeaTunnel、FineDataLink 5.0横评
大数据
细嗅蔷薇@7 小时前
排序和分⻚(order by 、limit)
数据库·oracle
sm_926787057 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
龙亘川7 小时前
AI 协同赋能城市治理:支撑政协数字化履职的技术路径探析
大数据·人工智能·智慧城市·开源软件·数据可视化
wdfk_prog7 小时前
LWIP教程 09:从 `tcp_slowtmr()` 到 Fast Retransmit——TCP 超时重传与重复 ACK
服务器·网络·数据库·网络协议·tcp/ip
逸模7 小时前
BIM在连锁餐饮装修中的应用:不只是画三维图
大数据·数据库·人工智能·物联网·建模
梦想平凡7 小时前
棋牌游戏技术实战(五):从对局事件重新执行规则,核对棋盘和最终状态
数据库·游戏·oracle