第八章 数据库安全保护PPT
7.3.3 并发操作与数据的不一致性 产生上述三类数据不一致性的主要原因就是并发操作破坏了事务的隔离性。并发控制就是要求DBMS提供并发控制功能以正确的方式高度并发事务,避免并发事务之间的相互干扰造成数据的不一致性,保证数据库的完整性。 BACK 7.3.4 封锁及其产生问题的解决 实现并发控制的方法主要有两种:封锁(Lock)技术和时标(Timestamping)技术(时标意指一种将时间分配到事件的制度)。这里只介绍封锁技术。 1、封锁类型(Lock Type) 所谓封锁就是当一个事务在对某个数据对象(可以是数据项、记录、数据集、以至整个数据库)进行操作之前,必须获得相应的锁,以保证数据操作的正确性和一致性。 封锁是目前DBMS普遍采用的并发控制方法,基本的封锁类型有两种:排它锁和共享锁。 BACK 7.3.4 封锁及其产生问题的解决 (1)排它锁(Exclusive Lock) 排它锁又称写锁,简称为X锁,其采用的原理是禁止并发操作。当事务T对某个数据对象R实现X封锁后,其他事务要等T解除X封锁以后,才能对R进行封锁。这就保证了其他事务在T释放R上的锁之前,不能再对R进行操作。 (2)共享锁(Share Lock) 共享锁又称读锁,,简称为S锁,其采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。当事务T对某个数据对象R实现S封锁后,其他事务只能对R加S锁,而不能加X锁,直到T释放R上的S锁。这就保证了其他事务在T释放R上的S锁之前,只能读取R,而不能再对R作任何修改。 BACK 7.3.4 封锁及其产生问题的解决 2、封锁协议(Lock Protocol) 封锁可以保证合理的进行并发控制,保证数据的一致性。 实际上,锁是一个控制块,其中包括被加锁记录的标识符及持有锁的事务的标识符等。在封锁时,要考虑一定的封锁规则,例如,何时开始封锁、封锁多长时间、何时释放等,这些封锁规则称为封锁协议。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。 封锁协议在不同程序上对正确控制并发操作提供了一定的保证。 BACK 7.3.4 封锁及其产生问题的解决 上面讲述过的并发操作所带来的丢失更新、污读和不可重读等数据不一致性问题,可以通过三级封锁协议在不同程度上给予解决,下面介绍三级封锁协议。 1、一级封锁协议 一级封锁协议的内容是:事务T在修改数据对象之前必须对其加X锁,直到事务结束。 具体地说,就是任何企图更新记录R的事务必须先执行“XLOCK R”操作,以获得对该记录进行更新的能力并对它取得X封锁。如果未获准“X 封锁”,那么这个事务进入等待状态,一直到获准“X封锁”,该事务才继续做下去。 该事务规定事务在更新记录R时必须获得排它性封锁,使得两个同时要求更新R的并行事务之一必须在一个事务更新操作执行完成之后才能获得X封锁,这样就避免了两个事务读到同一个R值而先后更新时所发生的丢失更新问题。 BACK 7.3.4 封锁及其产生问题的解决 利用一级封锁协议可以解决表5.5中的数据丢失更新问题,如表5.8所示。 事务T1先对R进行X封锁(XLOCK),事务T2执行“XLOCK R”操作,未获准“X封锁”,则进入等待状态,直到事务T1更新R值以后,解除X封锁操作(UNLOCK X)。此后事务T2再执行“XLOCK R”操作,获准“X封锁”,并对R值进行更新(此时R已是事务T1更新过的值,R=900)。 这样就能得出正确的结果。 一级封锁协议只有当修改数据时才进行加锁,如果只是读取数据并不加锁,所以它不能防止“污读”和“重读”数据。 BACK 7.3.4 封锁及其产生问题的解决 表5.8 无丢失更新问题 时间 事务T1 R的值 事务T2 t0 XLOCK R 1000 ? t1 FIND R ? ? t2 ? ? XLOCK R t3 R=R-200 ? WAIT t4 UPDATE R ? WAIT t5 UNLOCK X 800 WAIT t6 ? ? XLOCK R t7 ? ? R=R-300 t8 ? ? UPDATE R t9 ? 500 UNLOCK X BACK 7.3.4 封锁及其产生问题的解决 2、二级封锁协议 二级封锁协议的内容是:在一级封锁协议的基础上,另外加上事务T在读取数据R之前必须先对其加S锁,读完后释放S锁。 所以二级封锁协议不但可以
您可能关注的文档
最近下载
- 内科住培基地工作汇报.pptx VIP
- 3.2.2 光合作用 课件生物学七年级下册(共30张PPT).pptx VIP
- 年产8000吨塑料颗粒项目环评环境影响报告表(新版环评).pdf VIP
- 山西省太原市2025-2026学年上学期期末八年级物理试卷及答案(含答案).pdf VIP
- 人教版高中物理选择性必修第三册期末复习全册知识点考点提纲.docx
- 2025年山东化工职业学院单招语文考试题库及答案解析.docx VIP
- 国外油藏描述及方案编制的启示.pptx VIP
- 精神科暴力行为防范与处理.pptx
- 2025年山东化工职业学院单招数学考试模拟试题及答案解析.docx VIP
- 2025-2026学年新教材高中生物期末综合检测卷新人教版必修1 .pdf VIP
原创力文档

文档评论(0)