跳到主要内容

TPCDS-10TB

10TB 是生产环境的一个起步门槛。通过这个量级的测试,更多是为了验证分布式数据库或计算引擎在高负载下的性能表现。

测试环境

  • 硬件:26台物理机,单机64C512G。其中24个计算节点(DataNode\NodeManger\DorisBE),2个NameNode节点。
  • 软件:HiDataPlus3.4.2.0-001,可以参考组件版本
  • JDK:使用JDK21。

测试方法

(1) 数据生成

使用Hive4生成10TB数据集,生成数据后,进行以下核对:

  • 数据表行数:无差异。
  • 文件个数:差异在1%以内。
  • 统计信息:Hive4、Doris4分别生成。

(2) 各组件数据源

  • Hive4:Hive4数据库表
  • Spark4:Hive4数据库表
  • Doris4:Hive4数据库表,对于Doris来说,是外表。没有转存为内表。
信息

Doris的内表性能是比外表性能更好,但是我们的测试的首要目标是减少数据迁移,为数据不动为前提,所以使用Doris外表。 Doris外表需要单独生成统计数据,不然执行计划可能出现不是最优的情况。

(2) 测试执行

  • 测试独立性:执行每个组件测试,集群上没有其他作业执行。
  • 单次执行:并发度为1,顺序执行,连续执行3次,取执行总时间最长数据。
  • 并发执行:并发度分别为5、10、15、20,每种并发依次执行,取每次并发执行中的执行总时间最长数据。

测试结果

组件/并发HivePlus(Hive4)Spark4Doris4Hive4
并发147257283422325201
并发5123111370616332未测试
并发101825619212查询超时较多未测试
并发152423331719查询超时较多未测试
并发202932034512查询超时较多未测试
并发3052320执行失败较多查询超时较多未测试

结果分析

  • Doris4:单次(并发1),HivePlus与其接近,但是并发增加,Doris性能明显下降,执行成功率也无法保证。这与MPP数据库的技术原理有关。
  • Spark4:单次(并发1)、并发15、并发20方面,HivePlus优势明显;并发5、并发10方面,略好,这是后续努力提升的方向。
  • Hive4:单次(并发1),执行总时间是HivePlus的5倍以上,并发测试执行过长,没有测试。HivePlus可以完全兼容HiveSQL,这是HivePlus的核心优势。
信息

据相关资料,Spark4较Spark3有30%的性能提升,Hive4未找到相关资料,因时间原因,目前只测试了Spark4的并发场景。