《王珊、萨师煊数据库第四版课件第十二章》由会员分享,可在线阅读,更多相关《王珊、萨师煊数据库第四版课件第十二章(67页珍藏版)》请在金锄头文库上搜索。
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的基本功能v数据库定义和创建v数据组织、存储和管理v数据存取v数据库事务管理和运行管理v数据库的建
2、立和维护v其他功能An Introduction to Database System12.1 DBMS的基本功能(续)v数据库定义和创建n外模式、模式、内模式的定义n数据库完整性的定义n安全保密定义(如用户口令、级别、存取权限)n存取路径(如索引)的定义 数据字典(亦称为系统目录): 存储定义 An Introduction to Database System12.1 DBMS的基本功能(续)v数据组织、存储和管理n数据的种类 数据字典 用户数据 存取路径n任务 以某种文件结构和存取方式物理地组织这些数据 实现数据之间的联系n目标 提高存储空间利用率 提高随机查找、顺序查找、增、删、改等操
3、作的时间效率 An Introduction to Database System12.1 DBMS的基本功能(续)v数据存取n数据操纵语言(DML)检索插入修改删除n两类DML宿主型语言自立(独立)型语言An Introduction to Database System12.1 DBMS的基本功能(续)v数据库事务管理和运行管理n多用户环境下事务的管理和自动恢复n并发控制和死锁检测(或死锁防止)n安全性检查和存取控制n完整性检查和执行n运行日志的组织管理An Introduction to Database System12.1 DBMS的基本功能(续)v数据库的建立和维护n建立数据库数据
4、库的初始建立数据的转换n维护数据库数据库的转储和恢复数据库的重组织和重构造性能监测分析An Introduction to Database System12.1 DBMS的基本功能(续)v其他功能nDBMS与网络中其他软件系统的通信功能n与其他DBMS或文件系统的数据转换功能n异构数据库之间的互访和互操作功能 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
5、N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database System12.2.1 N方案:DBMS与应用程序相融合的方案v N个DB用户-N个进 程n连入式方案 v SGA(Shared Global Area) 共享全局区n字典定义信息n数据和索引缓冲块n日志缓冲块n封锁控制块An Introduction to Database System12.2.1 N方案:DBMS与应用程序相融合的方案v优点n没有进程切换开销n实现比较简单v缺点n内存的需求量比较大:多DBMS副本n代码冗
6、余使系统性能下降v适用情况n用户数少的小型DBMSAn 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.2 2N方案:一个DBMS进程对应一个用户进程v解决N方案中DBMS代码段
7、在内存中不能被共享应用程序与DBMS副本分开2N方案v一用户一进程(Shadow进程)nN个用户进程-N个DBMS进程(共2N个进程)An Introduction to Database System12.2.2 2N方案:一个DBMS进程对应一个用户进程An Introduction to Database System12.2.2 2N方案:一个DBMS进程对应一个用户进程v 优点nDBMS对各数据库用户的多任务调度由OS完成 简化了用户进程与DBMS的接口 实现起来比较简单 v 缺点n进程间总的通信开销上升n操作系统的负担增大,空间、时间效率不高nDBMS必须设立并维护若干后台进程,增
8、加了进程切换n要访问的数据不在内存时会造成性能问题n临界区问题(Critical Section) v 适用情况n用户数不庞大(非OLTP应用):Oracle 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) D
9、BMS的概念An Introduction to Database System12.2.3 N+1方案:一个DBMS进程对应所有用户进程v一个DBMS进程对应所有用户进程n整个DBMS仅使用一个进程,类似于一个服务器 (Server)n多个数据库用户向Server发message申请数据库服务nServer用自己的机制来调度这些申请,以支持一个多任 务的数据库系统 v没有SGA,DBMS进程的数据区=SGA v没有后台进程 v用多线索(Multi_Threaded)技术来实现N+1方案 An Introduction to Database System12.2.3 N+1方案:一个DBMS
10、进程对应所有用户进程An Introduction to Database System12.2.3 N+1方案:一个DBMS进程对应所有用户进程v优点n采用多线索(Multi_Threaded)技术 提高系统性能,降低系统资源的开销,简化DBMS许多 部分的设计 v缺点nDBMS的设计整体上较复杂n消息系统过于昂贵 v实际系统nSybaseAn Introduction to Database System12.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程
11、对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database System12.2.4 N+M方案:M个DBMS进程对应N个用户进程vM个DBMS进程- N个用户进程(一般 M N)vDBMS进程不负责多任务调度,每个用户进程也不固定地对应于某个DBMS进程v用户的数据库请求被动态分配给某个DBMS进程来处理vDBMS进程的分派由分派程序完成An Introduction to Database System12.2.4 N+M方案:M个DBMS进程对应N个用
12、户进程An Introduction to Database System12.2.4 N+M方案:M个DBMS进程对应N个用户进程v优点n改进了2N方案,提高了内存资源的利用率 v缺点n没有克服2N方案的本质弱点n分派程序给系统增加了开销并可能成为瓶颈nDBMS进程动态增减的开销亦很大 v实际系统nOraclenInformixAn Introduction to Database System12.2 DBMS进程结构和多线索机制12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS进程对应所有用户
13、进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded) DBMS的概念An Introduction to Database System一、 线程的概念v进程细化为 “任务”(Task)、 “线程 ”(Thread)v进程n一分为二 Task是申请资源的最小单位Thread是调度和运行的最小单位n一个Task中可有多个ThreadnThread共享Task的所有资源,共同完成一个任务v线程n将进程中的程序代码与进程所占资源相分离,从而在一 个地址空间运行多个指令流An Introduction to Database System一
14、、 线程的概念(续)An Introduction to Database System二、 多线索(Multi_Threaded)DBMS vDBMS是一个Taskv用户申请数据库服务时,Task分配至少一个Thread为之服务v多个Thread并行工作,共享资源 An Introduction to Database System三、 线索与进程的比较 v线索比进程占用较少的资源v线索调度比较灵活,可控制性强v线索切换开销较小v线索间通信简便 An Introduction to Database System12.3 DBMS系统结构12.3.1 DBMS的层次结构12.3.2 RDBM
15、S的运行过程示例An Introduction to Database System12.3.1 DBMS的层次结构处理各种各样的数据库应用 是RDBMS与用户/应用程序的界面层 处理数据库语言,如SQL 向上提供的数据接口是元组的集合处理单个元组 把集合操作化为单记录操作并执行处理数据页和系统缓冲区An Introduction to Database System12.3 DBMS系统结构12.3.1 DBMS的层次结构12.3.2 RDBMS的运行过程示例An Introduction to Database System12.3.2 RDBMS的运行过程示例An Introductio
16、n to Database System12.4 语言处理12.4.1 语言处理层的任务和工作12.4.2 解释方法12.4.3 预编译方法An Introduction to Database System12.4.1 语言处理层的任务和工作接收DB语句转换对DBMS内层 可执行的基本 存取模块的调 用序列交互式方式下的SQL语句嵌入3GL中的SQL语句 PL/SQL中的SQL语句 An Introduction to Database System12.4.1 语言处理层的任务和工作(续)vDDL语句处理过程n把它翻译成内部表示n存储在系统的数据字典中vDCL语句处理过程n与DDL的处理类似An Introduction to Database System12.4.1 语言处理层的任务和工作(续)vDML语句的处理n束缚过程n束缚时间DML语句 束缚