裴婉竹
摘要:计算机网络技术的快速发展加速了分布式管理系统的应用和推广,数据库管理系统作为分布式管理系统的一个重要组成部分,采用并发控制机制实现多业务逻辑功能请求时,对于保证数据库的一致性和准确性具有重要的作用。目前,常用的数据库并发控制机制包括基于封锁的方法、基于时标的方法和基于乐观并发控制方法三种,能够有效地提升数据库操作的并发性,强化事务处理的效率,确保数据库中存储数据的完整性,进而可以大大提高分布式管理系统的实施和应用。
关键词:数据库管理系统 并发控制 一致性 事务处理
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2014)12-0111-01
1 引言
随着互联网技术的快速发展,分布式管理系统已经在金融证券、电力通信、政企办公、建筑施工等领域得到了广泛的应用,分布式管理系统处理的逻辑业务具有数据量庞大、系统规模复杂、多用户操作环境下的特点,需要引入多线程并发控制技术,数据库管理系统需要能够实现多个逻辑业务程序同时存取数据库的功能,以便能够为人们提供更加完善的数据服务,提高分布式数据库的并发程度、吞吐量,并且能够确保数据库的一致性和准确性[1]。
2 数据库并发控制作用
在分布式管理系统应用过程中,数据库存储了多个用户共享的数据资源,可以供许多用户进行访问。如果用户的逻辑业务程序串行执行访问,也就是每一个时刻只有一个用户程序执行数据库存取,其他用户需要等待,此时就可以有效地保证数据库的一致性、完整性等。但是,随着分布式管理系统并发技术的使用,为了能够充分地利用数据库资源,发挥数据库共享的特性,已经产生了多个用户并发存取数据库的需求[2]。多个用户存取同一数据资源,很容易破坏数据库的一致性,因此,需要对多用户存取操作进行并发控制。并发控制机制是保证数据库一致性的重要手段,也是衡量一个数据库优劣的重要标志。
3 数据库并发控制机制应用
数据库并发控制常用的机制包括三种,分别是基于封锁的方法、基于时标的方法、基于乐观并发控制方法[3]。
(1)基于封锁的方法。
封锁方法是最为常用的数据库并发控制方法,其基本思想描述如下:数据库管理系统操作数据之前,必须申请对需要操作的数据对象进行封锁,封锁完成之后才能获准对该数据对象进行操作。如果申请封锁的过程中,发现该数据对象已经被其他事务封锁,则操作方式将会产生冲突,后到的事务请求封锁程序必须等待,直到数据对象被其他事务释放之后,才能完成封锁请求。确切的控制规则由封锁类型确定,封锁规则规定了数据库并发控制过程中,加锁原则和封锁相融合的机制,以便能够实现冲突事务请求操作的可串行调度。目前,最常用的封锁模型有共享锁、排它锁两种,其中共享锁又被称为S锁,数据对象在进行读操作时可以使用共享锁;排它锁又被称为X锁,数据对象在进行写入操作的过程中,可以使用排它锁。
(2)基于时标的并发控制方法。
数据库事务执行过程中,基于时标的并发控制给每一个事务赋予一个唯一的时标戳,数据库管理系统可以根据事务的时标戳进行排序串行调度,此时事务按照时标戳排序的串行调度等效于事务的时间调度。调度器给每一个事务T赋予一个唯一的数值,也就是时间戳TS(T),时间戳必须在事务第一次通知调度器时直接按照升序给出,调度器维护一个计数器,当一个事务开始时,计数器加1,新的数值便成为该事务大的时间戳,调度器还需要将数据库中活跃的事务及其时间戳保存在一个表中,便于为后续调度提供基础依据。
时标控制方法也是数据库常用的并发控制机制之一。时标控制方法的优点是事务处理过程中不会发生中断,并且无需发生等待,因此不存在事务处理死锁现象,时标控制方法能够很好地满足并发度。时标控制方法也存在一些缺点,比如其需要重启,才能保持事务全局顺序操作,冲突发生较多时,重启次数过多导致资源浪费,另外在分布式系统中维护全局统一时标非常困难。
(3)基于乐观并发控制方法。
与传统的封锁、时标并发控制方法不同,乐观方法不需要暂时停止或者拒绝执行一个数据库操作事务,乐观方法可以让一个事务顺利执行完毕。乐观控制方法执行的前提是系统数据库操作事务之间极少发生冲突。根据对数据库存取访问事务进行分析可知,很多数据库事务可以无冲突正确地执行完毕,因此可以不考虑事务之间的冲突,让读操作执行完毕,暂时保存写操作的结果在缓冲区。数据库事务读操作完毕之后,可以由一个专门的检测确认程序确认数据库操作事务之间是否具备可串行化,如果通过这个检查,则可以把写操作的结果永久地存储到数据库中,否则就需要重启数据库操作事务。为了能够完成检测过程,需要保留数据库操作事务的一些上下文信息,直到检测程序执行完毕,乐观并发控制方法执行的过程可以分为以下三个步骤:
(1)数据读出操作:该步骤可以读出数据库需要处理的数据项,处理完毕后将回写结果的值保存在一个缓冲空间中,而不需要写入数据库;
(2)事务检测操作:事务检测操作可以有效地检查数据库的更新操作是否能够引起数据库中的数据不一致,如果通过检测,则可以执行写入操作,如果检测不通过,需要重新启动事务处理过程。
(3)数据写入操作:将通过事务检测操作的数据处理结果写入到数据库中。
4 结束语
数据库并发控制机制可以有效地确保数据一致性和完整性,在当前多用户、大规模数据事务处理的环境下具有重要的作用和意义。随着互联网技术、数据库技术的快速发展,数据库并发控制机制能够与当前的移动计算、云计算等先进技术相结合,得到更多的应用和改进。
参考文献
[1]陈秋月,张剑妹.关系数据库的并发控制与实现途径[J].长治学院学报,2012,29(5).
[2]周洋,张雷.使用触发器的特殊乐观并发控制方法[J].电脑知识与技术,2013,(29).
[3]张云,李岚.一种多粒度锁的事务并发控制算法[J].微型机与应用,2012,31(5).