本文介紹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