- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库基础第五章——事务管理
第五章 事务管理 课程目标 事务管理的基本概念 并发控制 恢复 SQL Server中的事务管理 事务管理的基本概念 数据库作为一种提供共享数据服务的机构,在支持用户并发访问数据的同时,必须保证数据访问的正确性和可靠性,在数据库中,将包含有数据库操作的程序的一次执行称作一个数据库事务,简称事务(Tansaction)。数据库正是通过对事务的执行过程进行控制(称为事务管理)来实现共享正确可靠的数据服务。本章主要介绍事务管理的基本技术。 事务的状态 事务开始(BEGIN_TRANSACTION) 事务读写(Read/Write) 事务结束(END—TRANSACTION) 事务交付(COMMIT—TRANSACTION) 事务的特性 原子性(Atomicity) 持久性(Durability) 可串行性(Serializability) 隔离性(Isolation) DBMS在维持事务的这些特性上主要使用了并发 控制和恢复机制,并发控制机制用以维持事务的 可串行性,恢复机制用以维持事务的原子性、持 久性和隔离性。 并发控制 事务的并发执行如果不加以控制,就会产生如下的不一致性: (1)不可重读性〔Unrepeatable read) (2)污读(Dirty read) (3)丢失修改(Lost updates) 并发控制技术 串行化调度 加锁技术 基于时标的并发控制技术 串行化调度 所有事务均是通过读写操作来存取数据库中的数据内容,在这些事务的并发执行过程中,可以通过对这些事务的读写活动进行串行化调度,使得这些活动的执行过程不影响数据库的一致性。 串行化调度 调度则是安排事务所执行的操作序列。例如,下面表示一个调度: S1:Ri(x)Rj(x)Wi(y)Rk(y)Wi(x) 在调度S中,如果事务Ti的最后一个操作在事务 Tj的第一个操作开始执行之前完成,则称Ti和Tj 串行执行;否则称它们并发执行。而在一个调度 中如果不存在并发执行的事务,则该调度是串行 的。例如下面的调度S2就是串行的: S2:Ri(x)Wi(x)Ri(y)Rj(x)Wj(y)Rk(y)Wk(x) 串行化调度缺点 在串行化调度中,事务的操作过程必须在调度之前就已经确定,这种方式在实际应用中是不可行的,也是不可能的,因为用户需要以更灵活的方式使用数据库。实际应用中,一个事务的操作过程可能会随着数据内容的变化而发生变化。因此,串行化调度方法仅仅是对事务调度执行方法的一种评价手段,实际系统中必须寻求一种更灵活有效的手段保证调度的串行化。 加锁技术 加锁技术就是一种最常用的并发控制技术。它的基本思想是:在任何时候,事务欲存取某一(些)数据项时,必须获得对这一(些)数据项的加锁权限;而一个事务在处理某一(些)数据项时,需要对它(们)进行加锁;操作完成或事务结束后,释放所有由它所加的锁。 加锁技术 二值锁 共享锁(Shared lock)和互斥锁(Exclusive lock) 两段锁协议 死锁和饿死 加锁粒度 加锁与释放时机 基于时标的并发控制技术 在加锁技术中,是根据操作冲突的对象和结果来解决冲突问题的,这种处理方法实现上简洁可行,但也存在着死锁和饿死等一些较严重的问题。时标技术是用于并发控制的另一种技术。 时标技术的基本思想 每个事务开始执行时原统为这个事务赋予一个时标t(一般为当前时间) 事务所进行的每个读写操作,均具有时标t属性 系统中维持所有数据项x的最近读时标RTM(x)和写时标WTM(x) 某个事务T执行到某一操作时,比较事务T的时标t与操作对象x的最近读写时标 时标技术与加锁 时标技术不同于加锁技术,它是基于时标的大小来解决操作冲突,保证冲突的操作按照时间顺序来执行。按照时标技术的思想,如果一个事务试图对被较早事务修改过的数据进行读操作,或者试图对被较早事务读或修改过的数据进行修改时,这个事务会以一个新的时标重新启动。 恢复 一些并发控制技术,或者系统资源开销很大,或者不能完全保证数据库的完整性和一致性。由于各种原因(如系统故障、用户的不小心,某些用户蓄意破坏等),系统会处于不完整和不一致状态,因此必须适时检测系统状态,一旦发现问题,就必须使用特殊手段恢复系统。 恢复的一般原则 系统失效时损失应最小 撤销或重做的应尽可能是单个事务 恢复速度要快 应尽量减少恢复时的人工记录工作 确保恢复数据的安全可靠 恢复的基本机制 导致事务的流产原因 : (1)系统失效(或系统崩溃) (2)事务或系统错误 (3)事务检测到异常 (4)并发控制机制强迫事务流产 (5)磁盘错误 (6)物理环境问题 恢复的基本机制 解决机制 (1)日志(Log) (2)检查点(Check Poi
文档评论(0)