数据库系统概论(第4版)第十二章.ppt

上传人:小飞机 文档编号:6578626 上传时间:2023-11-14 格式:PPT 页数:67 大小:482KB
返回 下载 相关 举报
数据库系统概论(第4版)第十二章.ppt_第1页
第1页 / 共67页
数据库系统概论(第4版)第十二章.ppt_第2页
第2页 / 共67页
数据库系统概论(第4版)第十二章.ppt_第3页
第3页 / 共67页
数据库系统概论(第4版)第十二章.ppt_第4页
第4页 / 共67页
数据库系统概论(第4版)第十二章.ppt_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《数据库系统概论(第4版)第十二章.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论(第4版)第十二章.ppt(67页珍藏版)》请在三一办公上搜索。

1、An Introduction to Database System,中国人民大学信息学院,数据库系统概论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 System,12.1 DBMS的基本功能,数据库定义和

2、创建数据组织、存储和管理数据存取数据库事务管理和运行管理数据库的建立和维护其他功能,An Introduction to Database System,12.1 DBMS的基本功能(续),数据库定义和创建外模式、模式、内模式的定义数据库完整性的定义安全保密定义(如用户口令、级别、存取权限)存取路径(如索引)的定义 数据字典(亦称为系统目录):存储定义,An Introduction to Database System,12.1 DBMS的基本功能(续),数据组织、存储和管理数据的种类数据字典用户数据存取路径任务以某种文件结构和存取方式物理地组织这些数据实现数据之间的联系目标提高存储空间利用

3、率提高随机查找、顺序查找、增、删、改等操作的时间效率,An Introduction to Database System,12.1 DBMS的基本功能(续),数据存取数据操纵语言(DML)检索插入修改删除两类DML宿主型语言自立(独立)型语言,An Introduction to Database System,12.1 DBMS的基本功能(续),数据库事务管理和运行管理多用户环境下事务的管理和自动恢复并发控制和死锁检测(或死锁防止)安全性检查和存取控制完整性检查和执行运行日志的组织管理,An Introduction to Database System,12.1 DBMS的基本功能(续)

4、,数据库的建立和维护建立数据库数据库的初始建立数据的转换维护数据库数据库的转储和恢复数据库的重组织和重构造性能监测分析,An Introduction to Database System,12.1 DBMS的基本功能(续),其他功能DBMS与网络中其他软件系统的通信功能与其他DBMS或文件系统的数据转换功能异构数据库之间的互访和互操作功能,An Introduction to Database System,12.2 DBMS进程结构和多线索机制,12.2.1 N方案:DBMS与应用程序相融合的方案12.2.2 2N方案:一个DBMS进程对应一个用户进程12.2.3 N+1方案:一个DBMS

5、进程对应所有用户进程12.2.4 N+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded)DBMS的概念,An Introduction to Database System,12.2.1 N方案:DBMS与应用程序相融合的方案,N个DB用户-N个进程连入式方案SGA(Shared Global Area)共享全局区字典定义信息数据和索引缓冲块日志缓冲块封锁控制块,An Introduction to Database System,12.2.1 N方案:DBMS与应用程序相融合的方案,优点没有进程切换开销实现比较简单缺点内存的需求量比较大:多DBMS副

6、本代码冗余使系统性能下降适用情况用户数少的小型DBMS,An Introduction to Database System,12.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,12.2.2 2N方案:一个DBMS进程对应一个用户进程,解决N方案中D

7、BMS代码段在内存中不能被共享 应用程序与DBMS副本分开 2N方案一用户一进程(Shadow进程)N个用户进程-N个DBMS进程(共2N个进程),An Introduction to Database System,12.2.2 2N方案:一个DBMS进程对应一个用户进程,An Introduction to Database System,12.2.2 2N方案:一个DBMS进程对应一个用户进程,优点DBMS对各数据库用户的多任务调度由OS完成简化了用户进程与DBMS的接口实现起来比较简单 缺点进程间总的通信开销上升操作系统的负担增大,空间、时间效率不高DBMS必须设立并维护若干后台进程,

8、增加了进程切换要访问的数据不在内存时会造成性能问题临界区问题(Critical Section)适用情况用户数不庞大(非OLTP应用):Oracle 7之前版本,Ingres,Informix早期版本,An Introduction to Database System,12.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的概

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

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

11、+M方案:M个DBMS进程对应N个用户进程12.2.5 多线索(Multi_Threaded)DBMS的概念,An Introduction to Database System,12.2.4 N+M方案:M个DBMS进程对应N个用户进程,M个DBMS进程-N个用户进程(一般 M N)DBMS进程不负责多任务调度,每个用户进程也不固定地对应于某个DBMS进程用户的数据库请求被动态分配给某个DBMS进程来处理DBMS进程的分派由分派程序完成,An Introduction to Database System,12.2.4 N+M方案:M个DBMS进程对应N个用户进程,An Introducti

12、on to Database System,12.2.4 N+M方案:M个DBMS进程对应N个用户进程,优点改进了2N方案,提高了内存资源的利用率缺点没有克服2N方案的本质弱点分派程序给系统增加了开销并可能成为瓶颈DBMS进程动态增减的开销亦很大 实际系统OracleInformix,An Introduction to Database System,12.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

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

14、atabase System,二、多线索(Multi_Threaded)DBMS,DBMS是一个Task用户申请数据库服务时,Task分配至少一个Thread为之服务多个Thread并行工作,共享资源,An Introduction to Database System,三、线索与进程的比较,线索比进程占用较少的资源线索调度比较灵活,可控制性强线索切换开销较小线索间通信简便,An Introduction to Database System,12.3 DBMS系统结构,12.3.1 DBMS的层次结构12.3.2 RDBMS的运行过程示例,An Introduction to Databas

