系统实现技术计算机网络课件

上传人:bin****86 文档编号:54336640 上传时间:2018-09-11 格式:PPT 页数:55 大小:376.50KB
返回 下载 相关 举报
系统实现技术计算机网络课件_第1页
第1页 / 共55页
系统实现技术计算机网络课件_第2页
第2页 / 共55页
系统实现技术计算机网络课件_第3页
第3页 / 共55页
系统实现技术计算机网络课件_第4页
第4页 / 共55页
系统实现技术计算机网络课件_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《系统实现技术计算机网络课件》由会员分享,可在线阅读,更多相关《系统实现技术计算机网络课件(55页珍藏版)》请在金锄头文库上搜索。

1、2018/9/11,四川理工学院计科系,1,第7章 系统实现技术,2018/9/11,四川理工学院计科系,2,本章重要概念,系统目录及其与DBMS各子系统的联系。 事务的定义,COMMIT和ROLLBACK的语义,事务的ACID性质,事务的状态变迁图。 存储器类型,稳定存储器的实现,数据传送过程。 恢复的定义、基本原则和实现方法,故障类型,检查点技术,REDO和UNDO操作,运行记录优先原则。,2018/9/11,四川理工学院计科系,3,本章重要概念(续1),并发操作带来的三个问题,X锁、PX协议、PXC协议,S锁、PS协议、PSC协议,活锁、饿死和死锁,并发调度,串行调度,并发调度的可串行化

2、,两段封锁法,SQL中事务的存取模式和隔离级别。 完整性的定义,完整性子系统的功能,完整性规则的组成。SQL中的三大类完整性约束,SQL3中的触发器技术。 安全性的定义、级别,权限,SQL中安全性机制,几种常用的安全性措施,自然环境的安全性。,2018/9/11,四川理工学院计科系,4,主要内容和学习要求,7.1 系统目录 (理解) 7.2 事务 (综合应用) 7.3 数据库的恢复 (理解) 7.4 数据库的并发控制 (了解) 7.5 并发事务的可串行化和可恢复性(了解) 7.6 数据库的完整性(理解) 7.7 数据库的安全性(理解),2018/9/11,四川理工学院计科系,5,7.1 系统目

3、录,什么是系统目录 系统目录的重要性 系统目录的内容 元数据,2018/9/11,四川理工学院计科系,6,7.1 系统目录(续1),7.1.1 RDBMS系统目录的存储内容 关系名,属性名,属性域(数据类型) 各种约束,主键,辅助键,外键,空值/非空值 视图的外部级描述,存储结构和索引的内部级描述 安全性和授权规则 数据完整性规则 注意:这些数据都以表格的形式存在,2018/9/11,四川理工学院计科系,7,7.1 系统目录(续2),某RDBMS的系统目录内容,2018/9/11,四川理工学院计科系,8,7.1 系统目录(续3),7.1.2 系统目录的扩充ER图,2018/9/11,四川理工学

4、院计科系,9,7.1 系统目录(续4),7.1.3 系统目录和DBMS各子系统的联系,2018/9/11,四川理工学院计科系,10,7.2 事务(transaction),事务:构成单一逻辑工作单元的操作集合。事务以“BEGIN TRANSACTION” 始,以“COMMIT”或“ROLLBACK”终。 事务的性质(ACID) 原子性(Atomicity):事务是一个不可分割的工作单元 一致性(Consistency):即数据不因事务的执行而被破坏 隔离性(Isolation):多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样 持久性(Durability):一事务一旦完成全部

5、操作后,它对数据库的所有更新应永久地反映在数据库中,2018/9/11,四川理工学院计科系,11,例子:事务及其性质,问题:设银行数据库中有一转账事务T,从账号A转一笔款子($50)到账号B。 相应的事务:T:read(A);A:=A50;write(A);read(B);B:=B+50;write(B).,T:BEGIN TRANSACTION;read(A);A:=A50;write(A);if (A0) ROLLBACK;else read(B);B:=B+50;write(B);COMMIT;,7.2 事务(续1),2018/9/11,四川理工学院计科系,12,事务提交和事务撤销,事务

