跳到主要内容
公司博客上

介绍德尔塔发动机

在Delta Lake上实现传统分析工作负载的最大性能

2020年6月24日 公司博客上

分享这篇文章

今天,我们发布了Delta Engine,它将100%兼容Apache Spark的向量化查询引擎结合在一起,利用现代CPU架构,优化Spark 3.0的查询优化器和缓存功能,这些功能是Databricks Runtime 7.0的一部分。这些特性一起极大地提高了数据湖上的查询性能,特别是由三角洲湖,使客户更容易采用和扩展alakehouse体系结构。

伸缩执行性能

在过去的几年里,硬件的一个大趋势是CPU时钟速度已经趋于稳定。原因超出了本文的范围,但是我们必须找到新的方法来更快地处理数据,而不仅仅是原始的计算能力。最有效的方法之一是提高可以并行处理的数据量。但是,数据处理引擎需要专门设计来利用这种并行性。

此外,随着业务节奏的加快,数据团队用于正确建模数据的时间也越来越少。为了更好的业务敏捷性,较差的建模会导致较差的查询性能。当然,这不是理想的状态,组织希望找到最大化敏捷性和性能的方法。

宣布使用Delta引擎执行高性能查询

Delta Engine通过三个组件加速了Delta Lake对于SQL和数据帧工作负载的性能:一个改进的查询优化器,一个位于执行层和云对象存储之间的缓存层,以及一个用c++编写的本地向量化执行引擎。

Delta Engine通过多个组件为所有数据工作负载带来更高的性能

改进后的查询优化器扩展了Spark 3.0中已有的功能(基于成本的优化器、自适应查询执行和动态运行时过滤器),具有更高级的统计信息,在星型模式工作负载下提供高达18倍的性能提升。

Delta Engine的缓存层自动为用户选择要缓存的输入数据,并以一种更节省cpu的格式对其进行转码,以更好地利用NVMe ssd的存储速度。这为几乎所有工作负载提供了高达5倍的扫描性能。

然而,在Delta Engine中解决当前数据团队面临的挑战的最大创新是本地执行引擎,我们称之为Photon。(我们知道。它在引擎中的引擎中…)这个完全重写的Databricks执行引擎是为了从现代云硬件的新变化中最大化性能而构建的。它为所有工作负载类型带来了性能改进,同时完全兼容开放的Spark api。

在不久的将来,我们将在另一篇博客中深入研究Photon,向您展示它是如何工作的,最重要的是,它是如何执行的。

开始使用德尔塔引擎

通过将这三个组件连接在一起,我们认为客户将更容易理解Databricks代码中多个地方的改进如何聚合为数据湖上分析工作负载的显著更快的性能。改进后的查询优化器和缓存改进今天就可以使用了,我们将在今年剩下的时间里为越来越多的客户提供Photon。

我们对达美发动机为客户带来的价值感到兴奋。虽然节省的时间和成本已经很有价值,但它在湖屋模式中的作用支持了数据团队如何设计数据架构以提高统一性和简便性的新进展。

免费试用Databricks

相关的帖子

看到所有公司博客上的帖子