数据库系统概论课件:第12章 数据库管理系统_第1页
数据库系统概论课件:第12章 数据库管理系统_第2页
数据库系统概论课件:第12章 数据库管理系统_第3页
数据库系统概论课件:第12章 数据库管理系统_第4页
数据库系统概论课件:第12章 数据库管理系统_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 中国人民大学信息学院 数据库系统概论An Introduction to Database System第十二章 数据库管理系统An Introduction to Database System第十二章 数据库管理系统12.1 DBMS的基本功能12.2 DBMS的进程结构和多线索机制12.3 DBMS系统结构12.4 语言处理12.5 数据存取层12.6 缓冲区管理12.7 数据库物理组织12.8 小结An Introduction to Database System12.1 DBMS的基本功能数据库定义和创建数据组织、存储和管理数据存取数据库事务管理和运行管理数据库的建立和维护其他功

2、能An Introduction to Database System12.1 DBMS的基本功能(续)数据库定义和创建外模式、模式、内模式的定义数据库完整性的定义安全保密定义(如用户口令、级别、存取权限)存取路径(如索引)的定义 数据字典(亦称为系统目录): 存储定义 An Introduction to Database System12.1 DBMS的基本功能(续)数据组织、存储和管理数据的种类数据字典用户数据存取路径任务以某种文件结构和存取方式物理地组织这些数据实现数据之间的联系目标提高存储空间利用率提高随机查找、顺序查找、增、删、改等操作的时间效率 An Introduction t

3、o Database System12.1 DBMS的基本功能(续)数据存取数据操纵语言(DML)检索插入修改删除两类DML宿主型语言自立(独立)型语言An Introduction to Database System12.1 DBMS的基本功能(续)数据库事务管理和运行管理多用户环境下事务的管理和自动恢复并发控制和死锁检测(或死锁防止)安全性检查和存取控制完整性检查和执行运行日志的组织管理An Introduction to Database System12.1 DBMS的基本功能(续)数据库的建立和维护建立数据库数据库的初始建立数据的转换维护数据库数据库的转储和恢复数据库的重组织和重构

4、造性能监测分析An Introduction to Database System12.1 DBMS的基本功能(续)其他功能DBMS与网络中其他软件系统的通信功能与其他DBMS或文件系统的数据转换功能异构数据库之间的互访和互操作功能 An Introduction to Database System12.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_T

5、hreaded) DBMS的概念An Introduction to Database System12.2.1 N方案:DBMS与应用程序相融合的方案N个DB用户-N个进程连入式方案SGA(Shared Global Area)共享全局区字典定义信息数据和索引缓冲块日志缓冲块封锁控制块An Introduction to Database System12.2.1 N方案:DBMS与应用程序相融合的方案优点没有进程切换开销实现比较简单缺点内存的需求量比较大:多DBMS副本代码冗余使系统性能下降适用情况用户数少的小型DBMSAn Introduction to Database System1

6、2.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database System12.2.2 2N方案:一个DBMS进程对应一个用户进程解决N方案中DBMS代码段在内存中不能被共享 应用程序与DBMS副本分开 2N方案一用户一进程(Shadow进程)N个用户进程-N个DBMS进程(共

7、2N个进程)An Introduction to Database System12.2.2 2N方案:一个DBMS进程对应一个用户进程An Introduction to Database System12.2.2 2N方案:一个DBMS进程对应一个用户进程优点DBMS对各数据库用户的多任务调度由OS完成简化了用户进程与DBMS的接口实现起来比较简单 缺点进程间总的通信开销上升操作系统的负担增大,空间、时间效率不高DBMS必须设立并维护若干后台进程,增加了进程切换要访问的数据不在内存时会造成性能问题临界区问题(Critical Section)适用情况用户数不庞大(非OLTP应用):Orac

8、le 7之前版本, Ingres, Informix早期版本An Introduction to Database System12.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database System12.2.3 N+1方案:一个DBMS进程对应所有用户进程一个DBMS进程

