跳到主要内容

TPCDS-1TB

进行 TPC-DS 1TB 测试(Scale Factor = 1000)通常被视为衡量一个数据仓库或分析引擎是否具备“生产环境准入资格”的基准线。

测试环境

  • 硬件:5台物理机,单机64C512G。其中3个计算节点(DataNode\NodeManger\DorisBE),2个NameNode节点。
  • 软件:HiDataPlus3.3.2.0-013,可以参考组件版本
  • JDK:全部使用JDK8

测试方法

(1) 数据生成

使用Hive3和Hive4生成10TB数据集,通过Hive3生成表统计信息。Doris需要单独生成独有的统计信息。

(2) 各组件数据源

  • Hive3:Hive3数据库表
  • Spark3:Hive3数据库表
  • Doris2:Hive3数据库表,对于Doris来说,是外表。没有转存为内表。
信息

Doris的内表性能是比外表性能更好,但是我们的测试的首要目标是减少数据迁移,为数据不动为前提,所以使用Doris外表。 Doris需要生成其内部的统计数据,不然执行计划不佳,导致大量查询报错。

(2) 测试执行

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

测试结果

组件/并发HivePlus(Hive3)Spark3Doris2Hive3
并发1311052929898511
并发5642522595320121696
并发101312641326资源不足导致失败较多39321
并发152085153181资源不足导致失败较多51805
并发202632471454资源不足导致失败较多69456

测试结论

  • Doris2:在1TB小规模数据集上,Doris之类的MPP数据库优势明显。但是并发较多时,失败率较高。
  • Spark3:HivePlus在所有测试场景都明显优于Spark3。
  • Hive3: HivePlus在所有测试场景都明显优于Hive3。