事务的四个特性,简称为ACID,这是这四个特性的英文头个字母。

一:原子性(Atomic)

所谓原子性就是指的事务的不可分割性,原子是最小的单位,所以理解事务的原子性就是理解事务无法进行分割,事务里的数据库操作要么全部成功,要么全部失败,不可能出现一部分成功,一部分失败的情况,这就是原子性。

二:一致性(Consistent)

事务操作会确保数据库状态保持一致性,事务提交前和提交后数据库状态会发生改变,但会保持一致性,例如购买商品,一旦完成一笔交易的事务,数据库里的商品数必然减1,同时商店收益必然增加,这就是保持了数据库状态的一致性。

三:隔离性(Isolated)

隔离性指的是事务间是相互独立的,不会互相影响,例如点餐过程为一个事务,从电话订购到做出饭菜送餐完成结算完成所有这些操作为一个事务,不同的人进行点餐操作都是相互独立的,并不会互相影响,这就是事务的隔离性,如果一个事务影响了其他的事务,其他的事务将会进行回滚,就如上面的点餐例子,如果饭菜已经卖完,最后点餐的事务将会影响后面的事务,因为没有餐可点了,那么后面的事务将会回滚。

四:持久性(durable)

事务提交的结果或者效果在出现各种故障(例如断网、服务器出问题之类的)的情况依旧能够保存下来,这就是事务的持久性。