9、对应所有用户进程整个DBMS仅使用一个进程,类似于一个服务器(Server)多个数据库用户向Server发message申请数据库服务Server用自己的机制来调度这些申请,以支持一个多任务的数据库系统 没有SGA,DBMS进程的数据区=SGA没有后台进程用多线索(Multi_Threaded)技术来实现N+1方案 An Introduction to Database System12.2.3 N+1方案:一个DBMS进程对应所有用户进程An Introduction to Database System12.2.3 N+1方案:一个DBMS进程对应所有用户进程优点采用多线索(Multi_T

10、hreaded)技术提高系统性能,降低系统资源的开销,简化DBMS许多部分的设计缺点DBMS的设计整体上较复杂消息系统过于昂贵 实际系统SybaseAn Introduction to Database System12.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database

11、 System12.2.4 N+M方案:M个DBMS进程对应N个用户进程M个DBMS进程- N个用户进程(一般 M N)DBMS进程不负责多任务调度,每个用户进程也不固定地对应于某个DBMS进程用户的数据库请求被动态分配给某个DBMS进程来处理DBMS进程的分派由分派程序完成An Introduction to Database System12.2.4 N+M方案:M个DBMS进程对应N个用户进程An Introduction to Database System12.2.4 N+M方案:M个DBMS进程对应N个用户进程优点改进了2N方案,提高了内存资源的利用率缺点没有克服2N方案的本质弱点

12、分派程序给系统增加了开销并可能成为瓶颈DBMS进程动态增减的开销亦很大 实际系统OracleInformixAn Introduction to Database System12.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database System一、 线程的概念进程细化为

13、 “任务”(Task)、 “线程”(Thread)进程一分为二Task是申请资源的最小单位Thread是调度和运行的最小单位一个Task中可有多个ThreadThread共享Task的所有资源,共同完成一个任务线程将进程中的程序代码与进程所占资源相分离,从而在一个地址空间运行多个指令流An Introduction to Database System一、 线程的概念(续)An Introduction to Database System二、 多线索(Multi_Threaded)DBMS DBMS是一个Task用户申请数据库服务时,Task分配至少一个Thread为之服务多个Thread并

14、行工作,共享资源 An Introduction to Database System三、 线索与进程的比较 线索比进程占用较少的资源线索调度比较灵活,可控制性强线索切换开销较小线索间通信简便 An Introduction to Database System12.3 DBMS系统结构12.3.1 DBMS的层次结构12.3.2 RDBMS的运行过程示例An Introduction to Database System12.3.1 DBMS的层次结构处理各种各样的数据库应用是RDBMS与用户/应用程序的界面层处理数据库语言,如SQL向上提供的数据接口是元组的集合处理单个元组把集合操作化为单

15、记录操作并执行处理数据页和系统缓冲区An Introduction to Database System12.3 DBMS系统结构12.3.1 DBMS的层次结构12.3.2 RDBMS的运行过程示例An Introduction to Database System12.3.2 RDBMS的运行过程示例An Introduction to Database System12.4 语言处理12.4.1 语言处理层的任务和工作12.4.2 解释方法12.4.3 预编译方法An Introduction to Database System12.4.1 语言处理层的任务和工作接收DB语句 转换对D

16、BMS内层可执行的基本存取模块的调用序列交互式方式下的SQL语句嵌入3GL中的SQL语句 PL/SQL中的SQL语句 An Introduction to Database System12.4.1 语言处理层的任务和工作(续)DDL语句处理过程把它翻译成内部表示存储在系统的数据字典中DCL语句处理过程与DDL的处理类似An Introduction to Database System12.4.1 语言处理层的任务和工作(续)DML语句的处理束缚过程束缚时间DML语句 束缚(Binding) 一串可执行的存取动作(调用序列)相当于一个小编译器 An Introduction to Datab

