乐观控制法
悲观并发控制
基于锁的并发措施封锁所使用的系统资源,阻止用户以影响其他用户的方式修改数据。该方法主要用在资源竞争激烈的环境中,以及当封锁数据成本低于回滚事务的成本时,它立足于事先预防冲突,因此该方法称为悲观并发控制。
乐观并发控制
乐观控制方法不要求用户封锁数据和采用时间戳技术,这样事务的并发度提高。在执行更新时系统进行检查,查看与上次读取的值是否一致,如果不一致,将产生一个错误,接受错误信息的用户将回滚事务重新开始。
使用乐观并发控制方法,每个事务经过两个或者三个阶段:读、确认和写
在读阶段,事务读取数据库,执行需要的计算,并对一个私有的数据库值的副本进行更新。事务的所有更新操作都记录在一个临时更新文件中,该文件将不会被剩下的其他事务访问
在确认阶段,对事务进行确认以保证所做的修改不会影响数据库的完整性和一致性。如果确认检查是肯定的,事务进入写阶段;如果确认检查是否定的,则事务重新启动,所做的修改被抛弃
在写阶段,所做的修改被永久地写入到数据库中。乐观控制方法对于大多数只有较少更新事务的查询数据库系统来说是可以接受的。
Last updated