首页 > 图灵资讯 > java面试题>正文

金三银四精选面试题-事务和MVCC原理

2023-11-19 09:45:52

 

事务和MVCC原理

不同事务同时操作同一条数据产生的问题

LBCC 解决数据丢失

LBCC,基于锁的并发控制,Lock Based Concurrency Control。

使用锁的机制,在当前事务需要对数据修改时,将当前事务加上锁,同一个时间只允许一条事务修改当前数据,其他事务必须等待锁释放之后才可以操作。

MVCC 解决数据丢失

MVCC,多版本的并发控制,Multi-Version Concurrency Control。

使用版本来控制并发情况下的数据问题,在B事务开始修改账户且事务未提交时,当A事务需要读取账户余额时,此时会读取到B事务修改操作之前的账户余额的副本数据,但是如果A事务需要修改账户余额数据就必须要等待B事务提交事务。

MVCC使得数据库读不会对数据加锁,普通的SELECT请求不会加锁,提高了数据库的并发处理能力。 借助MVCC,数据库可以实现READ COMMITTED,REPEATABLE READ等隔离级别,用户可以查看当前数据的前一个或者前几个历史版本,保证了ACID中的I特性(隔离性)。


 
上一篇 金三银四精选面试题-事务的隔离级别
下一篇 金三银四精选面试题-乐观锁、悲观锁、互斥锁、读写锁的原理实现与区别

文章素材均来源于网络,如有侵权,请联系管理员删除。