赞
踩
2024 年 1 月字节后端实习面试:说说对 ACID 的理解?
事务(Transaction)是数据库管理系统中一个执行单元(unit of work),它由一系列的操作(例如读取数据、插入、更新或删除数据等)组成,这些操作要么全部成功执行,要么全部回滚(撤销)到事务开始时的状态,以保持数据的一致性和完整性。
ACID
并发事务引发的问题:脏读、不可重复读、幻读
注:Oracle默认的隔离级别是读提交,MySQL(Innodb)是可重复读
脏读:读到了其他事务未提交的数据
不可重复度:相同的数据前后读两次,数据内容不一致
幻读:读一个范围的数据,前后读两次,记录条数不一致
MVCC,即Multi-Version Concurrency Control (多版本并发控制)。它是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。
基本思想:是一种乐观锁的思想
优点:
缺点:
MVCC的目的就是多版本并发控制,在数据库中的实现,就是为了解决读写冲突,它的实现原理主要是依赖记录中的 3个隐式字段,undo日志 ,Read View 来实现的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。