您好,欢迎访问三七文档
1第一章数据库管理系统概述2硬件平台基础软件平台软件基础构架平台应用软件平台软件产品协同软件办公软件数据库系统数据库系统操作系统中间件应用服务器数据库在计算机系统中的位置3基本内容zDBMS的基本功能zDBMS的进程结构zDBMS的系统结构zDBMS的主要实现技术4第一章数据库管理系统概述z1.1DBMS概述z1.2DBMS的进程结构和多线索机制z1.3DBMS系统结构z1.4语言处理z1.5数据存取层z1.6数据存储层z1.7数据库物理组织51.1DBMS概述z1.1.1DBMS的目标z1.1.2DBMS的基本功能z1.1.3DBMS和操作系统z1.1.4DBMS和第四代应用开发环境61.1.1DBMS的目标z用户界面友好z功能完备z效率高z结构清晰z开放性7目标一:用户界面友好z用户界面的质量直接影响一个DBMS产品的生命力。z一般要求(4个)–可靠性:指界面要具有一定的容错能力。z运行状态指示z出错信息z引导用户改正错误8用户界面友好–易用性:操作方式简单,容易记忆,输入/输出容易理解。–立即反馈:在用户心理许可的时间范围内给出响应z返回结果z返回执行信息9用户界面友好–多样性:提供多种用户接口,以适应不同层次用户的需要。zDBMS接口–交互式SQL–嵌入式SQL–表格语言接口–命令式语言接口–函数调用接口10目标二:功能完备z主要功能–数据库定义–数据库数据存取–数据库运行管理–数据库组织和存储管理–数据库建立和维护11目标三:效率高z高的系统效率–资源的利用率–运行效率Æ查询优化z高的用户生产率–良好的应用开发环境12目标四:结构清晰zDBMS复杂–接口z向上:与用户接口z向下:与OS、其他软硬资源接口–实现技术涉及:z编译原理(因为DBMS提供了数据语言)z操作系统(因为与OS接口)z程序设计(因为本身是软件系统)z数据结构(因为本身是软件系统)13结构清晰内部结构清晰、层次分明以便于自身的设计、开发和维护14目标五:开放性z符合标准和规范,例如SQL标准、ODBC标准……z提高互操作性和可扩展性–使用其他厂商的开发工具和数据库z继承已有应用z让用户继续使用自己熟悉的工具–开发工具和数据库可供其他DBMS使用151.1DBMS概述z1.1.1DBMS的目标z1.1.2DBMS的基本功能z1.1.3DBMS和操作系统z1.1.4DBMS和第四代应用开发环境161.1.2DBMS的基本功能z数据库定义z数据库数据存取z数据库运行管理z数据库组织和存储管理z数据库建立和维护171.数据库定义z外模式、模式、内模式的定义z数据库完整性的定义z安全保密定义(如用户口令、级别、存取权限)z存取路径(如索引)的定义数据字典(亦称为系统目录):存储定义182.数据存取z数据操纵语言(DML)–检索–插入–修改–删除z两类DML–宿主型语言–自立(独立)型语言193.数据库运行管理z多用户环境下事务的管理和自动恢复z并发控制和死锁检测(或死锁防止)z安全性检查和存取控制z完整性检查和执行z运行日志的组织管理等等204.数据组织、存储和管理z数据的种类–数据字典–用户数据–存取路径等21数据组织、存储和管理z任务–以某种文件结构和存取方式物理地组织这些数据z索引查找zHash查找z顺序查找等等–实现数据之间的联系22数据组织、存储和管理z目标–提高存储空间利用率–提高随机查找、顺序查找、增、删、改等操作的时间效率235.数据库的建立和维护z建立数据库–数据库的初始建立–数据的转换等等245.数据库的建立和维护z维护数据库–数据库的转储和恢复–数据库的重组织和重构造–性能监测分析等等256.其他功能zDBMS与网络中其他软件系统的通信功能z与其他DBMS或文件系统的数据转换功能z异构数据库之间的互访和互操作功能等等261.1DBMS概述z1.1.1DBMS的目标z1.1.2DBMS的基本功能z1.1.3DBMS和操作系统z1.1.4DBMS和第四代应用开发环境271.1.3DBMS和操作系统zDBMS是操作系统的用户。DBMS在操作系统上可以有多种不同的运行方式。zDBMS需要操作系统的服务:创建和撤消进程,进程通信,读写磁盘,分配内存等z操作系统不同的服务方式:DBMS在实现技术和实现方法上有差异281.1DBMS概述z1.1.1DBMS的目标z1.1.2DBMS的基本功能z1.1.3DBMS和操作系统z1.1.4DBMS和第四代应用开发环境291.1.4DBMS和第四代应用开发环境zDBMS的数据管理功能是核心zDBMS之上可以有开发工具–报表书写工具–屏幕表格软件–菜单生成工具–图形显示工具30第一章数据库管理系统概述z1.1DBMS概述z1.2DBMS的进程结构和多线索机制z1.3DBMS系统结构z1.4语言处理z1.5数据存取层z1.6数据存储层z1.7数据库物理组织311.2DBMS的进程结构和多线索机制z四种进程组织方案–N方案–2N方案–N+1方案–N+M方案321.2.1N方案z特点z优点z缺点z适用情况z实际系统331.特点z是DBMS与应用程序相融合的方案zN个DB用户--N个进程zDBMS:作为应用程序的子程序被连入应用程序中,成为应用程序的一部分。zN方案也称为连入式方案34N方案AP2DBMSAPiDBMSAP1DBMSU1UiSGADB文件OS35zSGA:SharedGlobalArea共享全局区。–存放内容:全局资源z数据、索引、字典定义信息的缓冲块z日志缓冲块z封锁控制块等等362.优点z没有进程切换开销–能用子程序调用方式把控制迅速直接地传给DBMS,避免两次进程切换开销(每次5000-10000条指令),从而减少应用程序的运行时间z实现比较简单373.缺点z内存的需求量比较大:多DBMS副本z代码冗余使系统性能下降,DBMS功能越强,代码段越大,性能下降越明显384.适用情况z用户数少的小型DBMS395.实际系统zSystemR401.2.22N方案z特点z优点z缺点z适用情况z实际系统411.特点z解决N方案中DBMS代码段在内存中不能被共享应用程序与DBMS副本分开2N方案421.特点z一用户一进程(Shadow进程)zN个用户进程-----N个DBMS进程(共2N个进程)432N方案......AP1AP2APiU1UiSGADBMSDBMSDBMSOSDB文件442.优点zDBMS对各数据库用户的多任务调度由OS完成–简化了用户进程与DBMS的接口–实现起来比较简单453.缺点1)进程间总的通信开销上升用户Shadow进程DBMSDBMS用信号量实现同步DBMS、后台进程SGA用信号量实现互斥访问463.缺点2)操作系统的负担增大,空间、时间效率不高–空间①各DBMS的代码段可共享(UNIX中的正文段)但数据段和栈段还是各自的②每个DBMS进程都有一个PCB等诸多内部空间①对存储的需要量亦很大,极易使内存页面状况变坏②用户数较多时,物理内存各进程虚空间之和各进程被OS频繁地换入换出,使系统出现颠簸473.缺点–时间z进程数目过多,许多CPU时间用于进程切换这种昂贵的工作上–结论:2N方案不可能支持很多的DBMS用户,不能支持大量用户的OLTP应用。原因:z系统颠簸及进程切换的高额开销使系统性能严重下降z增加一个用户所需要的资源很大。一般增加1-3个用户就需要1M内存zOS所支持的进程总数有限制483.缺点3)DBMS必须设立并维护若干后台进程,增加了进程切换493.缺点4)要访问的数据不在内存时会造成性能问题运行的DBMS进程发出一次I/O请求所需数据不在BUFFER后台进程读数据阻塞(等待数据),进程切换,让其他进程运行503.缺点5)临界区问题(CriticalSection)–并发进程在访问共享资源时必须互斥。每个进程中访问共享资源的那段代码称为临界区。–全局缓冲区是共享数据段,Buffer管理程序的一部分必须是临界区。–临界区问题51S1:读Buffer持有信号量挂起S2:读Buffer等待………….Sn:读Buffer等待①排队等待被封锁的资源进程切换②在UNIX下,当该资源可用时等待该资源的所有进程都被唤醒其中一个进程可获得该资源,其他进程仍要sleep大量无谓的进程切换524.适用情况z用户数不庞大(非OLTP应用)535.实际系统zORACLE7.0之前的版本zINGRES(最早的INGRES采用4N方案)zInformix的早期版本541.2.3M+N方案z特点z优点z缺点z适用情况z实际系统551.特点zM个DBMS进程--N个用户进程(一般MN)zDBMS进程不负责多任务调度,同时每个用户进程也不固定地对应于某个DBMS进程。用户的数据库请求将会被动态地分配给某个DBMS进程来处理(例如最不忙的那个DBMS进程)。zDBMS进程个数(M)可随用户进程数目(N)的变化而调整561.特点zDBMS进程的分派由分派程序完成。–分派程序可以是一个单独的后台进程,也可以将其代码连入用户程序(APi)中。–分派程序的功能57分派程序的功能(续)z接收用户的数据库请求z将用户请求链入SGA中的请求队列z当有空闲DBMS进程时,将请求队列中的一个请求分配给它服务z将DBMS执行结果链入结果队列z将结果返回给相应用户z监测整个DBMS的运行状况并根据用户请求队列的情况动态增减DBMS进程的个数58N+M方案AP1AP2APiU1UiDBMSDBMSSGAOSDB文件......服务...进程池592.优点z改进了2N方案,提高了内存资源的利用率–指导思想:用户进程可能并不总是同时提出数据库请求,一个用户一个DBMS进程的方案太浪费了,几个用户轮流使用一个DBMS服务进程也许会节约一些。603.缺点z没有克服2N方案的本质弱点。z分派程序给系统增加了开销并可能成为瓶颈zDBMS进程动态增减的开销亦很大614.实际系统zORACLEzInformix621.2.4N+1方案z特点z优点z缺点z适用情况z实际系统631.特点z一个DBMS进程对应所有用户进程–整个DBMS仅使用一个进程,类似于一个服务器(Server)。–多个数据库用户向Server发message申请数据库服务–Server要用自己的机制来调度这些申请,以支持一个多任务的数据库系统641.特点z没有SGA,DBMS进程的数据区=SGAz没有后台进程z用多线索(Multi-Threaded)技术来实现N+1方案65AP1AP2APiU1UiDBMSOS......DB文件662.优点z采用多线索(Multi-Threaded)技术–用统一的“线索”思想处理所有执行流–提高系统性能,降低系统资源的开销,简化DBMS许多部分的设计–省去后台进程并适应微内核(Micro-Kernel)要求–使DBMS的核心代码简明精巧、易于移植。673.缺点z如果借助OS的线索机制,可移植性受影响z如果不借助OS的线索机制,不能直接移植至SMP平台684.实际系统zSybase691.2.5多线索DBMS的概念z线程的概念z多线索DBMSz线索与进程的比较701.线程的概念z进程“任务”(Task)、“线程”(Thread)z进程–进程:资源分配的最小单位,运行的最小单位–资源:进程虚拟空间、进程控制块、数据段、正文段、堆栈段、共享内存、程序计数器、状态寄存器及通用寄存器……711.线程的概念z任务与线程–进程的概念一分为二zTask是申请资源的最小单位zThread是调度和运行的最小单位–一个Task中可有多个Thread–Thread共享Task的所有资源,共同完成一个任务721.线程的概念z线程–线程是将进程中的程序代码与进程所占资源相分离,从而在一个地址空间运行多个指令流。73进程、Task与ThreadUNIX中进程概念MACH中Task与Thread概念ThreadTaskPC,PS,SP,Stack,Register(运行资源)进程控制信息存储管理信息信号处理信息文件指针管理资源占用统计资源控制信息任务控制
本文标题:数据库管理系统概述
链接地址:https://www.777doc.com/doc-4190785 .html