数据库系统并发控制
- 格式:ppt
- 大小:2.01 MB
- 文档页数:100


山西电子技术 2010年第4期 软件技术 文章编号:16744578(2010)04-0054 ̄2 分布式并发控制技术 弓耀龙 (国营七八五厂,山西太原030024) 摘要:并发控制是分布式事务管理的基本任务之一,其目的是保证分布式数据库系统中多个事务的并发、高 效、正确执行。通过介绍几种常用分布式并发控制方法,了解分布式并发控制技术的实现途径和控制协议,通过进 行性能比较,探讨其在现实中的具体应用。 关键词:事务;分布式并发控制;性能分析 中图分类号:TP311.13 文献标识码:A O引言 随着传统的数据库技术日趋成熟、计算机网络技术的飞 速发展和应用范围的扩充,数据库应用已经普遍建立于计算 机网络之上。这时集中式数据库系统表现出它的不足:数据 按实际需要已在网络上分布存储,再采用集中式处理,势必 造成通信开销大;应用程序集中在一台计算机上运行,一旦 该计算机发生故障,则整个系统受到影响,可靠性不高;集中 式处理引起系统的规模和配置都不够灵活,系统的可扩充性 差。在这种形势下,以分布式为主要特征的数据库系统的研 究与开发受到人们的注意。 分布式数据库是数据库技术与网络技术相结合的产物, 它有效地扩展了数据库应用的空间,使得不同地域的用户可 以共享数据库,提高了办事效率。但是分布式处理却有一个 先天缺陷,就是设计的复杂性,设计一个好的分布式数据库 非常困难。本文从数据库并发控制角度,介绍几种常用分 布式并发控制方法,了解分布式并发控制技术的实现途径和 控制协议,探讨其在现实中的具体应用。 l问题的引入 下面先来看一个例子,说明并发操作带来的数据的不一 致性问题。 考虑飞机订票系统中的一个活动序列: (1)甲售票点(甲事务)读出某航班的机票余额A,设 A=16。 (2)乙售票点(乙事务)读出同一航班的机票余额A,也 为16。 (3)甲售票点卖出一张机票,修改余额A+-A一1.所以 A为15,把A写回数据库。 (4)乙售票点也卖出一张机票,修改余额A—A一1.所 以A为15,把A写回数据库。 结果明明卖出两张机票,数据库中机票余额只减少1。 由此可以看出并发控制对分布式数据库的重要性。 2分布式并发控制技术 2.1封锁法 封锁法是并发控制一个非常重要的技术。所谓封锁就 是事务T对某个数据项操作之前,先向并发控制中心申请加 锁请求,如果不和其他事务冲突,加锁成功;且在事务T释放 该锁之前,其他事务不得更新该数据项。锁分为读锁(共享 锁)和写锁(排它锁)。即对同一数据项在同一时刻可以有 多个事务持有对其的读锁,但对同一数据项在任何时刻只能 有一个事务持有对其的写锁。 在封锁法中实现并发的最著名的算法是两段锁协议。 两段封锁协议规定: (1)在对任何数据进行读、写操作之前,事务首先要获 得对该数据的封锁,而且;在释放一个封锁之后,事务不再获 得任何其他封锁。 (2)所谓“两段”锁的含义是,事务分为两个阶段,第一 阶段是获得封锁,也称为扩展阶段,第二阶段是释放封锁,也 称为收缩阶段。 可以证明,若并行执行的所有事务均遵守两段锁协议, 则对这些事务的所有并行调度策略都是可串行化的。因此 我们得出如下结论:所有遵守两段锁协议的事务,其并行的 结果一定是正确的。遵守两段锁协议,在集中式数据库管理 系统中可以破坏死锁的形成条件,以保证事务调度的正确 性。但是在分布式管理系统中并不能保证不发生死锁。 在分布式环境下,如果分布式数据库系统中没有重复存 储的数据,可以使用分布式锁技术。其实现方法是,对每个 结点保留一个局部锁管理器,处理对存储在本地的数据加锁 和释放锁的请求。当分布式数据库系统中有多处重复存储 的数据时,可采用集中式锁技术,即仅有一个锁管理器,该管 理器放在惟一一个结点上,所有的加锁和释放锁的请求都在 该结点上处理。此外,在分布式环境下的锁方法,还有混合锁 技术、主副本锁协议等。这些方法都可以有效地避免死锁。 其次,基于封锁的并发控制方法在分布式环境下还必须 解决全局死锁问题。所谓全局死锁是指包括两个场地以上 的死锁。分布式数据库系统是采用数据库图协议来避免死 锁的。数据库图协议是建立在数据库图基础上的一种无死 锁协议。一种简单的数据库图协议称为树协议。树协议中 只可以有一种锁,即互斥锁。每个事务t对一个数据项只能 加锁一次,且必须遵循以下规则: a)T的第一个锁可以加到任何数据项上; b)数据项可以由T加锁的前提是其父节点已被加锁; C)数据项在任何时刻都可以被解锁; d)一个已经被T加锁并解锁的数据项不能由T再 加锁。 收稿日期:2010—06—20 作者简介:弓耀龙(1981.),男,山西寿阳人,助工,本科,研究方向:网络管理。
第29卷总第72期 2 008年12月 西北民族大学学报(自然科学版) Journal of Northwest University for Nationalities(Natural Science) Vo1.29。No.4 Dec,2008
大型数据库封锁和并发控制技术应用研究
才让卓玛
(西北民族大学电气工程学院,甘肃兰州730030)
【摘要】信息系统在各种商务活动中的重要性不断增强,维护系统数据的可用性也已成为当前一个十分重要的课 题.为了有效地保持健康的信息系统,必须采取一定的措施防止重要数据库数据被严重损坏,影响数据库管理系统,进而 影响信息系统的正常运行.文章将从一个例子入手。讨论了敷据库应用中并发控制的途径、方法,总结了开发系统时应
注意的问题. [关键词】数据库;封锁;并发控制;阻塞;死锁 [中图分类号】TP311.131 【文献标识码]A [文章编号】1009—2102l2O08)04—0035—05
0引言
封锁(LoCK)或锁定是一种用来管理对共享资源并行访问的一种机制.在单用户数据库中,锁定
显然是不需要的,因为修改信息的用户只有一个,然而在现实中都要求系统是多用户并发系统,在这种
情况下,以适当的机制来控制对相同信息的修改是至关重要的,这就是锁定的目的.在各种数据库系统
中都有锁定机制,但各种锁定机制以及锬定级别又不尽相同.在早期的Sybase系统中,几乎不用考虑
多个用户同时向一个表中插入数据的情况.这是由于Sybase提供页面级的锁定,在这种机制下,当一
个表在修改过程中,如果试图查询这个表,并需要一个被更新锁定的页面,就需要等待,以至于对只需要
1毫秒的事务都没有反应,整个数据库会表现为“冻结”.因此,对于在早期Sybase系统下开发软件,对
事务的处理方式应该是立即提交,尽可能不对数据库锁定.这种处理机制为处理并行一致性付出了很
大的代价,因此效率不高.在Informix系统中,情况有所不同,Informix实现了行一级的锁定,但
实时数据库系统中的并发控制协议及分析
夏家莉
(华中科技大学计算机学院,武汉430074)
E—mail:xiaj165824@263.net
摘要宾时教据库系境是事务和数据都具有显示的时间限制的数据库系统,与传统的数据库系统相比,其调度和并发
控制策略、方法、机制有所不同。该更在分析宾时数据库系境事务并发执行的新特点的基础上,介绍了几种具有代袁意义
的井发控制协议,甚蛄了三种甩于分析比较井发控制性能的方法,井分析了上述井发控剞替议的性能。
美曩词数据库 宴时教据库系统并发控制
文章编号1002—8331一(2002)07—020043 文献标识码A 中圈分类号TP3I1.13
Concurrency Control Protocols for Real--Time Database
Systems and their Performance Comparison
Xia Jiali
(Huazl1ong University of Science and Technology,Wuhan 430074)
Abstract: Real-time Database systems which its trmx, ̄acdons and data have liming constraints have diferent
 ̄ncurrency control stmt ̄e8,methods and mechanism from traditional database systemsThis paper introduces some representative ̄ncurrency control protocols after analyzing the lleW characteristics of eonelarrent executing of real—time
transactions,and presents three姆pic m吐ho f【lT co础pa ng system"performate工 ,the performance f研these
mvvc多版本并发控制的原理
MVVC多版本并发控制是一种用于数据库管理系统中的并发控制技术。该技术可以有效地解决多个用户同时访问数据库时可能出现的数据冲突问题,保证数据的一致性和完整性。
MVVC多版本并发控制的原理是在每个事务开始时,系统会为该事务创建一个独立的版本号。当事务对数据库进行修改时,系统会将修改后的数据保存为一个新的版本,并将该版本的版本号与事务的版本号进行关联。这样,当其他事务需要访问该数据时,系统会根据事务的版本号来选择相应的版本,从而避免了数据冲突的问题。
MVVC多版本并发控制的实现需要使用一些关键技术,包括版本管理、锁管理和事务管理。版本管理是指如何管理数据库中的多个版本,包括版本的创建、删除和查询等操作。锁管理是指如何管理事务对数据库的访问,包括锁的获取、释放和冲突检测等操作。事务管理是指如何管理事务的执行过程,包括事务的开始、提交和回滚等操作。
MVVC多版本并发控制的优点是可以提高数据库的并发性能和可靠性。由于每个事务都有自己的版本号,因此多个事务可以同时访问数据库,从而提高了并发性能。同时,由于每个事务只能访问自己的版本,因此可以避免数据冲突的问题,提高了数据库的可靠性。
总之,MVVC多版本并发控制是一种有效的数据库并发控制技术,可以提高数据库的并发性能和可靠性。在实际应用中,需要根据具体的业务需求和系统特点来选择合适的并发控制技术,以保证数据库的正常运行和数据的安全性。