一、ACID 特性
在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID原子性(Atomicity)
、一致性(Consistency)
、隔离性(Isolation)
和持久性(Durability)
。
1、原子性
原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。
修改---》Buffer Pool修改---》刷盘
。可能会有下面两种情况:
- 事务提交了,如果此时
Buffer Pool
的脏页没有刷盘,如何保证修改的数据生效?Redo
- 如果事务没提交,但是
Buffer Pool
的脏页刷盘了,如何保证不该存在的数据撤销?Undo
每一个写事务,都会修改BufferPool,从而产生相应的Redo/Undo日志,在Buffer Pool 中的页被刷到磁盘之前,这些日志信息都会先写入到日志文件中,如果 Buffer Pool 中的脏页没有刷成功,此时