- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第1页,共29页,星期日,2025年,2月5日4.1DBMS结构简介数据库管理系统(DBMS)是数据库系统的核心,它对数据库系统的功能和性能有决定性影响。DBMS最基本的功能是正确、安全、可靠地执行数据库语言语句。图4-1表示一个解释执行的关系DBMS的结构,可以从中了解DBMS的一般工作原理和主要组成部分。与高级程序设计语言一样,DBMS有两种实现方法——编译和解释。第2页,共29页,星期日,2025年,2月5日图4—1DBMS结构第3页,共29页,星期日,2025年,2月5日4.2事务(transaction)事务是DBMS的执行单位,由有限的数据库操作序列组成,一般要求事务具备下列性质:1.执行的原子性(Atomic)事务执行时应遵守“要么不做,要么全做”(nothingorall)的原则。第4页,共29页,星期日,2025年,2月5日2.功能上的一致性(Consistency)事务的作用应使数据库由一个一致状态转变到另一个一致状态。3.彼此的隔离性(Isolation)如果多个事务并发执行,应像各个事务独立执行一样。——由“并发控制”保证。第5页,共29页,星期日,2025年,2月5日4.作用的持久性(Durability)一个成功执行的事务对DB的影响应是持久的,即使DB因故障受到破坏,也应能恢复。这四个性质称为事务的ACID准则。下面是一个事务的例子,它将款项由A账户拨给B账户。第6页,共29页,星期日,2025年,2月5日示例BEGINTRANreadAA?A–SifA0then/*A款不足*/begindisplay“A款不足”ROLLBACK/*出口1*/endelsebeginB?B+Sdisplay“拨款完成”COMMIT/*出口2*/endROLLBACK撤销事务的影响,相当于“donothing”COMMIT提交,相当于“doall”。只有在COMMIT之后,事务对数据库产生的变化才对其它事务开放。(为什么?)第7页,共29页,星期日,2025年,2月5日事务的出口:commit或rollback只有在执行commit之后,事务对数据库所产生的变化才对其他事务开放。执行commit命令时,要封闭中断,以防处理中断时发生故障COMMIT中断处理中断发生故障第8页,共29页,星期日,2025年,2月5日4.3DBMS的进程结构DBMS进程结构的划分主要着眼于结构合理和性能提高。应用进程,系统进程(可重入)应用1系统应用2系统不同重复不划分:第9页,共29页,星期日,2025年,2月5日目前,多数DBMS把主要功能组成一个DBMS核心进程,也有些DBMS除了核心进程外,还把一些可以“缓办”的公共操作组成几个后台服务进程。例如预读取可能用到的物理块,延迟写入缓存中的内容,网络服务管理,撤销事务,清除异常结束的DBMS进程等。这些进程在DBMS启动时就建立,为各个事务服务。第10页,共29页,星期日,2025年,2月5日1.一个应用进程对应一个DBMS核心进程下面主要考虑DBMS核心进程的结构方案:缺点:(1).进程的创建、撤销、通信和切换的开销大。(2).并发事务的增加,进程数激增,内存空间有限,性能下降。(3).不利于事务共享内存空间。优点:实现容易第11页,共29页,星期日,2025年,2月5日2.单进程多线程DBMS进程结构线程是现代OS引入的概念。以线程为程序并发执行的单位;一个进程中可创建多个可以相互切换的线程;这些线程中至少有一个处于就绪状态,进程才处于就绪状态;进程运行时,其中必有一个线程运行;同一进程所属的线程共享进程占用的资源,属于线程本身的专用资源很少,描述线程的状态也比进程要少,因此,线程所需资源比进程少;线程的切换开销和线程间的通信开销小。
第12页,共29页,星期日,2025年,2月5日单进程多线程的DBMS中,系统只创建一
文档评论(0)