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

一. 环境和配置

说明 本文的TPC-DS的实现基于TPC-DS的基准测试,并不能与已发布的TPC-DS基准测试结果相比较,本文中的测试并不符合TPC-DS的基准测试的所有要求。

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.cores8
spark.driver.memory24G
spark.executor.cores7
spark.executor.memory24G
spark.executor.instances49
spark.yarn.executor.memoryOverhead3G

1.3 TPC-DS数据准备:

Scale factorFormatStorageStatus
10Tdeltahdfsok
10TparquetOSSok

二. 对比结果

CaseComparisonExpect
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