*协议-ubuntu 18.04 安装opencv3.4.5的教程(图解)

时间:2021-06-25 08:12:17
【文件属性】:
文件名称:*协议-ubuntu 18.04 安装opencv3.4.5的教程(图解)
文件大小:4.99MB
文件格式:PDF
更新时间:2021-06-25 08:12:17
数据库系统概 王珊 课后习题 11.1 复习笔记 一、并发控制概述 1.并发控制的责任 事务是并发控制的基本单位,保证事务 ACID 特性是事务处理的重要任务,而事务 ACID 特性可能遭到破坏 的原因之一是多个事务对数据库的并发操作造成的。为了保证事务的隔离性和一致性,DBMS 需要对并发操作进 行正确调度。这些就是数据库管理系统中并发控制机制的责任。 2.数据不一致及其原因 并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读“脏”数据。产生三类数据不一致性的主要 原因是并发操作破坏了事务的隔离性。并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受 其他事务的干扰,从而避免造成数据的不一致性。 并发控制的主要技术有*(Locking)、时间戳(Timestamp)和乐观控制法,商用的 DBMS 一般都采用*方 法。 二、* 1.定义 *是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他事务不能更新此数据对象。 2.分类 基本的*类型有两种:排他锁(exclusive locks,简称 X 锁)和共享锁(sharelocks,简称 S 锁)。 (1)排他锁 排他锁又称为写锁。若事务 T 对数据对象 A 加上 X 锁,则只允许 T 读取和修改 A,其他任何事务都不能再 对 A 加任何类型的锁,直到 T 释放 A 上的锁为止。 (2)共享锁 共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A 但不能修改 A,其他事务只能再 对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁为止。 排他锁与共享锁的控制方式可以用图 11-1所示的相容矩阵(compatibility matrix)来表示。 图 11-1 *类型的相容矩阵 三、*协议 1.一级*协议 一级*协议是指事务 T 在修改数据 R 之前必须先对其加 X 锁,直到事务结束才释放。事务结束包括正常 结束(COMMIT)和非正常结束(ROLLBACK)。一级*协议可防止丢失修改,并保证事务 T 是可恢复的。 2.二级*协议 二级*协议是指在一级*协议基础上增加事务 T 在读取数据 R 之前必须先对其加 S 锁,读完后即可释 放 S 锁。二级*协议除防止了丢失修改,还可进一步防止读“脏”数据。 3.三级*协议 三级*协议是指在一级*协议的基础上增加事务 T 在读取数据 R 之前必须先对其加 S 锁,直到事务结 束才释放。三级*协议除了防止丢失修改和读“脏”数据外,还进一步防止了不可重复读。 三级*协议可以总结为表 11-1。 100

网友评论