有多种并发控制算法的分类方式。按照同步原语可以将并发控制算法分成两类:基于互斥存取共享数据的算法和将事务排序按规则执行的算法。图9.10并发控制算法的分类●在主本封锁中,将每个封锁单元的某个副本指定为主本,在访问该单元时主本必须封锁。这些算法可以分成基本TO、多版本TO和保守TO等。实际上,在某些基于封锁的算法中也使用时标,因为这样可以改进效率和并发性,我们称为混合算法。......
2023-10-28
在多版本并发控制(multi-version concurrency control,MCC或MVCC)方法中经常采用异地更新技术,即不是直接在旧数据项上修改,而是先创建一个数据项的新版本,然后让新版本取代旧版本。典型情况下,MVCC使用时标(timestamps)或以递增序标注的事务标识(TID)来实现和标识新的数据版本拷贝。使用MVCC的好处是,读请求不会因为存在写操作而被阻塞。
数据库中的只读访问常常检索的是已被提交的数据项版本。系统的开销主要发生在相同数据项的多个版本上。有一种称为快照隔离(snapshot isolation,SI)的技术用于实现支持MVCC的数据库。SI的开销虽然小,但弱化了可串行化。
SI假设无论何时事务写一个数据项x,就创建一个x的新版本,并在该事务提交时让该版本生效。如果事务Ti和Tj同时要写数据项x,Ti在Tj前提交,且在这两个事务之间没有其他事务提交和写x,则Ti写的x版本排序在Tj写的x版本排序前面。
SI包含以下两个重要性质。(www.chuimin.cn)
●读快照(snapshot read):为每个事务提供其启动时数据项的最新快照,以保证高事务并发度,并不受写操作的干扰。
●写快照(snapshot write):在事务不可见时发生写。不允许两个并发事务更新同一个数据项。
有关分布式数据库技术的文章
有多种并发控制算法的分类方式。按照同步原语可以将并发控制算法分成两类:基于互斥存取共享数据的算法和将事务排序按规则执行的算法。图9.10并发控制算法的分类●在主本封锁中,将每个封锁单元的某个副本指定为主本,在访问该单元时主本必须封锁。这些算法可以分成基本TO、多版本TO和保守TO等。实际上,在某些基于封锁的算法中也使用时标,因为这样可以改进效率和并发性,我们称为混合算法。......
2023-10-28
不像基于封锁的算法,基于时标的并发控制算法不通过互相排斥来维持可串行化。这里,唯一性是时标的第一个性质。协调事务管理器为每个事务指定时标,确定每个数据项存放的节点,并向这些节点发送执行相关操作的命令。下面的算法称为基本时标序事务管理算法,记作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
某一个副本丢失以后,它可以自动恢复,这是由HDFS内部机制实现的。小文件存储的(磁盘)寻道时间会超过读取时间,违反了HDFS的设计目标。HDFS如何存储数据。HDFS采用Master/Slave的架构来存储数据,这种架构主要由四部分组成,分别为Client、NameNode、DataNode和Secondary NameNode。图18.6HDFS的架构图NameNode:是一个主管、管理者,主要负责以下几方面的工作。HDFS如何写入文件,主要包括以下几步。......
2023-10-28
多飞行器协同飞行,当攻击目标时,如果能够从不同的方向同时命中目标,则能够大大提高对目标的攻击性能。要想实现此目的,需有协同末制导律作为技术支撑。进一步,在设计协同末制导律时,还需考虑各导弹的控制量受限、框架角受限等约束问题。对于通过信息传输实现协同攻击的多导弹,信息的传输模式、通信拓扑的设定和信息的利用规则是设计协同末制导律的关键问题。......
2023-08-02
分布式数据库管理系统的并发控制是为了保证多用户分布环境下的数据库一致性。可串行化是涉及并发控制的一个重要理论。条件1表示调度涉及的域是一个由各个事务构成的集合。例9.2所示的是一个串行调度。下面我们讨论可串行化的问题。定义9.3 一个调度Sc是可串行的,当且仅当Sc冲突等价于一个串行调度,这种可串行化通常称为冲突等价可串......
2023-10-28
相关推荐