17、ase System其他语句查询语句DML 语句语法分析语义检查视图转换数 据 库数据字典DBMS内层基本模块库单元组接口对可执行的DBMS内层基本存取模块的调用序列多元组接口查询优化代码生成An Introduction to Database SystemAn Introduction to Database System12.4.1 语言处理层的任务和工作(续)束缚时间编程时- - -执行前- - -执行时编程时-已淘汰执行时-解释方法执行前-预编译方法An Introduction to Database System12.4 语言处理12.4.1 语言处理层的任务和工作12.4.2

18、解释方法12.4.3 预编译方法An Introduction to Database System12.4.2 解释方法特点执行前,DML语句都以原始字符串的形式保存执行时,解释程序完成束缚过程,然后予以执行优点数据独立性好灵活、应变性好缺点效率比较低适用交互式SQL An Introduction to Database System12.4 语言处理12.4.1 语言处理层的任务和工作12.4.2 解释方法12.4.3 预编译方法An Introduction to Database System12.4.3 预编译方法不同束缚时间的权衡早:系统效率高,数据独立性差晚:数据独立性高,执行

19、效率差预编译方法是介于上面二者之间的一个方案特点用户提交DML语句后,运行前对它进行翻译处理保存产生的执行代码运行时,取出执行代码加以执行 An Introduction to Database SystemAn Introduction to Database System预编译方法的问题应用规划失效(数据库结构改变、存取路径改变)解决方法重编译重编译进行时刻立即重编译被执行时才进行自动重编译自动重编译技术的优点既拥有了编译时进行束缚所带来的高效率又具备了执行时束缚带来的数据独立性 12.4.3 预编译方法(续)An Introduction to Database System12.5 数

20、据存取层An Introduction to Database System12.5 数据存取层12.5.1 数据存取层的系统结构12.5.2 数据存取层的功能子功能An Introduction to Database System12.5.1 数据存取层的系统结构An Introduction to Database System12.5 数据存取层12.5.1 数据存取层的系统结构12.5.2 数据存取层的功能子功能An Introduction to Database System12.5.2 数据存取层的功能子功能记录存取、事务管理子系统日志登记子系统控制信息管理模块排序合并子系统存

21、取路径维护子系统封锁子系统An Introduction to Database System一、记录存取、事务管理子系统记录存取子系统在某个存取路径上按属性值找元组(FIND)按相对位置找元组(NEXT,PRIOR,FIRST,LAST)。给某关系增加一个元组(INSERT)从找到的元组中取某个属性值(GET)从某关系中删去一个元组(DELETE)把某修改完的元组写回关系中(REPLACE) 事务管理子系统定义事务开始(BEGIN TRANSACTION)事务提交(COMMIT)事务回滚(ROLLBACK)An Introduction to Database System二、日志登记子系统

22、写日志记录(WRITELOG)读日志记录(READLOG)扫描日志文件(SCANLOG)撤消尚未结束的事务(UNDO)重做已经结束的事务(REDO) An Introduction to Database System三、控制信息管理模块负责在内存数据区登记记录类型、存取路径的说明信息和控制信息。An Introduction to Database System四、排序/合并子系统输出有序结果删去重复值支持排序 合并方法的连接操作支持动态建立索引结构减少数据块的存取次数An Introduction to Database System五、存取路径维护子系统对数据执行插入、删除、修改操作的同

23、时对相应的存取路径进行维护B+树的维护算法 初始建立B+树索引插入删除更新An Introduction to Database System7. 封锁子系统An Introduction to Database System12.6 缓冲区管理数据存储层的功能 缓冲区管理内外存交换外存管理系统缓冲区设立的原因 提供DBMS的设备独立性 外存设备的变更不会对它们造成影响提高存取效率异步读写:预先读,延迟写 An Introduction to Database System12.6 缓冲区管理(续)系统缓冲区的组成内存虚存缓冲区管理缓冲区大小 太大: 占据内存空间太小: 频频缺页调页,造成“抖动”,影响效率 数据库缓冲区及上下接口缓冲区管理示意图 An

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论