网络数据管理.ppt
《网络数据管理.ppt》由会员分享,可在线阅读,更多相关《网络数据管理.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 网络数据管理网络数据管理1第9章 网络数据管理9.1 网络数据库的并发控制 9.2 网络数据库的安全机制 9.3 网络数据库的访问控制 9.4 网络数据存储 9.5 网络环境下数据备份与恢复 9.6 Web数据管理第第9章章 网络数据管理网络数据管理29.1 网络数据库的并发控制9.1.1 事务9.1.2 并发控制的必要性9.1.3 基于锁的并发控制技术9.1.4 其它并发控制技术第第9章章 网络数据管理网络数据管理39.1.1 事务并发控制是指在网络环境下对数据库的并发操作进行规范的机制。并发控制的作用主要是协调同一时间访问同一数据库文件的多个事务之间的关系,防止这些事务之间发生
2、冲突。事务(Transaction)是数据库的逻辑工作单元,它是一组对数据的操作序列。事务是并发控制的基本单位。事务具有以下四个基本特性:事务具有以下四个基本特性:原子性原子性 一致性一致性 隔离性隔离性 持续性持续性第第9章章 网络数据管理网络数据管理49.1.2 并发控制的必要性 数据库并发操作导致数据不一致性的三种情况:1.丢失更新丢失更新 当两个事务T1和T2读入同一数据,并发执行修改操作时,T2把T1或T1把T2的修改结果覆盖掉,造成了数据的丢失更新(Lost Update)问题,导致数据的不一致。它是由于两个事务对同一数据并发写入引起的,称为写写冲突。第第9章章 网络数据管理网络数
3、据管理59.1.2 并发控制的必要性2.脏读脏读 事务T2读取了T1更新后的数据R,其后T1由于某种原因撤销修改,数据R恢复原值,导致T2得到的数据与数据库的内容不一致。这种由于一个事务读取另一个更新事务尚未提交的数据引起的不一致问题,被称为脏读(Dirty Read)。3.不可重读不可重读 事务T1读取数据R后,T2读取并更新了R,当T1再次读取R时,得到的两次读取值不一致,这种现象被称为不可重读(Unrepeatable Read)。第第9章章 网络数据管理网络数据管理69.1.3 基于锁的并发控制技术基于锁的并发控制是事务对数据操作前必须获得对该数据的锁,完成操作后在适当时候释放锁,而得
4、不到锁的事务处于等待状态。锁是数据项上的并发控制标志,它有两种类型:共享锁(共享锁(Shared Lock,简称,简称S锁)锁)排它锁(排它锁(Exclusive Lock,简称,简称X锁)锁)第第9章章 网络数据管理网络数据管理79.1.3 基于锁的并发控制技术1.封锁协议封锁协议 系统中的事务在加锁和释放锁时,都必须遵守一组规则,这组规则称为封锁协议。一级封锁协议一级封锁协议 一级封锁协议是事务在修改数据R之前必须对其加X锁,直到事务结束,如果未能获得X锁,则该事务进入等待状态,直至获得X锁才能执行。二级封锁协议二级封锁协议 二级封锁协议是在一级封锁协议的基础上,规定事务在读取数据R之前必
5、须对其加S锁,读完后释放S锁。第第9章章 网络数据管理网络数据管理89.1.3 基于锁的并发控制技术 三级封锁协议三级封锁协议 三级封锁协议是在一级封锁协议的基础上,规定事务在读取数据R之前必须对其加S锁,读完后并不释放S锁,直到整个事务结束后才释放。2.封锁粒度封锁粒度 封锁粒度是指封锁的数据对象的大小。封锁粒度与系统的并发度和并发控制的开销密切相关。封锁粒度越小,并发度越高,并发控制的系统开销也就越大。反之,封锁粒度越大,并发度越低,并发控制的系统开销也就越小。第第9章章 网络数据管理网络数据管理99.1.3 基于锁的并发控制技术3.死锁死锁 如果一个事务申请锁未成功,则须等待其它事务释放
6、锁,这就形成了事务之间的等待关系。当事务中出现循环等待时,如果不加干预,就会一直等待下去,这种状态称为死锁。(1)死锁的检测和处理 死锁检测的方法一般有以下两种:超时法超时法 等待图法等待图法第第9章章 网络数据管理网络数据管理109.1.3 基于锁的并发控制技术数据库管理系统对死锁一般采用如下策略:在循环等待的事务中,选择一个事务作为牺牲者,给在循环等待的事务中,选择一个事务作为牺牲者,给其他事务其他事务“让路让路”。回滚牺牲的事务,释放其获得的锁即其他资源。回滚牺牲的事务,释放其获得的锁即其他资源。将释放的锁让给等待它的事务。将释放的锁让给等待它的事务。选取牺牲事务的方法有以下几种:选择最
7、迟交付的事务作为牺牲者。选择最迟交付的事务作为牺牲者。选择获得锁最少的事务作为牺牲者。选择获得锁最少的事务作为牺牲者。选择回滚代价最小的事务作为牺牲者。选择回滚代价最小的事务作为牺牲者。第第9章章 网络数据管理网络数据管理119.1.3 基于锁的并发控制技术(2)死锁的预防 数据库系统中预防死锁常用的方法有以下两种:一次加锁法一次加锁法 一次加锁法是在事务执行前,对要使用的所有一次加锁法是在事务执行前,对要使用的所有数据对象一次加锁并要求加锁成功,只要一个加锁数据对象一次加锁并要求加锁成功,只要一个加锁不成功,即表示本次加锁失败,立即释放所有加锁不成功,即表示本次加锁失败,立即释放所有加锁成功
8、的数据对象,然后重新开始加锁。成功的数据对象,然后重新开始加锁。顺序加锁法顺序加锁法 顺序加锁法是对所有可能封锁的数据对象按序顺序加锁法是对所有可能封锁的数据对象按序编号,规定一个加锁顺序,每个事务都按此顺序加编号,规定一个加锁顺序,每个事务都按此顺序加锁,释放时则按逆序进行。锁,释放时则按逆序进行。第第9章章 网络数据管理网络数据管理129.1.4 其它并发控制技术1.基于时间戳的并发控制技术基于时间戳的并发控制技术 为了区别事务开始执行的先后,每个事务在开始执行时,都由系统赋予一个唯一的、随时间增长的整数,称为时间戳(TS,Time Stamp)。基于时间戳的并发控制是按时间戳的顺序对冲突
9、进行处理,使一组事务的交叉执行等价于一个由时间戳确定的串行序列,其目的是保证冲突的读操作和写操作按照时间戳的顺序执行。第第9章章 网络数据管理网络数据管理139.1.4 其它并发控制技术 基于时间戳的并发控制遵循以下准则:事务开始时,赋予事务一个时间戳。事务开始时,赋予事务一个时间戳。事务的每个读操作或写操作都带有该事务的时间戳。事务的每个读操作或写操作都带有该事务的时间戳。对每个数据项对每个数据项R,最后一次读该数据项的时间戳值为,最后一次读该数据项的时间戳值为RTM(R),最后一次写该数据项的时间戳值为),最后一次写该数据项的时间戳值为WTM(R)。)。当事务对数据项当事务对数据项R请求读
10、操作时,设该读操作的时间戳为请求读操作时,设该读操作的时间戳为TS,如果,如果TSWTM(R)则拒绝该读操作,事务回滚,并)则拒绝该读操作,事务回滚,并用新的时间戳重新启动该事务,否则执行读操作,若原用新的时间戳重新启动该事务,否则执行读操作,若原RTM(R)TS,更新,更新RTM(R)为)为TS。当事务对数据项当事务对数据项R请求写操作时,设该写操作的时间戳为请求写操作时,设该写操作的时间戳为TS,如果,如果TSRTM(R)或)或TSWTM(R)则拒绝该写操)则拒绝该写操作,事务回滚,并用新的时间戳重新启动该事务,否则执作,事务回滚,并用新的时间戳重新启动该事务,否则执行写操作并把行写操作并
11、把WTM(R)置成)置成TS。第第9章章 网络数据管理网络数据管理149.1.4 其它并发控制技术2.基于版本的并发控制技术基于版本的并发控制技术 基于版本的并发控制方法是将版本管理引入到数据库应用中。数据库版本是数据库的一个视图,它反映了数据库在某种情况下的数据存储情况。多用户版本是指同一数据库在一次完整的设计过程中,对不同用户及同一用户在此过程中的不同时刻的多个数据视图。在应用开始时,每个应用将初始数据读至自己的工作区,形成该任务的初始版本。在任务的执行过程中,每一应用在自己的工作区内对数据进行操作,利用版本来记录每次操作的结果。由于操作是在各自的工作区内完成,所以可以并行进行,互不干扰。
12、各任务结束后,将各任务的最终版本进行合并。第第9章章 网络数据管理网络数据管理159.1.4 其它并发控制技术3基于事务类的并发控制技术基于事务类的并发控制技术 利用存储过程来访问数据库,假设每个存储过程属于一个互不相交的冲突类。一个冲突类里的过程仅存取数据库中的某一特定部分,而不同的冲突类则工作在数据库的不同部分。对每一个冲突类C均存在一个先进先出(FIFO,First In First Out)的类队列(CQ,Class Queue)。当一个事务T开始且TC,T被加入到CQ中。若T是队列CQ中唯一的事务,则T将被提交给数据管理器去执行;若在队列CQ中还有其它的事务,则T等待。当一个事务成为
13、队列中的第一个事务并提交后,则从相应的队列中移出该事务,队列中下一个在等待的事务被提交执行。第第9章章 网络数据管理网络数据管理169.2 网络数据库的安全机制9.2.1 安全性控制的方法9.2.2 Oracle数据库的安全机制简介第第9章章 网络数据管理网络数据管理179.2.1 安全性控制的方法 数据库的安全性是指保护数据库以防止非法使用所造成的数据泄密、更改或破坏。安全性控制是指要尽可能地杜绝有可能的数据库非法访问。常用的安全措施有用户标识和鉴别、用户存取权限控制、定义视图、数据加密、安全审计以及事务管理和故障恢复等几类。1.用户标识和鉴别用户标识和鉴别 利用只有用户知道的信息鉴别用户利
14、用只有用户知道的信息鉴别用户 利用只有用户具有的物品鉴别用户利用只有用户具有的物品鉴别用户 利用用户的个人特征鉴别用户利用用户的个人特征鉴别用户第第9章章 网络数据管理网络数据管理189.2.1 安全性控制的方法2.用户存取权限控制用户存取权限控制 用户存取权限是指不同的用户对于不同的数据对象有不同的操作权限。存取权限由两个要素组成:数据对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。3.定义视图定义视图 为不同的用户定义不同的视图,可以限制用户的访问范围。通过视图机制把需要保密的数据对无权存取这些数据的用户隐藏起来,可以对数据库提供一定程度的安
15、全保护。第第9章章 网络数据管理网络数据管理199.2.1 安全性控制的方法4.数据加密数据加密 数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。数据加密技术在8.3节中已有详细介绍。5.安全审计安全审计 安全审计是一种监视措施,对于某些高度敏感的保密数据,系统跟踪记录有关这些数据的访问活动,并将跟踪的结果记录在审计日志中,根据这些数据可对潜在的窃密企图进行事后分析和调查。第第9章章 网络数据管理网络数据管理209.2.1 安全性控制的方法6.事务管理和故障恢复事务管理和故障恢复 事务管理和故障恢复主要是对付系统内发生的自然因素故障,保证数据和事务的一致性和完整性。故障恢复的主要
16、措施是进行日志记录和数据复制。在网络数据库系统中,分布事务首先要分解为多个子事务到各个站点上去执行,各个服务器之间采取合理的算法进行分布式并发控制和提交,以保证事务的完整性。事务运行的每一步结果都记录在系统日志文件中,并且对重要数据进行复制,发生故障时根据日志文件利用数据副本准确地完成事务的恢复。第第9章章 网络数据管理网络数据管理219.2.2 Oracle数据库的安全机制简介 Oracle主要提供用户标识和鉴别、授权与检查、审计等系统级的安全性措施以及通过触发器灵活定义的用户级安全性措施。1.Oracle的用户标识和鉴别的用户标识和鉴别 Oracle系统预定义了SYS和SYSTEM两个用户
17、。其他用户都要使用CREATE USER语句建立。用户的口令通过加密后存储在数据字典中。第第9章章 网络数据管理网络数据管理229.2.2 Oracle数据库的安全机制简介2.Oracle的授权与检查机制的授权与检查机制 Oracle系统的权限包括系统权限和对象权限两类。Oracle将授权信息记录在数据字典的授权表中。3.Oracle的审计技术的审计技术 在Oracle中,审计分为语句审计、特权审计和模式对象审计。4.用户定义的安全性措施用户定义的安全性措施 Oracle还允许用户使用数据库触发器定义更复杂的用户级安全性措施。触发器定义后,也存放在数据字典中。第第9章章 网络数据管理网络数据管
18、理239.3 网络数据库的访问控制9.3.1 网络数据库访问控制方式9.3.2 Oracle数据库访问控制简介第第9章章 网络数据管理网络数据管理249.3.1 网络数据库访问控制方式 访问控制是通过某种途径显式地准许或限制访问能力及范围的一种方法。访问控制的目的是使用户只能进行经过授权的相关数据库操作。访问控制系统一般包括:主体主体 客体客体 安全访问政策安全访问政策第第9章章 网络数据管理网络数据管理259.3.1 网络数据库访问控制方式 访问控制方式有自主访问控制(DAC,Discretionary Access Control)、强制访问控制(MAC,Mandatory Access
19、Control)和基于角色访问控制(RBAC,Role-Based Access Control)。1.自主访问控制自主访问控制 其基本思想是允许某个主体显式地控制其他主体对其自身所拥有信息资源的访问,指定其他主体是否可以访问以及可执行的访问类型。信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使对O没有访问权限的B可以访问O。第第9章章 网络数据管理网络数据管理269.3.1 网络数据库访问控制方式2.强制访问控制强制访问控制 MAC给每个访问主体和客体分级,指定其信任度。MAC通过比较主体和客体的信任度来决定一个主体能否访问某个客体,具体遵循以下两
20、条规则:下读:仅当主体的信任度大于或等于客体的信任度时,主体才能对客体进行读操作。上写:仅当主体的信任度小于或等于客体的信任度时,主体才能对客体进行写操作。第第9章章 网络数据管理网络数据管理279.3.1 网络数据库访问控制方式3.基于角色访问控制基于角色访问控制 所谓“角色”,就是一个或一群用户在组织内可执行的操作的集合。RBAC根据用户在组织内所处的角色进行访问授权与控制。只有系统管理员有权定义和分配角色。用户与客体无直接联系,只有通过角色才享有该角色所对应的权限,从而访问相应的客体。第第9章章 网络数据管理网络数据管理289.3.1 网络数据库访问控制方式 RBAC的特点:以角色作为访
21、问控制的主体以角色作为访问控制的主体 角色继承角色继承 最小权限原则最小权限原则 职责分离职责分离 角色容量角色容量第第9章章 网络数据管理网络数据管理299.3.2 Oracle数据库访问控制简介 Oracle系统的安全性管理采用了基于角色的访问控制方法。安全性管理采用了基于角色的访问控制方法 Oracle提供了三种标准角色:CONNECT RESOURCE DBA第第9章章 网络数据管理网络数据管理309.3.2 Oracle数据库访问控制简介 在实际应用中,我们采用:根据应用系统特点,建立几个核心用户,将表、视图、根据应用系统特点,建立几个核心用户,将表、视图、存储过程、触发器、序号生成
22、器等数据库对象建立在存储过程、触发器、序号生成器等数据库对象建立在相应的核心用户中。相应的核心用户中。根据系统用户的特点,建立各种类型的角色,并将核根据系统用户的特点,建立各种类型的角色,并将核心用户中的数据库对象的相应权限授予相应角色。心用户中的数据库对象的相应权限授予相应角色。建立一个通用用户默认角色,该角色只有建立一个通用用户默认角色,该角色只有CONNECT权限,将该角色授予任一角色,并设置成默认角色。权限,将该角色授予任一角色,并设置成默认角色。在每次与数据库中断连接之前,屏蔽其他角色,只有在每次与数据库中断连接之前,屏蔽其他角色,只有该角色有效;在与数据库连接后,只有该角色有效,该
23、角色有效;在与数据库连接后,只有该角色有效,其后根据用户的需要,在应用程序中设置其他角色有其后根据用户的需要,在应用程序中设置其他角色有效。效。第第9章章 网络数据管理网络数据管理319.4 网络数据存储9.4.1 网络数据存储设备9.4.2 网络数据存储方式第第9章章 网络数据管理网络数据管理329.4.1 网络数据存储设备 目前,在网络系统存储备份设备中,应用广泛的是:磁带磁带 磁带库磁带库 磁盘阵列磁盘阵列 光盘光盘 光盘塔光盘塔 光盘库光盘库第第9章章 网络数据管理网络数据管理339.4.2 网络数据存储方式 1.直接连接存储直接连接存储 直接连接存储(DAS,Direct Attac
24、hed Storage)是数据存储领域产生最早、发展时间最长的传统数据存储方式。直接连接存储是将磁盘存储设备直接通过电缆连接到服务器的方式。它主要应用于单机或两台主机的集群环境中。主要优点是存储容量扩展简单,投入成本少,见效快。第第9章章 网络数据管理网络数据管理349.4.2 网络数据存储方式 直接连接存储模式存在诸多弊端:存储设备只能与一台服务器直接连接,只由这台服务存储设备只能与一台服务器直接连接,只由这台服务器使用。器使用。用户要备份数据和存储数据,都要占用服务器用户要备份数据和存储数据,都要占用服务器CPU的的时间,从而降低了服务器的管理效能。时间,从而降低了服务器的管理效能。随着服
25、务器的增多,数据管理会越来越复杂,工作量随着服务器的增多,数据管理会越来越复杂,工作量不断增加。不断增加。如果增加存储设备,扩展存储容量,需要对服务器进如果增加存储设备,扩展存储容量,需要对服务器进行重新配置,这样做容易中断业务连接性,造成数据行重新配置,这样做容易中断业务连接性,造成数据丢失。丢失。第第9章章 网络数据管理网络数据管理359.4.2 网络数据存储方式 2.网络连接存储网络连接存储 网络连接存储(NAS,Network Attached Storage)是一种基于局域网的,在存储设备端提供基于网络访问的文件级服务的网络存储技术。其体系结构如图9.1所示。图中,RAID(Redu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 数据管理
限制150内