6、的所有操作都完成了,则事务提交(COMMIT),否则事务撤销(ROLLBACK) BEGIN TRANSACTION标志事务开始执行 BEGIN TRANSACTION和COMMIT或ROLLBACK一起保证了事务的ACID性质 对数据库访问的两个基本操作:读和写,但完成写操作后,数据可能暂时放在内存中,而非直接写进数据库。,7.2 事务(续2),2018/9/11,四川理工学院计科系,13,7.2.3 事务的状态变迁图,7.2 事务(续3),2018/9/11,四川理工学院计科系,14,7.2.3 事务的状态变迁图,活动状态:事务开始执行后,立即进入活动状态(Active) 局部提交状态:事

7、务的最后一个语句执行后,进入局部提交状态(Partially Committed) 失败状态:事务没能到达最后一个语句就中止执行,事务进入失败状态(failed) 异常中止状态:对失败状态的处理进入异常中止状态(Abort) 提交状态:局部提交状态的事务经检查的执行提交(COMMIT)操作,把对数据库的的修改全部写到磁盘上,事务成功结束,进入“提交”状态,7.2 事务(续3),2018/9/11,四川理工学院计科系,15,7.3 数据库的恢复,可恢复性(Recovery):DBMS能把数据库从被破坏、不正确的状态恢复到最近一个正确的状态的能力。 7.3.1 存储器结构 存储器类型 易失性存储器

8、(volatile storage):如内存、cache 非易失性存储器(nonvolatile storage):如磁盘、磁带 稳定存储器(stable storage):“决不丢失”的理论概念。 稳定存储器的实现 数据备份:如软件拷贝、磁盘镜像、RAID、双机容错等 数据银行:将数据写到远程计算机中,2018/9/11,四川理工学院计科系,16,数据访问,块:存储单位 物理块:磁盘中的块 缓冲块:内存中的块;所有的缓冲块组成“磁盘缓冲区” 块操作: Input(A):数据从物理块A传送到内存的缓冲块中。 Output(B):数据从缓冲块B传送到磁盘中恰当的物理块中,7.3 数据库的恢复(续

9、1),2018/9/11,四川理工学院计科系,17,数据访问,事务,系统,磁盘,7.3 数据库的恢复(续2),2018/9/11,四川理工学院计科系,18,恢复和原子性的联系,若没有事务的原子性,则重新启动事务时要么A因为再执行一遍而为1800,要么B因从未执行而保持原值,7.3 数据库的恢复(续3),2018/9/11,四川理工学院计科系,19,7.3.2 恢复的基本原则和实现方法,基本原则:“冗余”,即数据库重复存储 具体实现方法: 平时做好两件事:转储和建立日志 周期性地对整个数据库进行拷贝。 建立日志数据库。记录事务的开始、结束及数据每一次更新的值。 一旦发生数据库故障,分两种情况进行

10、处理 若数据库已被破坏,则装入last数据库备份,利用日志库执行REDO。 若数据库未被破坏,但某些数据不可靠,则执行UNDO。,7.3 数据库的恢复(续4),2018/9/11,四川理工学院计科系,20,7.3.3 故障类型和恢复方法,事务故障的分类: 可预期的事务故障:如存款余额透支等(用ROLLBACK) 非预期事务故障:如运算溢出、数据错误、并发事务发生死锁等(用UNDO) 系统故障(软故障) 硬件故障、软件错误或掉电等(对未完成事务执行UNDO;对已提交但仍在缓冲区的事务执行REDO) 介质故障(硬故障) 磁盘物理故障或遭受病毒破坏,7.3 数据库的恢复(续5),2018/9/11,

11、四川理工学院计科系,21,7.3.4 检查点方法,检查点方法的恢复算法 按日志文件建立事务重做队列和事务撤销队列 对重做队列中事务进行REDO处理,对撤消队列中事务进行UNDO处理 运行记录优先原则: 为了安全,运行记录就先写下来。,T1,T3,T2,T5,T4,事务T1不必恢复; 事务T2和事务T4必须重做(REDO); T3和事务T5必须撤消(UNDO),7.3 数据库的恢复(续6),2018/9/11,四川理工学院计科系,22,7.3.6 SQL对事务的支持,无begin transaction Commit Rollback 游标,7.3 数据库的恢复(续7),2018/9/11,四川

