SQL 仓库类型

Databricks SQL 支持无服务器、专业和经典类型。 本文概述了每种类型可用的功能,并比较性能和功能。

按类型划分的性能功能

每个 SQL 仓库类型具有不同的性能功能。 下表显示了每个 SQL 仓库类型支持的性能功能。

仓库类型 Photon 引擎 预测 IO 智能工作负载管理
无服务器 X X X
优点 X X
经典 X

以下列表描述了每项性能功能:

  • Photon:Databricks 上的内置矢量化查询引擎。 它可以加快现有的 SQL 和数据帧 API 调用,并减少每个工作负载的总成本。

  • 预测 IO:用于加快 SQL 查询中选择性扫描操作的一套功能。 预测 IO 可以在多个方面提高速度。

  • 智能工作负载管理 (IWM):一组功能,可增强 Databricks SQL Serverless 快速且经济高效地处理大量查询的能力。 IWM 使用 AI 支持的预测和动态管理技术来确认工作负载快速获得适当数量的资源。 主要区别在于,Databricks SQL 中的 AI 功能可以动态响应工作负载需求,而不是使用静态阈值。

    注释

    有关每种仓库类型的定价和详细功能比较,请参阅 Databricks SQL。 若要了解最新的 Databricks SQL 功能,请参阅 Databricks SQL 发行说明

SQL 仓库类型之间的性能差异

每个 SQL 仓库类型具有不同的性能特征。

无服务器 SQL 仓库

使用 Azure Databricks 无服务器体系结构,无服务器 SQL 仓库支持 Databricks SQL 的所有性能功能。 借助无服务器 SQL 仓库及其性能功能,可以:

  • 快速启动时间(通常介于 2 到 6 秒之间)。
  • 在需要保持低延迟时,迅速增加计算能力以获得更多的计算资源。
  • 查询访问许可更接近设备限制,而不是虚拟机限制。
  • 快速缩减规模,以在需求较低时降低成本,从而以优化的成本和资源提供一致的性能。

选择无服务器 SQL 数据仓库,以获得最佳启动性能、最有效的 IO、更智能地处理那些随着时间快速变化的查询需求,以及在查询排队发生时能够迅速进行自动缩放。 请参阅无服务器自动缩放和查询排队

无服务器 SQL 仓库在以下类型的工作负荷中表现良好:

  • ETL
  • 商业智能
  • 探索分析

重要

SQL 仓库不支持 凭据传递。 Databricks 建议使用 Unity 目录进行数据治理。 请参阅什么是 Unity Catalog?

Pro SQL 仓库

专业 SQL 仓库支持 Photon 和预测 IO,但不支持智能工作负载管理。 使用 Pro SQL 仓库(与无服务器 SQL 仓库不同),计算层存在于 Azure 订阅帐户而不是 Azure Databricks 帐户中。 如果没有智能工作负载管理,仓库对查询需求的反应较少,这些需求随时间变化很大,并且无法像无服务器 SQL 仓库那样快速自动缩放。 专业 SQL 仓库需要几分钟时间才能启动(通常大约为 4 分钟)以及纵向扩展和缩减,并且比无服务器 SQL 仓库的响应能力要低。 请参阅专业和经典 SQL 仓库的排队和自动缩放

在以下情况下使用专业 SQL 仓库:

  • 无服务器 SQL 仓库在区域中不可用。
  • 你有自定义的网络,并且想要连接到云中或本地网络中的数据库,以实现联合或混合类型体系结构。 例如,如果要将其他服务放入网络(如事件总线或数据库),或者想要将你的网络连接到本地网络,请使用专业版 SQL 仓库。

经典 SQL 仓库

经典 SQL 仓库支持 Photon,但不支持预测 IO 或智能工作负载管理。 使用经典 SQL 仓库(与无服务器 SQL 仓库不同)时,计算层存在于 Azure 订阅帐户而不是 Azure Databricks 帐户中。 由于不支持预测 IO 或智能工作负载管理,经典 SQL 仓库仅提供入门级性能,其性能低于无服务器或专业 SQL 仓库。 经典 SQL 仓库也需要几分钟时间才能启动(通常大约为 4 分钟)以及纵向扩展和缩减,并且比无服务器 SQL 仓库的响应能力要低。 请参阅专业和经典 SQL 仓库的排队和自动缩放

使用经典 SQL 仓库运行交互式查询,以入门级性能和 Databricks SQL 功能浏览数据。

注释

有关调整 SQL 仓库的大小以及它如何缩放以响应查询排队的信息,请参阅专业和经典 SQL 仓库的排队和自动缩放

什么是仓库类型默认值?

对于在支持无服务器 SQL 仓库并满足要求区域中的工作区:

  • 使用 UI 时,默认 SQL 仓库类型是无服务器类型。

  • 结合使用 SQL 仓库 API 与默认参数时,默认 SQL 仓库类型为 classic。 若要使用无服务器,请将 enable_serverless_compute 参数 true 设置为和 warehouse_type 设置为 pro。 如果此工作区使用 SQL 仓库 API 在 2022 年 11 月 1 日至 2023 年 5 月 19 日期间创建一个仓库,并且符合无服务器 SQL 仓库的要求,则默认值将保持不变 true。 为了避免歧义,尤其是对于具有许多工作区的组织,Databricks 建议始终设置此字段。

  • 如果工作区使用 旧的外部 Hive 元存储,则不支持无服务器 SQL 仓库。 默认的 SQL 仓库类型在无服务器计算禁用时,与使用 API 的经典类型和在 UI 中的专业类型相同。 此外,请与 Azure Databricks 帐户团队联系,了解有关 Unity 目录或其他选项的详细信息。

对于不支持无服务器 SQL 仓库的工作区:

  • 使用 UI 时,默认 SQL 仓库类型为专业。
  • 结合使用 SQL 仓库 API 与默认参数时,默认 SQL 仓库类型为 classic。