15、e System,12.3.1 DBMS的层次结构,处理各种各样的数据库应用是RDBMS与用户/应用程序的界面层,处理数据库语言,如SQL向上提供的数据接口是元组的集合,处理单个元组把集合操作化为单记录操作并执行,处理数据页和系统缓冲区,An Introduction to Database System,12.3 DBMS系统结构,12.3.1 DBMS的层次结构12.3.2 RDBMS的运行过程示例,An Introduction to Database System,12.3.2 RDBMS的运行过程示例,An Introduction to Database System,12.4 语

16、言处理,12.4.1 语言处理层的任务和工作12.4.2 解释方法12.4.3 预编译方法,An Introduction to Database System,12.4.1 语言处理层的任务和工作,An Introduction to Database System,12.4.1 语言处理层的任务和工作(续),DDL语句处理过程把它翻译成内部表示存储在系统的数据字典中DCL语句处理过程与DDL的处理类似,An Introduction to Database System,12.4.1 语言处理层的任务和工作(续),DML语句的处理束缚过程束缚时间,An Introduction to Da

17、tabase System,An Introduction to Database System,An Introduction to Database System,12.4.1 语言处理层的任务和工作(续),束缚时间编程时-执行前-执行时编程时-已淘汰执行时-解释方法执行前-预编译方法,An Introduction to Database System,12.4 语言处理,12.4.1 语言处理层的任务和工作12.4.2 解释方法12.4.3 预编译方法,An Introduction to Database System,12.4.2 解释方法,特点执行前,DML语句都以原始字符串的形

18、式保存执行时,解释程序完成束缚过程,然后予以执行优点数据独立性好灵活、应变性好缺点效率比较低适用交互式SQL,An Introduction to Database System,12.4 语言处理,12.4.1 语言处理层的任务和工作12.4.2 解释方法12.4.3 预编译方法,An Introduction to Database System,12.4.3 预编译方法,不同束缚时间的权衡早:系统效率高,数据独立性差晚:数据独立性高,执行效率差预编译方法是介于上面二者之间的一个方案特点用户提交DML语句后,运行前对它进行翻译处理保存产生的执行代码运行时,取出执行代码加以执行,An Int

19、roduction to Database System,An Introduction to Database System,预编译方法的问题应用规划失效(数据库结构改变、存取路径改变)解决方法重编译重编译进行时刻立即重编译被执行时才进行自动重编译自动重编译技术的优点既拥有了编译时进行束缚所带来的高效率又具备了执行时束缚带来的数据独立性,12.4.3 预编译方法(续),An Introduction to Database System,12.5 数据存取层,An Introduction to Database System,12.5 数据存取层,12.5.1 数据存取层的系统结构12.5

20、.2 数据存取层的功能子功能,An Introduction to Database System,12.5.1 数据存取层的系统结构,An Introduction to Database System,12.5 数据存取层,12.5.1 数据存取层的系统结构12.5.2 数据存取层的功能子功能,An Introduction to Database System,12.5.2 数据存取层的功能子功能,记录存取、事务管理子系统日志登记子系统控制信息管理模块排序合并子系统存取路径维护子系统封锁子系统,An Introduction to Database System,一、记录存取、事务管理子

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

22、DO)重做已经结束的事务(REDO),An Introduction to Database System,三、控制信息管理模块,负责在内存数据区登记记录类型、存取路径的说明信息和控制信息。,An Introduction to Database System,四、排序/合并子系统,输出有序结果删去重复值支持排序 合并方法的连接操作支持动态建立索引结构减少数据块的存取次数,An Introduction to Database System,五、存取路径维护子系统,对数据执行插入、删除、修改操作的同时对相应的存取路径进行维护B+树的维护算法 初始建立B+树索引插入删除更新,An Introdu

23、ction to Database System,7.封锁子系统,An Introduction to Database System,12.6 缓冲区管理,数据存储层的功能 缓冲区管理内外存交换外存管理系统缓冲区设立的原因 提供DBMS的设备独立性 外存设备的变更不会对它们造成影响提高存取效率异步读写:预先读,延迟写,An Introduction to Database System,12.6 缓冲区管理(续),系统缓冲区的组成内存虚存缓冲区管理缓冲区大小 太大:占据内存空间太小:频频缺页调页,造成“抖动”,影响效率 数据库缓冲区及上下接口缓冲区管理示意图,An Introduction

24、to Database System,数据库缓冲区及上下接口,An Introduction to Database System,缓冲区管理,缓冲区查找算法 顺序查找算法折半查找算法 hash查找算法缓冲区淘汰算法LRU算法FIFO算法时钟算法系统控制法混合算法,An Introduction to Database System,12.7 数据库物理组织,衡量数据组织优劣的标准存储效率高,节省存储空间;存取效率高,速度快,代价小存储的数据数据描述即数据外模式、模式、内模式。数据本身数据之间的联系存取路径,An Introduction to Database System,12.7 数据库

25、物理组织(续),数据字典(DD)的组织数据量比较小使用频繁数据及数据联系的组织网状、层次数据库:邻接法和链接法关系数据库:表存取路径的组织网状、层次数据库:数据之间的联系关系数据库:B树类文件结构和Hash文件结构,An Introduction to Database System,12.8 小结,DBMS的目标用户界面友好功能完备效率高结构清晰开放性,An Introduction to Database System,12.8 小结(续),DBMS的基本功能数据库定义数据存取数据库运行管理数据组织、存储和管理数据库的建立和维护其他,An Introduction to Database System,12.8 小结(续),DBMS的进程结构N方案2N方案M+N方案N+1方案,An Introduction to Database System,12.8 小结(续),DBMS的系统结构程序模块组成层次结构DBMS的主要实现技术 语言处理层数据存取层数据存储层数据库物理组织,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号