12、理工学院计科系,23,7.4 数据库的并发控制,图7.10 在时间t7丢失了事务T1的更新 (FIND表示从DB中读值,UPD表示把值写回到DB),7.4.1 并发操作带来的问题1-丢失更新,返回,2018/9/11,四川理工学院计科系,24,7.4 数据库的并发控制(续1),2. 读脏数据问题,2018/9/11,四川理工学院计科系,25,并发操作带来的问题3-错误求和,事务T1进行了不一致的分析,2018/9/11,四川理工学院计科系,26,7.4.2 封锁技术,封锁技术:封锁是控制并发执行的主要技术。通常在数据库中每个数据项都有一个锁。对可能应用于某数据项的操作而言,锁描述了该数据项的状

13、态。其作用是使并发事务对数据库中数据项的访问能够同步。 封锁技术中主要有两种封锁:排他型封锁(eXclusive Lock)和共享锁(Shared Lock),7.4 数据库的并发控制(续3),2018/9/11,四川理工学院计科系,27,1. 排他型封锁(X锁),定义:若事务T对某数据R实现了X锁,则在T对数据R解除封锁之前,不允许其他事务对该数据加任何类型的锁。 操作: 封锁操作:XFIND R 解锁操作:XRELEASE R PX协议: 欲更新R的事务必先执行“XFIND R”操作以获得对R的X锁,才能读或写R;若未获准X锁,则该事务进入等待队列,直到获准X锁方能继续下去。 PXC协议:

14、 X锁的解除应合并到事务结束(COMMIT或ROLLBACK)操作中,7.4 数据库的并发控制(续4),2018/9/11,四川理工学院计科系,28,2. 共享型封锁(S锁),定义:事务T对某数据加S锁后允许其他事务对该数据加S锁,但在对其所有S锁被解除前决不允许任何事务对该数据加X锁。 操作: 封锁操作:SFIND R 升级和写操作:UPDX R 解锁操作:SRELEASE R PS协议: 任何读R的事务必先执行“SFIND R”操作获得对R的S锁;当事务获准对R的S锁后,若需更新R必须用“UPDX R”操作把S锁升级为X锁,成功则可更新,否则这个事务进入等待队列。 PSC协议: S锁的解除

15、应合并到事务的结束(COMMIT或ROLLBACK)操作中,7.4 数据库的并发控制(续5),2018/9/11,四川理工学院计科系,29,例:使用X锁封锁解决数据丢失,2018/9/11,四川理工学院计科系,30,例:使用S锁封锁解决数据丢失,2018/9/11,四川理工学院计科系,31,3. 封锁的相容矩阵,注: N=NO,不相容的请求 Y=YES,相容的请求 X、S、:分别表示X锁,S锁,无锁 如果两个封锁是不相容的,则后提出封锁的事务要等待。,T2 T1,7.4 数据库的并发控制(续6),2018/9/11,四川理工学院计科系,32,7.4 数据库的并发控制(续7),4. 封锁的粒度

16、封锁对象的大小称为封锁的粒度(Granularity) 封锁的对象 逻辑单元:属性值、属性值集合、元组、关系、索引项、整个索引、整个数据库 物理单元:页(数据页或索引页)、块 封锁粒度与系统并发度和并发开销密切相关。粒度大,能被封锁的对象就少,并发度就小,但系统的开销也越小;反之,粒度越小,并发度越高,系统开销越大。,2018/9/11,四川理工学院计科系,33,7.4.3 封锁带来的问题1-(活锁),2018/9/11,四川理工学院计科系,34,封锁带来的问题2-饿死,若事务序列中的每个事务都申请对某数据项加S锁,且在授权加锁后一小段时间内释放封锁,此时另有事务T2欲对该数据项加X锁,则将永远轮不上封锁的机会。,2018/9/11,四川理工学院计科系,35,封锁带来的问题3-死锁,死锁,两个或以上的事务都处于等待状态,且每个事务都在等待另一个事务解除封锁才能继续下去,结果造成任何一个事务都无法继续执行。,2018/9/11,四川理工学院计科系,36,7.4.4 并发操作的调度,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号