提到事务大家一定并不陌生,我们都知道事务是一组单元化的操作,这组操作可以保证要么全部成功,要么全部失败;或者只要其中某个操作失败,就会把之前已经成功的操作进行回滚,以此来保证数据的完整性。这只是事务的基本概念,但提起事务有娜些特性及事务的作用时,我们不一定能快速准确的回答;下面我们一起缕缕事务的特性及其作用。
一、事务的特性
事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability):持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
二、作用
1、把业务逻辑相关的操作分成了一个组;
2、在数据永久改变前,可以预览数据变化,保证数据的完整性;
3、避免因异常或者错误导致数据信息的异常,保证数据的一致性。
总结:事务是处理一系列业务处理的执行逻辑单元,该单元里的一系列类操作要么全部成功要么全部失败;比如银行系统,我们在转账的过程中程序出现错误,但是这个转账操作过程没有完成。那么这个操作就被退回,由此保证我们账户数据的完整性和一致性。