资源预览内容
第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
第9页 / 共67页
第10页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
中国人民大学信息学院中国人民大学信息学院 数据库系统概论数据库系统概论An Introduction to Database System第十二章第十二章 数据库管理系统数据库管理系统数据库系统概论数据库系统概论第十二章第十二章 数据库管理系统数据库管理系统12.1 DBMS的基本功能的基本功能12.2 DBMS的进程结构和多线索机制的进程结构和多线索机制12.3 DBMS系统结构系统结构12.4 语言处理语言处理12.5 数据存取层数据存取层12.6 缓冲区管理缓冲区管理12.7 数据库物理组织数据库物理组织12.8 小结小结数据库系统概论数据库系统概论12.1 DBMS的基本功能的基本功能1.数据库定义和创建数据库定义和创建2.数据组织、存储和管理数据组织、存储和管理3.数据存取数据存取4.数据库事务管理和运行管理数据库事务管理和运行管理5.数据库的建立和维护数据库的建立和维护6.其他功能其他功能数据库系统概论数据库系统概论12.1 DBMS的基本功能(续)的基本功能(续)v数据库定义和创建n外模式、模式、内模式的定义n数据库完整性的定义n安全保密定义(如用户口令、级别、存取权限)n存取路径(如索引)的定义 数据字典(亦称为系统目录): 存储定义 数据库系统概论数据库系统概论12.1 DBMS的基本功能(续)的基本功能(续)v数据组织、存储和管理n数据的种类数据字典用户数据存取路径n任务以某种文件结构和存取方式物理地组织这些数据实现数据之间的联系n目标提高存储空间利用率提高随机查找、顺序查找、增、删、改等操作的时间效率 数据库系统概论数据库系统概论12.1 DBMS的基本功能(续)的基本功能(续)v数据存取n数据操纵语言(DML)检索插入修改删除n两类DML宿主型语言自立(独立)型语言数据库系统概论数据库系统概论12.1 DBMS的基本功能(续)的基本功能(续)v数据库事务管理和运行管理n多用户环境下事务的管理和自动恢复n并发控制和死锁检测(或死锁防止)n安全性检查和存取控制n完整性检查和执行n运行日志的组织管理数据库系统概论数据库系统概论12.1 DBMS的基本功能(续)的基本功能(续)v数据库的建立和维护n建立数据库数据库的初始建立数据的转换n维护数据库数据库的转储和恢复数据库的重组织和重构造性能监测分析数据库系统概论数据库系统概论12.1 DBMS的基本功能(续)的基本功能(续)v其他功能nDBMS与网络中其他软件系统的通信功能n与其他DBMS或文件系统的数据转换功能n异构数据库之间的互访和互操作功能 数据库系统概论数据库系统概论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的概念的概念数据库系统概论数据库系统概论12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案vN个DB用户-N个进程n连入式方案vSGA(Shared Global Area)共享全局区n字典定义信息n数据和索引缓冲块n日志缓冲块n封锁控制块数据库系统概论数据库系统概论12.2.1 N方案:方案:DBMS与应用程序相融合的方案与应用程序相融合的方案v优点n没有进程切换开销n实现比较简单v缺点n内存的需求量比较大:多DBMS副本n代码冗余使系统性能下降v适用情况n用户数少的小型DBMS数据库系统概论数据库系统概论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的概念的概念数据库系统概论数据库系统概论12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程v解决N方案中DBMS代码段在内存中不能被共享 应用程序与DBMS副本分开 2N方案v一用户一进程(Shadow进程)nN个用户进程-N个DBMS进程(共2N个进程)数据库系统概论数据库系统概论12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程数据库系统概论数据库系统概论12.2.2 2N方案:一个方案:一个DBMS进程对应一个用户进程进程对应一个用户进程v优点优点nDBMS对各数据库用户的多任务调度由OS完成简化了用户进程与DBMS的接口实现起来比较简单 v缺点缺点n进程间总的通信开销上升n操作系统的负担增大,空间、时间效率不高nDBMS必须设立并维护若干后台进程,增加了进程切换n要访问的数据不在内存时会造成性能问题n临界区问题(Critical Section)v适用情况适用情况n用户数不庞大(非OLTP应用):Oracle 7之前版本, Ingres, Informix早期版本数据库系统概论数据库系统概论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的概念的概念数据库系统概论数据库系统概论12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程v一个DBMS进程对应所有用户进程n整 个 DBMS仅 使 用 一 个 进 程 , 类 似 于 一 个 服 务 器(Server)n多个数据库用户向Server发message申请数据库服务nServer用自己的机制来调度这些申请,以支持一个多任务的数据库系统 v没有SGA,DBMS进程的数据区=SGAv没有后台进程v用多线索(Multi_Threaded)技术来实现N+1方案 数据库系统概论数据库系统概论12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程数据库系统概论数据库系统概论12.2.3 N+1方案:一个方案:一个DBMS进程对应所有用户进程进程对应所有用户进程v优点n采用多线索(Multi_Threaded)技术提高系统性能,降低系统资源的开销,简化DBMS许多部分的设计v缺点nDBMS的设计整体上较复杂n消息系统过于昂贵 v实际系统nSybase数据库系统概论数据库系统概论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的概念的概念数据库系统概论数据库系统概论12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程vM个DBMS进程- N个用户进程(一般 M N)vDBMS进程不负责多任务调度,每个用户进程也不固定地对应于某个DBMS进程v用户的数据库请求被动态分配给某个DBMS进程来处理vDBMS进程的分派由分派程序完成数据库系统概论数据库系统概论12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程数据库系统概论数据库系统概论12.2.4 N+M方案:方案:M个个DBMS进程对应进程对应N个用户进程个用户进程v优点n改进了2N方案,提高了内存资源的利用率v缺点n没有克服2N方案的本质弱点n分派程序给系统增加了开销并可能成为瓶颈nDBMS进程动态增减的开销亦很大 v实际系统nOraclenInformix数据库系统概论数据库系统概论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的概念的概念数据库系统概论数据库系统概论一、一、 线程的概念线程的概念v进程细化为 “任务”(Task)、 “线程”(Thread)v进程n一分为二Task是申请资源的最小单位Thread是调度和运行的最小单位n一个Task中可有多个ThreadnThread共享Task的所有资源,共同完成一个任务v线程n将进程中的程序代码与进程所占资源相分离,从而在一个地址空间运行多个指令流数据库系统概论数据库系统概论一、一、 线程的概念(续)线程的概念(续)数据库系统概论数据库系统概论二、二、 多线索(多线索(Multi_Threaded)DBMS vDBMS是一个Taskv用户申请数据库服务时,Task分配至少一个Thread为之服务v多个Thread并行工作,共享资源 数据库系统概论数据库系统概论三、三、 线索与进程的比较线索与进程的比较 v线索比进程占用较少的资源v线索调度比较灵活,可控制性强v线索切换开销较小v线索间通信简便 数据库系统概论数据库系统概论12.3 DBMS系统结构系统结构12.3.1 DBMS的层次结构的层次结构12.3.2 RDBMS的运行过程示例的运行过程示例数据库系统概论数据库系统概论12.3.1 DBMS的层次结构的层次结构处理各种各样的数据库应用处理各种各样的数据库应用是是RDBMS与用户与用户/应用程序的界面层应用程序的界面层处理数据库语言,如处理数据库语言,如SQL向上提供的数据接口是元组的集合向上提供的数据接口是元组的集合处理单个元组处理单个元组把集合操作化为单记录操作并执行把集合操作化为单记录操作并执行处理数据页和系统缓冲区处理数据页和系统缓冲区数据库系统概论数据库系统概论12.3 DBMS系统结构系统结构12.3.1 DBMS的层次结构的层次结构12.3.2 RDBMS的运行过程示例的运行过程示例数据库系统概论数据库系统概论12.3.2 RDBMS的运行过程示例的运行过程示例数据库系统概论数据库系统概论12.4 语言处理语言处理12.4.1 语言处理层的任务和工作语言处理层的任务和工作12.4.2 解释方法解释方法12.4.3 预编译方法预编译方法数据库系统概论数据库系统概论12.4.1 语言处理层的任务和工作语言处理层的任务和工作接收接收DB语句语句 转换转换对对DBMS内层内层可执行的基本可执行的基本存取模块的调存取模块的调用序列用序列交互式方式下的交互式方式下的SQL语句语句嵌入嵌入3GL中的中的SQL语句语句 PL/SQL中的中的SQL语句语句 数据库系统概论数据库系统概论12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)vDDL语句处理过程n把它翻译成内部表示n存储在系统的数据字典中vDCL语句处理过程n与DDL的处理类似数据库系统概论数据库系统概论12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)vDML语句的处理n束缚过程n束缚时间DML语句语句 束缚束缚(Binding) 一串可执行的一串可执行的存取动作存取动作( (调用调用序列序列)相当于一个小编译器相当于一个小编译器 数据库系统概论数据库系统概论其他语句查询语句DML 语句语法分析语义检查视图转换数 据 库数据字典DBMS内层基本模块库单元组接口对可执行的DBMS内层基本存取模块的调用序列多元组接口查询优化代码生成数据库系统概论数据库系统概论数据库系统概论数据库系统概论12.4.1 语言处理层的任务和工作(续)语言处理层的任务和工作(续)v束缚时间编程时- - -执行前- - -执行时n编程时-已淘汰n执行时-解释方法n执行前-预编译方法数据库系统概论数据库系统概论12.4 语言处理语言处理12.4.1 语言处理层的任务和工作语言处理层的任务和工作12.4.2 解释方法解释方法12.4.3 预编译方法预编译方法数据库系统概论数据库系统概论12.4.2 解释方法解释方法v特点n执行前,DML语句都以原始字符串的形式保存n执行时,解释程序完成束缚过程,然后予以执行v优点n数据独立性好n灵活、应变性好v缺点n效率比较低v适用n交互式SQL 数据库系统概论数据库系统概论12.4 语言处理语言处理12.4.1 语言处理层的任务和工作语言处理层的任务和工作12.4.2 解释方法解释方法12.4.3 预编译方法预编译方法数据库系统概论数据库系统概论12.4.3 预编译方法预编译方法v不同束缚时间的权衡n早:系统效率高,数据独立性差n晚:数据独立性高,执行效率差预编译方法是介于上面二者之间的一个方案v特点n用户提交DML语句后,运行前对它进行翻译处理n保存产生的执行代码n运行时,取出执行代码加以执行 数据库系统概论数据库系统概论数据库系统概论数据库系统概论v预编译方法的问题n应用规划失效(数据库结构改变、存取路径改变)v解决方法n重编译n重编译进行时刻立即重编译被执行时才进行自动重编译n自动重编译技术的优点既拥有了编译时进行束缚所带来的高效率又具备了执行时束缚带来的数据独立性 12.4.3 预编译方法(续)预编译方法(续)数据库系统概论数据库系统概论12.5 数据存取层数据存取层数据库系统概论数据库系统概论12.5 数据存取层数据存取层12.5.1 数据存取层的系统结构数据存取层的系统结构12.5.2 数据存取层的功能子功能数据存取层的功能子功能数据库系统概论数据库系统概论12.5.1 数据存取层的系统结构数据存取层的系统结构数据库系统概论数据库系统概论12.5 数据存取层数据存取层12.5.1 数据存取层的系统结构数据存取层的系统结构12.5.2 数据存取层的功能子功能数据存取层的功能子功能数据库系统概论数据库系统概论12.5.2 数据存取层的功能子功能数据存取层的功能子功能v记录存取、事务管理子系统v日志登记子系统v控制信息管理模块v排序合并子系统v存取路径维护子系统v封锁子系统数据库系统概论数据库系统概论一、记录存取、事务管理子系统一、记录存取、事务管理子系统v记录存取子系统n在某个存取路径上按属性值找元组(FIND)n按相对位置找元组(NEXT,PRIOR,FIRST,LAST)。n给某关系增加一个元组(INSERT)n从找到的元组中取某个属性值(GET)n从某关系中删去一个元组(DELETE)n把某修改完的元组写回关系中(REPLACE) v事务管理子系统n定义事务开始(BEGIN TRANSACTION)n事务提交(COMMIT)n事务回滚(ROLLBACK)数据库系统概论数据库系统概论二、日志登记子系统二、日志登记子系统v写日志记录(WRITELOG)v读日志记录(READLOG)v扫描日志文件(SCANLOG)v撤消尚未结束的事务(UNDO)v重做已经结束的事务(REDO) 数据库系统概论数据库系统概论三、控制信息管理模块三、控制信息管理模块v负责在内存数据区登记记录类型、存取路径的说明信息和控制信息。数据库系统概论数据库系统概论四、四、排序排序/合并子系统合并子系统v输出有序结果v删去重复值v支持排序 合并方法的连接操作v支持动态建立索引结构v减少数据块的存取次数数据库系统概论数据库系统概论五、存取路径维护子系统五、存取路径维护子系统v对数据执行插入、删除、修改操作的同时对相应的存取路径进行维护vB+树的维护算法 n初始建立B+树索引n插入n删除n更新数据库系统概论数据库系统概论7. 封锁子系统封锁子系统数据库系统概论数据库系统概论12.6 缓冲区管理缓冲区管理v数据存储层的功能 n缓冲区管理n内外存交换n外存管理v系统缓冲区设立的原因 n提供DBMS的设备独立性 外存设备的变更不会对它们造成影响n提高存取效率异步读写:预先读,延迟写 数据库系统概论数据库系统概论12.6 缓冲区管理(续)缓冲区管理(续)v系统缓冲区的组成n内存n虚存v缓冲区管理n缓冲区大小 太大: 占据内存空间太小: 频频缺页调页,造成“抖动”,影响效率 n数据库缓冲区及上下接口n缓冲区管理示意图 数据库系统概论数据库系统概论数据库缓冲区及上下接口数据库缓冲区及上下接口数据库系统概论数据库系统概论缓冲区管理缓冲区管理v缓冲区查找算法 n顺序查找算法n折半查找算法 nhash查找算法v缓冲区淘汰算法nLRU算法nFIFO算法n时钟算法n系统控制法n混合算法n数据库系统概论数据库系统概论12.7 数据库物理组织数据库物理组织v衡量数据组织优劣的标准n存储效率高,节省存储空间;n存取效率高,速度快,代价小v存储的数据n数据描述即数据外模式、模式、内模式。n数据本身n数据之间的联系n存取路径数据库系统概论数据库系统概论12.7 数据库物理组织(续)数据库物理组织(续)v数据字典(DD)的组织n数据量比较小n使用频繁v数据及数据联系的组织n网状、层次数据库:邻接法和链接法n关系数据库:表v存取路径的组织n网状、层次数据库:数据之间的联系n关系数据库:B树类文件结构和Hash文件结构数据库系统概论数据库系统概论12.8 小结小结vDBMS的目标n用户界面友好n功能完备n效率高n结构清晰n开放性数据库系统概论数据库系统概论12.8 小结(续)小结(续)vDBMS的基本功能n数据库定义n数据存取n数据库运行管理n数据组织、存储和管理n数据库的建立和维护n其他数据库系统概论数据库系统概论12.8 小结(续)小结(续)vDBMS的进程结构nN方案n2N方案nM+N方案nN+1方案数据库系统概论数据库系统概论12.8 小结(续)小结(续)vDBMS的系统结构n程序模块组成n层次结构vDBMS的主要实现技术 n语言处理层n数据存取层n数据存储层n数据库物理组织数据库系统概论数据库系统概论
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号