SQL 仓库类型

Databricks SQL 支持以下 SQL 仓库类型:

  • 无服务器
  • Pro
  • 经典

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

Photon 引擎 预测 IO 智能工作负载管理
无服务器 X X X
Pro X X
经典 X

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

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

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

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

    注意

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

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

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

无服务器 SQL 仓库

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

  • 快速启动时间(通常为 2 到 6 秒)。
  • 快速纵向扩展,以便在需要时获取更多计算资源来保持低延迟。
  • 使查询可以更接近硬件限制(而不是虚拟机限制)。
  • 快速纵向缩减,以便在需求较低时将成本降到最低,从而通过优化的成本和资源提供一致的性能。

为了获得最佳启动性能、最有效的 IO、更智能地处理不断大幅变化的查询需求,并在发生查询排队时快速自动缩放,请选择无服务器 SQL 仓库。 请参阅无服务器自动缩放和查询排队

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

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

重要

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

Pro SQL 仓库

专业 SQL 仓库支持 Photon 和预测 IO,但不支持智能工作负载管理。 使用专业 SQL 仓库(与无服务器 SQL 仓库不同)时,计算层存在于 Azure 订阅帐户而不是 Azure Databricks 帐户中。 因此,专业 SQL 仓库不支持智能工作负载管理,它对不断大幅变化的查询需求响应能力较低,无法像无服务器 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 仓库的排队和自动缩放

仓库类型的默认设置是什么?

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

  • 使用 UI 时,默认的 SQL 仓库类型为无服务器。
  • 结合使用 SQL 仓库 API 与默认参数时,默认 SQL 仓库类型为 classic。 若要使用无服务器,请将 enable_serverless_compute 参数设置为 true,并将 warehouse_type 设置为 pro。 如果此工作区在 2022 年 11 月 1 日至 2023 年 5 月 19 日使用 SQL 仓库 API 创建了一个仓库,并且符合无服务器 SQL 仓库的要求,则默认值仍设置为 true。 为了避免歧义,Databricks 建议你始终设置此字段,尤其是在组织有许多工作区的情况下。
  • 如果工作区使用旧版外部 Hive 元存储,则不支持无服务器 SQL 仓库。 默认 SQL 仓库类型就如同禁用无服务器计算,它在 UI 中为专业,使用 API 时为经典。 此外,请联系 Azure Databricks 帐户团队,了解有关 Unity Catalog 或其他选项的详细信息。

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

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