事务并发处理几要素

来源:互联网 发布:知乎怎么看提问者 编辑:程序博客网 时间:2024/04/28 12:57

互联网站除了浏览器端的展示外,在服务器端的程序归属于“在线处理”的范畴。一般来说“在线处理”可以分成“在线事务处理”(OLTP,OnLine Transaction Process)和“在线分析处理”(OLAP,OnLine Analytics Process)两类处理方式。事务(Transaction)这个概念来源于数据库,在数据库中事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。

随着技术的发展,事务已经不仅仅局限在数据库领域。现阶段,一般用两种角度来描述一个事务,一个是从外部的角度,事务是恢复和并发控制的基本单位。另一利是内部的角度:事务,是由一系列不可分割并且不可错序的动作组成。虽然理解事务的角度随着技术的发展不断演讲,但是用于描述并评估事务的属性保持不变,一个事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

  • 原子性(Atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
  • 一致性(Consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
  • 隔离性(Isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  • 持久性(Durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
原创粉丝点击