什么是事务?

在数据库和数据存储系统的背景下,事务任何操作,被视为单个的工作单元,完成完全或不完全,和树叶的存储系统一致的状态。事务的典型例子就是发生在你从你的银行账户取钱。钱已经离开你的银行账户,或者它没有,不可能存在一个中间状态。

A.C.I.D.属性:原子性、一致性、隔离性和持久性

酸是一个缩写,指的4个关键属性集定义一个事务:原子性、一致性、隔离性耐久性。如果一个数据库操作这些ACID属性,它可以称为ACID事务和数据存储系统,应用这些操作称为事务性系统。ACID事务保证每个读、写或修改一个表有以下属性:

  • 原子性每个语句在事务(读、写、更新或删除数据)被视为一个单元。执行整个语句,或没有执行。这个属性可以防止数据丢失和腐败发生,如果举个例子,如果你的流数据源失败的中间。
  • 一致性——确保交易只修改预定义的表,可预测的方法。事务一致性保证腐败或错误在您的数据不为表的完整性创造意想不到的后果。
  • 隔离——当多个用户阅读和写作从同一个表,孤立的事务并发事务确保不干扰或影响另一个。每个请求都可能发生,好像他们一个接一个发生,尽管他们实际上同时发生。
  • 耐用性——确保更改数据由成功执行事务将被保存,即使在系统故障的事件。

为什么ACID事务一件好事?

ACID事务确保尽可能多的数据的可靠性和完整性。他们确保数据不会落入一个不一致的状态,因为只有部分完成的手术。例如,没有ACID事务,如果你写一些数据到一个数据库表,但意外停电,这是可能的,只有你的一些数据会被保存,有些不会。现在数据库处于不一致的状态,恢复是非常困难和耗时。

三角洲湖:可靠、一致的数据与酸的担保交易

三角洲湖标志

ACID事务一直是其中一个最令人羡慕的数据仓库的属性,但是三角洲湖现在已经带到数据的湖泊。他们允许用户看到一致的视图的数据尽管新数据被实时写入表,因为每个写是一个孤立的事务被记录在一个有序交易日志。(三角洲湖拥有最高水平的隔离可能(可串行化隔离),确保读和写一个表是一致的和可靠的。)通过实现ACID事务,三角洲湖有效解决几个前面列出的批评λ架构:复杂性、不正确的数据视图,和必要的返工和后处理后λ管道不可避免地打破。用户可以执行多个并发事务数据,在发生错误时一个数据源或流,三角洲湖取消执行事务,以确保数据保持清洁和完好无损。ACID事务的美妙之处在于,用户可以信任的数据存储在三角洲湖。数据分析师利用三角洲湖表对他或她进行ETL数据准备好了仪表盘可以依靠的kpi他或她看到代表数据的实际状况。机器学习工程师使用三角洲湖表执行功能工程可以100%相信他或她的转换和聚合要么完全按预期执行,或根本没有执行(在这种情况下,他或她会通知)。知道的心智模型的价值你的数据实际上是反映其真实潜在状态不能被夸大。

额外的资源

回到术语表