事务正式可用,推动湖仓架构上的数据仓库发展

事务正式可用,推动湖仓架构上的数据仓库发展

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

Databricks 宣布 Delta Lake 和 Apache Iceberg 多语句事务正式可用,成为首个在湖仓架构原生支持该功能的平台。该功能支持跨多表原子操作、行级并发、Unity Catalog 治理及仓库开发工具集成,可减少数据重复与运维复杂度,适用于 ETL、仓库迁移和 Write-Audit-Publish 等场景。

🔎

延伸解读

湖仓事务的差异化优势

Databricks 是首个在湖仓架构上原生支持多语句事务的平台,同时覆盖 Delta Lake 和 Apache Iceberg。与依赖独立仓库系统实现事务保证的传统方案相比,该功能直接在开放、受治理的湖仓上提供原子性,避免了昂贵的数据移动、重复副本和碎片化治理,从而降低运维复杂度。

行级并发带来的性能提升

湖仓架构支持行级并发,允许并发事务写入同一张表,只要不更新同一行即可。传统数据仓库使用锁来串行化写入,而行级并发让更多事务并行执行。Databricks 称其性能显著强于传统云仓库和旧式仓库,使组织能在湖仓上直接运行高要求的仓库工作负载。

治理与可观测性集成

事务遵循 Unity Catalog 的基于属性的访问控制,包括行级安全和列掩码,在读写时均生效,这对敏感数据的暂存、验证和发布流程尤为重要。开发者还可使用 DESCRIBE TABLE、SHOW COLUMNS 和 GET DIAGNOSTICS 等命令检查事务涉及的表并捕获执行信息,便于开发、运维和故障排查。

典型应用场景与客户实践

多语句事务支持 ETL 多表原子更新、仓库存储过程迁移以及 Write-Audit-Publish 等模式。Fivetran 利用该功能将 SCD Type 2 的关闭旧版本和插入新版本合并为原子操作,移除了大量一致性修复代码;Accolade 每天处理约 1,700 笔索赔和负债事务,依靠事务保证在受治理湖仓上可靠运行多步操作。

❓

Q&A

Databricks 的多语句事务现在正式可用了吗?支持哪些表格式?

是的,Databricks 宣布 Delta Lake 和 Apache Iceberg 的多语句事务正式可用(Generally Available),成为首个在湖仓架构原生支持该功能的平台。

多语句事务相比传统数据仓库有什么优势?

多语句事务在湖仓上提供原子性保证,无需单独的数据仓库系统,减少了昂贵的数据移动、重复副本、碎片化治理和运维复杂性。同时支持开放表格式、统一治理和高并发性能。

多语句事务如何实现高并发?

湖仓架构支持行级并发,允许并发事务写入同一张表,只要它们不更新同一行。与使用锁来串行化写入的传统数据仓库不同,行级并发使更多事务能并行运行,从而提供比传统云和遗留仓库更强的性能。

多语句事务如何与 Unity Catalog 集成?

事务遵循 Unity Catalog 基于属性的访问控制,包括行级安全和列掩码,在读取和写入时均生效。这对于需要暂存、验证和发布敏感数据的工作流尤为重要。

多语句事务支持哪些常见的数仓工作负载模式?

支持多种模式,包括:为 ETL 提供多表事务保证(如订单状态和库存余额的原子更新)、将仓库存储过程迁移到湖仓(使用存储过程和临时表)、以及实现 Write-Audit-Publish(在原子操作中暂存、审计并发布数据)。

多语句事务在生产环境中如何提供可观测性?

开发者可以使用 DESCRIBE TABLE、SHOW COLUMNS 和 GET DIAGNOSTICS 等命令来检查事务中涉及的表,并捕获有关事务执行的信息,从而更轻松地开发、操作和排查事务工作流。

🏷️

标签

➡️

继续阅读