有多种并发控制算法的分类方式。按照同步原语可以将并发控制算法分成两类:基于互斥存取共享数据的算法和将事务排序按规则执行的算法。图9.10并发控制算法的分类●在主本封锁中,将每个封锁单元的某个副本指定为主本,在访问该单元时主本必须封锁。这些算法可以分成基本TO、多版本TO和保守TO等。实际上,在某些基于封锁的算法中也使用时标,因为这样可以改进效率和并发性,我们称为混合算法。......
2023-10-28
Gray等学者使用两个参数对复制控制方法进行了分类。这两个参数是事务位置(transaction location)和同步点(synchronization point)。事务位置指的是事务在哪里执行。对只读事务来说,在有副本的地方都能执行。更新事务就不一样了,这类事务中至少有一个写操作。这种事务在哪儿执行,有两种可能性:在数据的原件(或主本,primary copy)处更新;或者在任意一个副本处更新。采用在数据的主本处更新策略,在该节点检测并发更新事务的冲突。而在任意副本处更新的并发控制策略更复杂。前者的灵活性比后者的灵活性差。
简言之,事务位置说明的是地点:何地(where);同步点说明的是时间:何时(when)。
同步策略是指确定何时让副本协调达到一致性。在渴望复制(eager replication)中,事务更新的协调发生在事务提交之前。在懒惰复制(lazy replication)中,事务更新是在提交后进行异步传递的。渴望复制常常会引起较长的客户端响应时间,但提供了强一致性。
如图11.2所示,纵向方向我们分为渴望的与懒惰的两类技术。横向方向分为主本更新方式和随处更新方式,从而可以将复制控制算法分成四类。
图11.2 同步策略分类
1.积极原本方法
积极原本方法是无副本事务执行的直接扩展。例如,在每个副本处,使用严格的两阶段封锁(2PL)。当客户端对副本R提交事务Ti(Ti是R处的一个本地事务)时,R返回对Ti的响应。更新事务只允许施加在主本(primary)上,读操作则可以在任意副本的本地实施。在访问数据项的本地版本前,需要施加一个共享锁。对写操作而言,则需要施加对主本的排外锁。更新完成后,需要运行2PC,主本节点扮演着协调者的角色,将更新结果同步到其余副本所在的节点。(www.chuimin.cn)
2.积极随处更新方法
积极随处更新方法传统并发控制机制的扩展,提供全局可串行化执行,强调正确处理故障。例如,只读事务和更新事务都可以在副本处的本地协调执行。读操作与积极原来方法的类似。写操作则在所有副本所在处执行。本地副本向所有其他副本广播更新请求,申请一个排外锁,然后实施更新。它等待所有其他副本处发送来的响应。所等待的答复可能会产生冲突,不同副本处的操作会有不同的序。换言之,无法保证所有远程副本按相同的次序执行,这样就有可能发生死锁。本地事务夭折的处理和主本协议一样。当一个副本收到另一个副本本地提交事务的写请求时,需要申请排外锁,执行操作,并发送答复信息给该副本。若检测到死锁,则可能涉及远程事务,系统可以终止远程事务。
3.懒主本方法
与积极随处更新方法相比,懒主本方法在事务执行期间,副本间不进行通信。事务可以在本地执行和提交,在本地提交后,再将更新事务传递给其他副本。将懒主本方法主本方案结合起来,该方法显得很简单。还是以2PC为例:只读事务和积极随处更新方法的只读事务一样执行。更新事务只可在主本处提交。
4.懒惰随处更新方法
该方法可以对任意副本执行更新事务,提交后再传播给其他副本。这里的写操作可以在所有副本处处理,然后向其他副本发送这个本地事务的写集(writesets)。其他副本收到这个写集,就执行修改操作。
Gray等将协议分成积极和懒惰两大类,随之大量的复制协议被开发出来。在积极算法中使用2PC,本地副本只能在所有副本都执行完后才能提交。因此,所有数据副本是虚拟一致的(virtually consistent)。其不利因素是响应时间取决于系统中最晚给出响应的机器。许多新协议也不运行2PC。一旦本地副本获悉其他远程副本会“最终”提交,就可以提交。典型要求是所有的副本都收到写操作和写集,以保证每个副本都遵循相同的全局可串行化序。但不必要求远程副本在本地副本提交时已经执行写操作。这意味着在副本中虽然执行了某个“契约”协议,但不必包括事务的处理或将日志写入磁盘。
有关分布式数据库技术的文章
有多种并发控制算法的分类方式。按照同步原语可以将并发控制算法分成两类:基于互斥存取共享数据的算法和将事务排序按规则执行的算法。图9.10并发控制算法的分类●在主本封锁中,将每个封锁单元的某个副本指定为主本,在访问该单元时主本必须封锁。这些算法可以分成基本TO、多版本TO和保守TO等。实际上,在某些基于封锁的算法中也使用时标,因为这样可以改进效率和并发性,我们称为混合算法。......
2023-10-28
目前,微电网常用的基本控制方法主要分为主从型和对等型两种。前者是将DG电源赋予不同的职能,并有一个主单元来协调控制其他DG电源;后者是基于外特性下降法的控制策略,各个DG电源之间采用了相同的控制方法,且它们之间是平等关系。主从控制策略主要用于孤岛运行时的微电网控制。......
2023-06-23
正如前所述,FACTS的设备数量和类别正日益增多。FACTS控制器可按如下多种分类方法进行划分。由此还发展出更复杂的FACTS控制器,如多回路串联—并联统一式FACTS控制器。表4-4给出了交流电力传输系统中的典型FACTS控制器。......
2023-06-23
在数据库安全里,访问控制扮演着重要角色。访问控制就提供这种保护功能。访问控制系统需要关注三个方面:访问控制策略、访问控制模型和访问控制机制。访问控制策略定义高级规则,用于核实访问请求是否被核准或拒绝。访问控制策略通过访问控制模型来实现规范,通过访问控制机制来强制实施。这样,访问策略改变后,访问控制机制依然有效。访问控制系统主要具有如下特征。这些特征给访问控制机制的设计与开发迎来了新的挑战。......
2023-10-28
目前,关系数据库基本上可以很好地支持商务数据处理应用。我们用图15.1来说明程序设计思想从面向过程到面向对象的演变。 考虑如下对象:〈i1,939〉;〈i2,{i6,i11}〉;〈i3,{6,7}〉;〈i4,[LF:i7,RF:i8,LR:i9,RR:i10]〉。 考虑如下对象:〈i1,TCL〉;〈i2,[name:Jz,my TV:i1]〉;〈i3,[name:Ying,my TV:i1]〉。......
2023-10-28
强制安全策略采用通过集中授权施加以规则为基础的访问控制。一个访问类c1的级别大于等于另一个访问类c2,则称为c1支配c2。基于保密强制策略:是为了保护数据机密性。强制策略的最大缺陷是它们只能控制通过公开通道的信息流,即合法途径操作的通道。主体提交的访问请求按以下两条原则进行评估。例如,假设有两个完整性级别Crucial和Important,且C>I,同时和主体与对象关联的分类集合是{Admin,Medical}。......
2023-10-28
相关推荐