不像基于封锁的算法,基于时标的并发控制算法不通过互相排斥来维持可串行化。这里,唯一性是时标的第一个性质。协调事务管理器为每个事务指定时标,确定每个数据项存放的节点,并向这些节点发送执行相关操作的命令。下面的算法称为基本时标序事务管理算法,记作BTO-TM。严格2PL算法要求封锁必须推迟到事务的提交或夭折才释放,同样也可以给出一个严格的TO算法。......
2023-10-28
有多种并发控制算法的分类方式(见图9.10)。有的按数据库的分布方式(全复制、部分复制等)来分类,也有的按照网络拓扑结构的方式来分类,但最常用的是按照同步原语来分类。按照同步原语可以将并发控制算法分成两类:基于互斥存取共享数据的算法和将事务排序按规则执行的算法。然而,原语又可以分成乐观的和悲观的两种,因此可以分成悲观算法和乐观算法。悲观算法又可以分成封锁算法、时标序(TO)算法和混合(hybrid)算法。乐观算法同样可以分成封锁算法或时标序(TO)算法。其分类如下图所示。
因为简单,所以封锁是最常用的方法。在基于封锁的方法中,事务的同步是利用对数据库的某部分和颗粒实施物理与逻辑封锁实现的。这部分(通常称为封锁颗粒)是一个重要参数,这里把它简化为封锁单元(lock unit)。封锁方法又可以进一步区分如下。
●在集中式封锁(centralized locking)中,网络中的一个节点可以设计为原本节点,放置整个数据库的封锁表,负责响应对事务的授权封锁。
图9.10 并发控制算法的分类(摘自参考文献[5])(www.chuimin.cn)
●在主本封锁(primary copy locking)中,将每个封锁单元的某个副本指定为主本,在访问该单元时主本必须封锁。例如,如果封锁单元x在节点1、2和3有副本,假设节点1上存放的是主本。所有希望存取x的事务在其存取x的一个副本前可以在节点1获得封锁。
在集中式封锁中,封锁管理器的责任由网络上的所有节点共享。此时,事务的执行涉及一个以上节点的调度器的参与者与协调者。每个本地调度负责封锁本节点的封锁单元。
时标序(TO)算法涉及事务执行序的组织,所以它们维护事务互一致性和内一致性。这种排序是通过未事务和存放在数据库中的数据项指定时标来实现的。这些算法可以分成基本TO、多版本TO和保守TO等。
实际上,在某些基于封锁的算法中也使用时标,因为这样可以改进效率和并发性,我们称为混合算法。
有关分布式数据库技术的文章
不像基于封锁的算法,基于时标的并发控制算法不通过互相排斥来维持可串行化。这里,唯一性是时标的第一个性质。协调事务管理器为每个事务指定时标,确定每个数据项存放的节点,并向这些节点发送执行相关操作的命令。下面的算法称为基本时标序事务管理算法,记作BTO-TM。严格2PL算法要求封锁必须推迟到事务的提交或夭折才释放,同样也可以给出一个严格的TO算法。......
2023-10-28
基于封锁的并发控制的主要思想是,保证冲突操作共享的数据一次只能由一个操作存取。表9.1封锁模式的兼容矩阵在基于封锁的系统中,这是由封锁管理器来实现的。封锁管理器检查该封锁单元是否已上锁。事务结束时,解除全部封锁。图9.2表示一旦完成对一个数据项的存取,封锁管理器就释放对数据项的封锁。图9.22PL的形态图9.3严格的两阶段封锁图严格的两阶段封锁管理需要对算法9.1略作修改。算法9.2 严格的两阶段封锁LM算法。......
2023-10-28
前面讨论的并发控制算法都是悲观算法。反之,夭折该事务,并重新启动它。图9.7乐观事务的执行阶段可以设计一个基于封锁的乐观并发控制算法。不过原始乐观建议是基于时标序的。论文提出,事务冲突并不很频繁时,乐观算法的性能优于封锁算法的性能。乐观算法的一个主要缺点是存储开销较大。为了能够验证,乐观机制必须存储其他已终止事务的读集和写集。然而,减少了并发度,因为这仅让一个事务运行。......
2023-10-28
在多版本并发控制方法中经常采用异地更新技术,即不是直接在旧数据项上修改,而是先创建一个数据项的新版本,然后让新版本取代旧版本。使用MVCC的好处是,读请求不会因为存在写操作而被阻塞。数据库中的只读访问常常检索的是已被提交的数据项版本。系统的开销主要发生在相同数据项的多个版本上。有一种称为快照隔离的技术用于实现支持MVCC的数据库。SI的开销虽然小,但弱化了可串行化。SI包含以下两个重要性质。......
2023-10-28
Gray等学者使用两个参数对复制控制方法进行了分类。如图11.2所示,纵向方向我们分为渴望的与懒惰的两类技术。横向方向分为主本更新方式和随处更新方式,从而可以将复制控制算法分成四类。图11.2同步策略分类1.积极原本方法积极原本方法是无副本事务执行的直接扩展。读操作与积极原来方法的类似。Gray等将协议分成积极和懒惰两大类,随之大量的复制协议被开发出来。其不利因素是响应时间取决于系统中最晚给出响应的机器。......
2023-10-28
在上位机将控制算法传输到控制卡后,控制卡会将控制算法信息暂存到控制算法缓冲区,并不会立即对控制算法进行解析。所以,控制算法的解析必须选择合适的时机。本系统中将控制算法的解析操作放在本周期的控制算法运算结束后执行,这样不会对本周期内的控制算法运行产生影响,新的控制算法将在下一周期得到执行。上位机下发给控制卡的控制算法包含控制算法的操作信息、回路信息和回路中各功能模块信息。......
2023-11-22
表7.8分布查询优化算法比较①统计内容分别为:1=关系的基,2=每个属性的不同值个数,3=连接选择系数,4=每个连接属性上投影的大小,5=属性大小和元组大小。......
2023-10-28
相关推荐