18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 分布式并发控制(数据库)

分布式并发控制(数据库)

时间:2022-12-19 04:30:01 | 来源:信息时代

时间:2022-12-19 04:30:01 来源:信息时代

    分布式并发控制 : 保证分布式数据库系统中的多个事务的高效、正确地并发执行所采用的技术或机制。保证并发事务的正确执行,就是保证并行执行的事务间的冲突操作的正确执行,也就是通过一定的并发控制机制使冲突操作串行执行。目前,广泛采用的并发控制方法是以锁为基础的并发控制算法,通常采用严格的两段封锁(two-phase lock,2PL)协议来实现并发控制,另外,还有时间戳方法及乐观方法。
1.分布式事务可串行化
在集中式数据库系统中的一个历程H,如果等价于一个串行历程,则称历程H是可串行化的。而在分布式数据库系统中,则将分布事务的可串行性调度转化为以场地为基础的子事务的可串行性调度。
若存在n个分布式事务T1,T2,…,Tn在m个场地上S1,S2,…,Sm上的并发执行,如果每个场地Si上局部历程(H(Si))是可串行化的,并且存在Ti<Tj。如果存在一个总序E,也满足Ti<Tj,则我们说: E是可串行化的。
2.基于锁的并发控制方法
(1)两段封锁协议(2PL): 其封锁方法要求事务在对一数据项进行操作之前必先对该数据项封锁,封锁成功后才能进行操作。若该数据项已经被其他事务封锁,且为冲突操作,则该事务必处于等待状态,直到该数据对象被释放为止。两段封锁协议的实现思想是将事务中的加锁操作和解锁操作分两阶段完成,并要求并发执行的多个事务要在对数据操作之前进行加锁,且每个事务中的所有加锁操作要在解锁操作以前完成。两段封锁协议分为基本的两段封锁协议和严格的两段封锁协议。具体过程同集中式数据库中的两段封锁协议。
(2)对复制数据的封锁方法: 在分布式数据库中,为提高系统的可用性、可靠性及存取效率,常在多个场地上存放多个数据库的副本,当系统的某一或多个场地发生故障时,可通过其他场地上的数据副本完成数据处理。但同时也增加了系统选择副本及处理多副本更新等相应处理功能,即增加了系统的复杂性。通常多副本的并发控制方法分为基于特定副本的封锁方法和基于投票的封锁方法。基于特定副本的封锁方法又分为主副本法、主场地法和后备场地的主场地法。
主副本法(primary copy)规定每一数据项在某个场地上的副本为主副本,通常主副本选择在用户申请封锁某数据项较多的场地,该场地也称为主场地。所有封锁申请由主副本所在场地的锁管理器LM(lock manager)完成。采用主副本法,降低了通信费用,但也降低了并发程度。
主场地法(primary site)规定保存副本的某个场地为主场地,所有封锁申请由主场地的锁管理器(lock manager,LM)完成。即系统中的所有封锁申请都要传到主场地,由主场地决定是否同意封锁请求。由于在主场地法中,所有锁申请由一个场地处理,易形成瓶颈,当主场地出故障时,整个系统将瘫痪。
后备场地的主场地法(primary site with backup site)为防止主场地故障,设立另一个场地为后备主场地,当主场地发生故障后,由后备主场地顶替主场地。
3.基于投票的封锁方法
(1)读-写全体法(read one-write all):指当事务对某一数据项加锁时,若为读锁,只需封锁其中一个副本,即只需向选中的副本所在场地发送锁申请报文;若为写锁,必须封锁所有副本,即需要向所有存有该数据项的副本所在场地发送锁申请报文。因此,在写锁情况下通信费用较大,为避免该不足,提出了多数副本法。
(2)多数副本法(majority copy): 指对数据项进行加锁时,必须封锁数据项一半以上的副本。无论读锁还是写锁申请,都要向n个副本中的至少(n+1)/2个副本所在场地发加锁请求。申请成功后,若为读锁,读取一个副本的值;若为写锁,需向n个副本发送新值。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