什么是并发控制?并发控制技术的原理,最基本的分锁模式(排他锁,共享锁)

网友投稿 779 2022-05-29

数据库是一个共享资源,应该允许多个用户程序并行地存取数据,当对数据库进行并行操作时,有可能出现数据不一致的情况。

并行操作:在单处理机系统中,事务的并行执行实际上是这些并行事务的操作轮流交叉进行。

为保证事务并发执行的正确,必须要有一定的调度手段以保障事务并发执行中一事务执行时不受其他事务的影响。并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性

并发控制的主要技术是封锁(locking)、时间戳(Timestamp)和乐观控制法。封锁是实现并发控制的一个非常重要的技术,

所谓封锁就是事务T在对某个数据对象(表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能存取或更新此数据对象。封锁一般由DBMS自动执行。

最基本的封锁模式有两种:

排它锁(eXclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。

什么是并发控制?并发控制技术的原理,最基本的分锁模式(排他锁,共享锁)

排它锁又称写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能修改A。

书山有路勤为径,学海无涯苦作舟,学习是一个积累的过程,希望我们共同进步,同时写的有问题的地方,希望大家指出!

数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云计算与虚拟化
下一篇:Sphinx+github+ReadtheDocs书写笔记
相关文章