ACID数据库是怎么实现的
A原子性是有undo log 日志保证的,
他记录了需要回滚的日志信息。事务回滚时撤销了已经执行成功的sql;
C一致性有其他三大特性来保证的,程序代码保证业务的一致性;
I 隔离性是由MVCC来保证
D持久性由内存+redo log来保证,mysql修改数据同时在内存和redo log记录这次 *** 作,
宕机的时候可以redo log里面恢复
InnoDB redo log 写盘,
InnoDB事务进入prepare状态。
如果前面 prepare成功,
bin1og 写盘,再继续将事务日志持久化到bin1og,
如果持久化成功,那么InnoDB事务则进入commit状态
(在redo log里面写一个commit记录)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)