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) | Spark3 | Doris2 | Hive3 |
|---|---|---|---|---|
| 并发1 | 3110 | 5292 | 989 | 8511 |
| 并发5 | 6425 | 22595 | 3201 | 21696 |
| 并发10 | 13126 | 41326 | 资源不足导致失败较多 | 39321 |
| 并发15 | 20851 | 53181 | 资源不足导致失败较多 | 51805 |
| 并发20 | 26324 | 71454 | 资源不足导致失败较多 | 69456 |
测试结论
- Doris2:在1TB小规模数据集上,Doris之类的MPP数据库优势明显。但是并发较多时,失败率较高。
- Spark3:HivePlus在所有测试场景都明显优于Spark3。
- Hive3: HivePlus在所有测试场景都明显优于Hive3。