Delta Lake 乐观并发控制 — 锁定还是不锁定!

Delta Lake 乐观并发控制:锁定还是不锁定?Delta Lake 及其相关性随着数据世界通过 AI、ML 和其他流行技术竞相生成、存储、处理和使用大量数据,对独立可扩展存储和计算能力的需求也日益增长,以满足不断向通过 AI、ML 等训练和使用的数据集中添加(APPEND)和更改(UPSERT & MERGE)数据的需求。虽然不同云提供商提供的基于 Parquet 的数据湖存储在数据湖实施初期为我们提供了极大的灵活性,但当今业务和技术需求的发展对这些实施提出了挑战。虽然我们仍然喜欢使用 Parquet 的开放存储格式,但我们现在需要数据湖中的 ACID 事务、时间旅行和模式实施等功能。这些是 Delta Lake 作为基于 Parquet 的数据存储之上的抽象层诞生的主要驱动力。下图简要介绍了 ACID。图片来自作者Delta Lake(当前 GA 版本 3.2.0)为我们带来了许多不同的功能,其中一些功能已在上文中提到。但在本文中,我想讨论 ACID 事务的一个特定领域,即一致性,以及我们如何决定是开箱即用 Delta Lake 的这一功能,还是围绕该功能添加我们自己的定制以使其适合我们

来源:走向数据科学

Delta Lake 乐观并发控制:锁定还是不锁定?

Delta Lake 乐观并发控制:锁定还是不锁定?

Delta Lake 及其相关性

Delta Lake 及其相关性

随着数据世界通过 AI、ML 和其他流行技术竞相生成、存储、处理和使用大量数据,对独立可扩展存储和计算能力的需求不断增加,以满足不断添加(APPEND)和更改(UPSERT & MERGE)数据到通过 AI、ML 等进行训练和使用的数据集的需求。

虽然不同云提供商提供的基于 Parquet 的数据湖存储在数据湖实施的初期为我们提供了极大的灵活性,但当今业务和技术需求的发展对这些实施提出了挑战。虽然我们仍然喜欢使用 Parquet 的开放存储格式,但我们现在需要数据湖中的 ACID 事务、时间旅行和模式执行等功能。这些是 Delta Lake 作为基于 parquet 的数据存储之上的抽象层诞生的一些主要驱动因素。下图描述了对 ACID 的快速参考。

作者提供的图片
作者提供的图片

Delta Lake(当前 GA 版本 3.2.0)为我们带来了许多不同的功能,其中一些上面提到过。但在本文中,我想讨论 ACID 事务的一个特定领域,即一致性,以及我们如何决定是开箱即用地使用此 Delta Lake 功能还是围绕该功能添加我们自己的自定义以使其适合我们的用例。在此过程中,我们还将讨论 Delta Lake 的一些内部工作原理。让我们深入研究!

一致性

什么是数据一致性?

什么是数据一致性?
作者图片
作者图片

Delta Lake 中的一致性

Delta Lake 中的一致性

Delta Lake 实现一致性的方式与关系数据库实现一致性的方式非常相似;然而 Delta Lake 必须解决一些挑战: