时间戳和乐观控制法并发控制技术.doc

上传人:数据九部 文档编号:10195653 上传时间:2021-04-28 格式:DOC 页数:2 大小:25.50KB
返回 下载 相关 举报
时间戳和乐观控制法并发控制技术.doc_第1页
第1页 / 共2页
时间戳和乐观控制法并发控制技术.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《时间戳和乐观控制法并发控制技术.doc》由会员分享,可在线阅读,更多相关《时间戳和乐观控制法并发控制技术.doc(2页珍藏版)》请在三一文库上搜索。

1、不加锁的并发控制1. 时间戳的并发控制调度并发事务的时间戳方法给每个事务分配一个全局惟一的时间戳。时间戳的值产生了一个精确的顺序,事务按照该顺序提交给DBMS。时间戳必须有两个特性:惟一性和单调性.惟一性保证不存在相等的时间戳值,单调性保证时间戳的值是一直增长的。同一事务中所有的数据库操作(读和写)都必须有相同的时间戳。DBMS按照时间戳顺序执行冲突的事务,因此保证了事务的可串行化。如果两个事务冲突,通常终止其中一个,将其回滚并重新调度,赋予新的时间戳。存储在数据库中的每个值都要求两个附加的时间戳域:一个是该域最后一次读的时间,另一个是最后一次更新的时间.因此时间戳增加了内存需求和数据库的处理

2、开销.因为有可能导致许多事务被终止,重新调度和重新赋予时间戳,时间戳方法一般需要大量的系统资源.2. 乐观的并发控制乐观方法基于这样的假设,数据库操作的大部分都不会发生冲突.乐观方法不要求锁定.作为替换,事务不受限制地被执行,直到它被提交.便用乐观方法,每个事务经过两个或者三个阶段,它们是读、确认、写。(1) 读阶段,事务读取数据库,执行需要的计算,并对一个私有的数据库值的副本进行更新.事务的所有更新操作都记录在一个临时更新文件中,该文件将不会被剩下的其他事务访问.(2) 确认阶段,对事务进行确认以保证所做的修改不会影响数据库的完整性和一致性.如果确认检查是肯定的,事务进入写阶段;如果确认检查

3、是否定的,则事务回滚,重新启动,所做的修改被抛弃.(3) 写阶段,所做的修改被永久地写入到数据库中.乐观方法对于大多数只有较少更新事务的查询数据库系统来说是可以接受的.3. 三种并发控制方法的比较在存储空间上的比较:(1)封锁:锁使用的空间与封锁对象个数成正比.(2)时间戳:每个数据库对象的读时间和写时间都需要空间,不管是否当前被访问.(3)乐观:需要保存事务操作的临时副本.其中时间戳和乐观方法可能使用空间稍微多一些,因为他们需要记录最近提交事务的某些访问,而封锁不需要.是否推迟事务的比较:(1)封锁推迟事务但避免了回滚,而时间戳和乐观方法不推迟事务,但会导致事务回滚,而这是推迟的一种更严重的形式,并且也浪费资源.(2)如果事务之间相互影响较低,时间戳和乐观方法都不会导致太多的回滚,而封锁不管相互影响如何,系统开销相同.(3)时间戳比乐观方法更早地捕获问题.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1