事务处理
事务的四大特性(ACID):
- 原子性(Atomic):在同一项业务处理过程中,事务保证了对多个数据的修改,要么同时成功,要么同时被撤销。
- 隔离性(Isolation):在不同的业务处理过程中,事务保证了各自业务正在读、写的数据互相独立,不会彼此影响。
- 持久性(Durability):事务应当保证所有成功被提交的数据修改都能够正确地被持久化,不丢失数据。
- 一致性(Consistency):保证系统中所有的数据都是符合期望的,且相互关联的数据之间不会产生矛盾。
AID 是手段,C是一种目的
事务的原子性和持久性
原子性和持久性在事务里是密切相关的两个属性
- 原子性保证了事务的多个操作要么都生效要么都不生效,不会存在中间状态;
- 还需要具备两种崩溃恢复的能力,对于没有事务提交的数据,如果系统发生崩溃不会出现有些节点多数据的情况。
- 对于已经提交事务,然后发生奔溃, 需要保证恢复之后,所有节点都有这些数据
- 持久性保证了一旦事务生效,就不会再因为任何原因而导致其修改的内容被撤销或丢失。
第一阶段:引入日志记录,完成奔溃恢复