本文介绍Databricks数据洞察采用的企业版Spark引擎性能对比数据,Databricks Runtime(简写dbr)的性能及Delta Lake功能是本产品的核心优势。Databricks Runtime完全兼容开源版本Spark,并且相对开源Spark引擎TPC-DS平均性能有3~5倍提升,性能对比最快的query有80倍提升!

一. 环境和配置

1.1 硬件配置

集群 1Master节点 + 7Core节点
Master实例(北京region)

Centos 7.4 64位 | I/O优化

CPU: 16 核 | 内存: 64G

ECS 规格: ecs.g6.4xlarge

数据盘配置: ESSD云盘 80GB X 1块

系统盘配置: ESSD云盘 120GB X 1块

Core实例(北京region)

Centos 7.4 64位 | I/O优化

CPU: 40 核 | 内存: 176G

ECS 规格: ecs.d2s.10xlarge

数据盘配置: 吞吐密集型本地盘 7300GB X 15块

系统盘配置: ESSD云盘 256GB X 1块

OSS带宽(北京region) 10Gb with JindoFS SDK

1.2 软件配置

集群中Spark资源配置如下

spark.driver.cores 8
spark.driver.memory 24G
spark.executor.cores 7
spark.executor.memory 24G
spark.executor.instances 49
spark.yarn.executor.memoryOverhead 3G

1.3 TPC-DS数据准备:

Scale factor Format Storage Status
10T delta hdfs ok
10T parquet oss ok

二. 对比结果

Case Comparison Expect
dbr vs spark 保持相同集群、参数、存储(oss)、格式(parquet),对比dbr和社区spark在TPC-DS下的性能表现 预期dbr会快
oss vs hdfs 使用dbr,保持相同集群、参数、格式(delta),对比使用oss和hdfs两种分布式存储在TPC-DS下的性能表现 预期hdfs会快一些

2.1 dbr vs spark:

测试的结论如下,整体结果体现了dbr在TPCDS上还是有很大的性能优势——平均3倍以上,最快query80倍以上。

  • baseline为dbr的运行时间
  • target为社区spark的运行时间
  • percentChange = (baselineTimeMs - targetTimeMs) / baselineTimeMs
10T_benchmark详细对比数据10T求和对比

全部的对比结果数据见附件:

2.2 HDFS vs OSS:

测试的结论如下,由于DDI使用了JindoFS引擎,整体结果体现了DDI产品在存储选型上OSS和HDFS性能差异并不大,可以使用OSS做计算存储分离架构方案。

  • baseline为dbr的运行时间
  • target为社区spark的运行时间
  • percentChange = (baselineTimeMs - targetTimeMs) / baselineTimeMs
10T_OSSvsHDFS_细节10T_OSSvsHDFS_all

全部的对比结果数据见附件: