Databricks

Automatic Upgrades: best practice features for your lakehouse tables

6.9内容质量

TL;DR · AI 摘要

Automatic Upgrades: best practice features for your lakehouse tables Databricks Blog Skip to main content Platform July...

核心要点

  • 主题聚焦:Automatic Upgrades: best practice features for y
  • 来源:Databricks,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#产品
打开原文

自动升级:为您的湖仓一体表提供最佳实践特性 | Databricks 博客

跳至主要内容

平台

2026年7月6日

自动升级:为您的湖仓一体表提供最佳实践特性

您的表将自动应用最新特性,根据工作负载兼容性进行自动更新

作者:Elizabeth Bowman 和 Tom van Bussel

摘要

  • 自动升级会将最佳实践特性自动应用于 Unity Catalog (UC) 管理表,带来性能提升、可靠性增强、互操作性改进和成本节约。
  • 自动升级是首个在任何湖仓一体平台中实现的此类功能,可在启用特性前验证工作负载兼容性,无需任何手动操作。
  • 自动升级启用的每个特性都由您控制,可按表进行配置。

您的 Unity Catalog (UC) 管理表现在可以自主优化。自动升级(Auto Upgrades)是首个在任何湖仓一体平台中实现的此类功能。它会自动验证客户端的兼容性,然后在表准备就绪时立即应用最佳实践特性(如行跟踪),无需任何手动操作。

开放表格式正在快速创新,引入了许多新的表功能。然而,采用新表功能通常需要识别符合条件的表、验证客户端兼容性,并在数千张表上运行 ALTER TABLE。大多数团队没有时间进行这些操作,因此无法获得这些功能带来的性能提升、可靠性增强、互操作性改进和成本节约。自动升级填补了这一空白,同时您仍能保持控制:每个更改都可以按表进行撤销。

任何能减轻心理负担的事情都是胜利。跟上每个表的每个新功能需要大量精力,所以我期待自动升级能帮我处理这些维护工作!——数据平台工程经理 Audrey Boslego

自动升级的工作原理

自动升级通过观察现有表的访问方式,验证所有工作负载是否就绪,然后代表您应用特性。

  1. 观察:对于每个现有的 UC 管理表,自动升级会在滚动观察窗口期间监控访问该表的客户端。
  1. 验证:对于每个特性,自动升级会检查以下条件是否在相同的观察窗口内成立:
  • 在观察窗口期间访问该表的所有 Databricks 客户端都使用支持该特性的 Databricks Runtime 版本
  • 表本身必须处于活动状态(完全空闲的表会被跳过)
  • (目前)在观察窗口期间外部客户端未访问该表
  1. 升级:一旦表符合资格,自动升级会通过轻量级后台作业运行 ALTER TABLE,以安全地应用该特性。

扩展到新表:当某个模式中的所有现有表都已验证兼容某个特性后,自动升级会将该特性设为该模式的默认设置,这样在该模式中创建的新表会自动继承该特性。您在创建时明确设置的任何表属性始终具有优先级。

未来,自动升级旨在通过检测外部客户端访问的表与特定功能兼容,从而在这些表上启用功能。我们正在与社区合作制定标准,以提供正确的元数据来检测这些客户端的兼容性。

比手动升级更彻底

✅ 仅限通用可用性(GA),且不会对性能或成本造成重大退化。只有达到通用可用性且不会显著降低性能或增加成本的特性,才有资格启用 Auto Upgrades。许多特性能提升性能或降低成本,但没有任何特性会带来负面影响。

✅ 全面的观察窗口。并非所有数据工作负载都每天运行。每月批量作业、季度报告和即席分析可能需要数周时间才能显现。Databricks 选择了 100 天的窗口来捕捉长尾效应,使我们能够在做出任何决策前,完整了解您的表实际使用情况。

✅ 严格的兼容性验证。在所有访问客户端都支持某特性之前,我们不会启用该特性。对于现有表和由模式默认值管理的新表,只要存在一个不支持的客户端,我们都会等待。

✅ 无法验证时保持手动控制。Auto Upgrades 仅对能够完全验证的表进行操作。受外部客户端影响的表不在范围内,且超过 30 天未活动的表会被跳过。

✅ 尊重您的决策。通过 Auto Upgrades 启用的每个特性都可以随时按表禁用或删除。一旦您在某表上禁用某个特性,Auto Upgrades 将不会在之后重新启用它。

Auto Upgrades 解锁的优势

Auto Upgrades 为您的 UC 管理表带来了已验证的最佳实践能力。这些包括大多数团队想要但因手动操作复杂而未启用的功能。

随着 Auto Upgrades 的运行,您的表将逐步获得以下改进:

