数据库-ACID

ACID:原子性、持久性、一致性、独立性
事务的原子性(Atomicity):是指一个事务要么全部执行,要么不执行,也就是说一个事务不可能只执行了一半就停止了。比如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱。不可能划了卡,而钱却没出来。这两步必须同时完成,要么就不完成。
事务的一致性(Consistency):是指事务的运行并不改变数据库中数据的一致性。例如,完整性约束了a+b=10,一个事务改变了a,那么b也应该随之改变,从一个一致性状态变换到另外一个一致性状态。
独立性(Isolation):事务的独立性也有称作隔离性,是指两个以上的事务不会出现交错执行的状态。因为这样可能会导致数据不一致。
持久性(Durability):事务的持久性是指事务执行成功以后,该事务对数据库所作的更改便是持久的保存在数据库之中,不会无缘无故的回滚。

流程图:
在这里插入图片描述
备注:上面没有写道Disk中,写入的是data bufer 即缓存。

Redo log
redo log 的存在是为了解决修改数据后因为随机写同步数据到磁盘效率较低,写到redo log缓冲区后mysql宕机,导致的数据丢失,mysql重启后,从redo log中加载那些commit的数据到磁盘。redo log实现了ACID中的D持久性,就算服务器宕机了数据也不会丢失。redo log日志存储的是某个逻辑操作,如某一数据页的某一行数据的操作,先写日志再写磁盘。

undo log
undo log日志记录了每次修改操作的反向操作,如insert对应delete,delete 对应insert。和redo log都是一样的,顺序写入到磁盘空间中。undo实现了ACID中的A原子性。和mysql MVCC一起实现了隔离性。

bin log日志记录了每一次执行的sql语句。

参考:
https://mp.weixin.qq.com/s/kCLBq8hRDAXCCC4mvzVLkg
https://blog.csdn.net/dengjili/article/details/82468576
https://mp.weixin.qq.com/s/amn1LKgwtKYavSrZCPMyvA
https://mp.weixin.qq.com/s?__biz=MzU4NjQwNTE5Ng==&mid=2247483687&idx=1&sn=92c2e036a3977781e654f5b7644d5951&chksm=fdfa8504ca8d0c129f5aa14eaaeb2d465e73eba215bbcb90c2324e89c73259eb1a368bc5a55b&mpshare=1&scene=24&srcid=0416pIMpkz15JjgLX7kWhfQJ&sharer_sharetime=1587046316466&sharer_shareid=6cf53bc6b76663c6e39bd2553903560e#rd
https://mp.weixin.qq.com/s?__biz=MzA3ODg3OTk4OA==&mid=2651093647&idx=4&sn=4dd0ca72786eda6e0ee21065dad2f376&chksm=844cd714b33b5e02e67cd232e8abcd8c150163d71d41e4c04c21aff14b2cc18d9f0a358cf224&mpshare=1&scene=24&srcid=0417VwUjJZI21sAGdrolS0z3&sharer_sharetime=1587094086441&sharer_shareid=6cf53bc6b76663c6e39bd2553903560e#rd
https://mp.weixin.qq.com/s?__biz=MzA3MjY1MTQwNQ==&mid=2649834405&idx=3&sn=96d39b7a02abfe8b356a0d655bcd0e98&chksm=871ee447b0696d51b27498be9db3b3f2502b307e859bb7b8273102d741dbcd3175e699528419&mpshare=1&scene=24&srcid=0417aWrmC0rW10PwGxwT2yHj&sharer_sharetime=1587095184487&sharer_shareid=6cf53bc6b76663c6e39bd2553903560e#rd
https://mp.weixin.qq.com/s?__biz=MzAxNjM2MTk0Ng==&mid=2247487373&idx=1&sn=736a10c65d4ab905cfc6b821452eeca8&chksm=9bf4bf38ac83362e3032438fcfec4881e6f61e844957a9dc1ef6a6771ad88d2ba90906e6d85b&mpshare=1&scene=24&srcid=0417CXrxxIsRm6vPvhn3voAb&sharer_sharetime=1587095703345&sharer_shareid=6cf53bc6b76663c6e39bd2553903560e#rd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值