更快、更具成本效益的表。您的表查询速度更快,存储成本更低,修改成本也更低。

  • 自动液态聚类适用于将液态聚类设为模式默认值的新表,根据您实际运行的查询优化数据布局,并随着工作负载的变化进行调整,因此无需使用 ZORDER 或手动聚类键。
  • 删除向量通过标记行已删除或更新,而非重写整个数据文件,使删除和更新操作更快且成本更低。
  • 列映射允许您立即重命名或删除列,而无需重写数据。
  • Parquet V2 更高效地压缩数据,降低存储成本并加快扫描速度。

跨引擎的开放互操作性。您的表对更多格式和引擎开放,且 Unity Catalog 的治理规则适用于所有引擎。

  • 目录提交使 UC 成为跨引擎管理表的协调系统。它解锁了外部引擎对 UC 管理表的写入能力,允许将 ABAC 策略应用于外部引擎,并支持跨表、跨语句的事务。
  • 行跟踪添加了唯一的行级标识符,为 Iceberg 和 Delta 中的自动变更数据馈送、向量搜索和 Lakebase 开启了大门。它还使物化视图能够增量刷新,而非重新计算整个视图,显著降低刷新成本。

在负载下的更高可靠性。随着表规模增长和写入量增加,您的表保持稳定。

  • Checkpoint V2 以更可扩展的格式维护表元数据,减少在大量并发写入场景下的提交失败。

自动升级将持续扩展,涵盖更多功能,并支持更多UC管理的表类型,如物化视图和流式表。

全面可观测性

自动升级新增的每个功能都会在表的DESCRIBE HISTORY输出结果以及目录浏览器的历史记录标签页中显示,且与用户主动发起的更改有明显区分。有关更多信息,请参阅观察已启用功能。

如需全局视图,您可以通过查询系统表查看每个表、功能和时间戳对应的自动升级事件。例如,要查看特定表上所有功能的自动升级操作:

$

/$

入门指南

自动升级适用于UC管理的表。因此,您要采取的最关键步骤是确保表已转换为此类型表。

不确定哪些表由Unity Catalog管理?可在目录浏览器中检查表类型,或对表执行DESCRIBE EXTENDED命令。

如需批量审计表,还可以使用自动升级系统表来查看哪些功能在哪些表上以及何时启用:

如果您有需要引入的外部表,可以通过单条SET MANAGED语句进行转换,之后自动升级将自动处理后续操作。

如需了解自动升级的工作原理、启用的功能以及如何观察其活动情况,请查阅我们的文档。

通过自动升级,您的托管表可以实现自我管理。随着Databricks推出新功能,您的表将不断改进——无需经历ALTER TABLE马拉松、兼容性审计或迁移项目。您将自动获得更快、更可靠、更易于互操作的表。

常见问题

自动升级如何确保表可以安全升级?

自动升级仅应用通用可用功能,这些功能不会显著降低性能或增加成本。它会等待100天的观察窗口期,要求每个访问客户端兼容,跳过无法完全验证的表,并允许您随时按表禁用任何功能。

如果我的表发生了变化,如何判断是自动升级导致的?

自动升级对表所做的每个更改都会在表的DESCRIBE HISTORY输出结果和目录浏览器历史记录标签页中显示,并与您自己的更改明显区分。如需全局视图,查询system.storage.table_auto_upgrade_operations_history系统表还将显示任何功能添加到任何表的时间。

自动升级会破坏外部工具或OSS工具读取的表吗?

不会。目前外部或OSS客户端访问的表不在自动升级范围内。只有当自动升级能够验证所有访问表的客户端都支持该功能时,才会执行升级操作。未来在自动升级能够确认这些客户端兼容性后,也将扩展支持具有外部或OSS访问权限的表。

自动升级会产生费用吗?会增加我的DBU或存储账单吗?

在当前的受限公开预览版中,Databricks不会对自动升级本身(后台的ALTER TABLE操作)收取费用,我们希望继续保持免费提供。请查看自动升级文档获取最新信息。

我的表需要多长时间才能升级?何时能看到更改?

Auto Upgrades 使用 100 天的观察窗口,在采取行动前捕捉不频繁的工作负载(例如每月批量作业、季度报告、临时分析)。一旦表被验证为兼容,该功能将通过后台任务在随后很快应用。同时需要注意的是,当某个功能首次上线时,会在客户和表的百分比上逐步推进,因此可能需要 3-5 个月才能覆盖到具有兼容工作负载的您的表。

订阅最新文章

订阅我们的博客,将最新文章发送到您的邮箱。

立即订阅

查看所有博客

slice-start id="_gatsby-scripts-1"

slice-end id="_gatsby-scripts-1"