您好,欢迎访问三七文档
数据库的运行与维护1.数据库的运行要使数据库系统投入并保持正常运行,需要许多人做许多工作。这里主要讨论作为计算机系统的一个组成部分的DBMS及其数据库与其他系统部件的接口关系、系统的工作原理。1.1运行环境的构成数据库的运行除了DBMS与数据库外,还需要各种系统部件协同工作。首先必须有各种相应的应用程序,其次各应用程序与DBMS都需要在操作系统(OS)支持下工作。在有远程通信的情况下,则需要数据通信管理部件的支持。图1-1描绘了一个数据库运行环境的典型部件。其中,DBCS(数据库控制系统)是与各用户程序iAPP接口的模块;DBSS(数据库存储系统)操作存储数据库并与OS或DBMS自己的标准存取方法(AM)接口;各应用程序和DBMS部件都在OS的管理程序(supervisor)的管理下工作。对于一个给定的DBMS,不一定就有名为“DBCS”或“DBSS”的系统,在这里它们是一般性术语,但绝大多数DBMS都有相当的功能部件。在网络或分布式环境下,还需要数据通信管理系统(DCMS)的支持。应用程序APP1APP2APPM...DBCSDBSSAMSUPERVISORDCMSDBMSOS其他软件1212n文件DB外部模式概念模式存储模式数据字典图1-1数据库系统运行环境通常,系统初启时,应用程序与DBMS都不活动,一旦事务达到系统,OS管理程序就调度用户事务所需要的应用程序运行。当应用程序要求存取数据库时,向DBMS发出请求。DBCS接受应用程序请求,并考察外部模式与概念模式,以确定需要什么概念记录来满足请求,然后调用DBSS存取存数模式,转换概念记录成存储记录,并经OS传递请求给相应的AM,再由AM实现物理数据库的存取和数据I/O。1.2运行环境的类型数据库运行环境的组成与用户环境的类型紧密相关。可以用两种不同的用户环境:一种是数据库为一个或少数单个用户的专用而建立;另一种是针对整个组织建立的集成数据库。在前一种环境下,常常只有一个用户存取数据库,且在给定时刻只有一个用户需求必须满足,因而一个程序活动就成完成(当然,这并不意味着系统只能服务于一种应用需求)。在后一种环境下,任何时刻都可能有多个用户同时对数据库施加各种类型的操作,因而有许多程序活动并发执行。这种情况还可以分为所有应用集中在一起而形成的集中式的系统和应用分散在不同的地理位置的分散式或分布式系统。它们对数据库运行可施加不同的影响,因而要求OS、DBMS及DCMS等的不同支持。当前数据库应用主要是联机事务处理(OLTP)和联机分析处理(OLAP),顾故分别有作业型(operational)和决策型(executive)两种运行环境。作业型环境支持预先程序设计和重复执行的事务处理、频繁的数据存取、当前的日常数据、联机的数据库维护、宿主语言与简单方便的用户接口。决策型环境主要是面向计划、决策、分析的,它支持多关键字及较复杂的布尔查询,提供大量历史数据的综合、推导与提炼。不同环境的设计要求不一样,它们所要求的数据库管理软件支持也不尽相同。1.3处理方式数据库系统运行时可以以多种处理方式支持用户。最简单的一种是批处理,用户一次性地提交任务的输入数据和程序以及说明的控制信息,应用程序执行时依次与DBMS打交道,并对数据库进行存取,直至整个任务完成后输出其结果。较普遍使用的是联机交互式处理。在这种方式下,用户随时联机地输入请求,在请求的处理期间,用户一直保持与数据库系统联系,不断进行“会话”以交换信息。联机处理又可进一步分为单任务处理和多任务处理。如上所述,单任务处理在同一时刻只有一个程序存取数据库,这种方式一般只适用于个人数据库系统。单任务处理方式不能适应多个用户并行存取数据库的要求,虽然它也可以服务于多个用户,但用户的请求只能一个一个地执行,平均用户等待时间长。多任务处理允许同时有多个应用程序是活跃的,但这并不意味着一定支持多个应用并发存取数据库。现代DBMS一般都属于这种处理方式的。多道联机处理数据库系统结构如图1-2所示。在这种系统中,各事务往往由一个“事务处理监控器”(transactionprocessingmonitor,TPM)管理,它本身在操作系统控制下运行。当用户消息到达系统时,它根据消息标示符查找每一个用户消息与所使用的程序的对照表,从而在程序库(PB)中找出相应的应用程序,并为其建立一个事务来处理该消息。TPMDCMSOS应用程序A应用程序B事务1事务3事务2DBCSDBSS查询处理查询计划DD/DPBDBDBMS图1-2数据库的多道联机方式1.3数据库使用方式现代数据库一般都是以多道联机处理方式来服务用户的。用户可以以两种方式来使用数据库,一种是编程方式,另一种是交互方式,下面分别介绍这两种方式的实现过程。1.3.1编程使用方式对于支持编程使用方式的数据库系统,用户可以用高级程序设计语言,如C、FORTRAN、Cobal、Pascal等来编写程序,在这种程序中嵌入数据库操作语言如SQL的语句(故又称嵌入式使用),从而使应用程序可直接存取数据库。这种方式的实现如图1-3所示,其中DBRM(databaserequestmodule)为相应SQL语句的语法结构块,“应用计划”就是实现DBRM中SQL语句的数据库存取操作序列。应用程序(HL+DML)源代码预编译HL可执行代码应用计划DBMSDBHL源代码HL编译DML编译DBMS图1-3数据库的使用编程方式1.3.2交互使用方式与编程式使用相对的是交互使用方式。典型的交互使用方式,用户即席打入查询(即数据库操作命令),如图1-4所示,查询经由DBMS的重要部件“查询处理器”进行语法分析,产生一个该查询的语法树。语法树经编译处理(包括预处理、逻辑计划生成和优化及物理计划生成),产生物理查询计划,即对数据库的实际操作序列。再由执行引擎执行查询计划的每一步。用户查询查询语法树查询语法树语法分析语法分析语法分析DBDBMS图1-4数据库的交互使用方式1.4用户请求的实现过程用户请求实现模型是一个层次结构,它包含了三层软件、四层接口和物理数据库。图1.5给出了一个通用的实现模型。最终用户数据库管理软件存取方法应用软件DB用户处理接口逻辑记录接口存储记录接口物理记录接口图1-5实现模型层次结构三层软件是:第一次是应用软件层,它直接支持最终用户,使他们能够对数据的请求来存取数据库。它将用户的数据请求转换成逻辑存取命令而嵌入在主语言程序或专门的查询中。第二层主要是数据库管理软件,还可能作为集成数据管理软件的部件而包括一些应用支撑软件,它们将逻辑存取命令转换成存储数据的存取命令。第三层是存取方法,它一般是操作系统的一部分,也包括DBMS的一些专门扩充和接口,它将存储记录命令转换成物理记录(块)操作,并执行物理记录接口上的数据传输。第四层接口是:用户处理接口、逻辑记录接口、存储记录接口和物理记录接口。用户处理接口支持最终用户,使之能以不同的处理方式来处理数据,如此处理、联机处理和报告生成等。用户处理接口可使用户只关心他们感兴趣的数据。逻辑记录接口用来在数据库管理软件与用户之间传递逻辑记录,使用户软件能将数据库视作逻辑文件的集合。存储记录接口有事又叫存储文件组织,它使DBMS软件能将数据库存储结构看成是存储文件的集合,而一个存储文件就是具有相同构造的同一类型存储记录的集合。物理记录接口控制物理设备特性,实现内外存之间的物理块传递,它支持存取方法将存储记录组合成物理记录(或物理块)并实现其在外存设备上的安置或反之。2.数据库的维护数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了。但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:2.1数据库的转储和恢复数据库的转储和恢复是系统正式运行后最重要的维护工作之一。DBA要针对不同的应用要求制定不同的转储计划,以保证一旦发生故障能尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏。2.2数据库的安全性、完整性控制在数据库运行过程中,由于应用环境的变化,对安全性的要求也会发生变化,比如有的数据原来是机密的,现在是可以公开查询的了,而新加入的数据又可能是机密的了。系统中用户的密级也会改变。这些都需要DBA根据实际情况修改原有的安全性控制。同样,数据库的完整性约束条件也会变化,也需要DBA不断修正,以满足用户要求。2.3数据库性能的监督、分析和改造在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法是DBA的又一重要任务。目前有些DBMS产品提供了监测系统性能参数的工具,DBA可以利用这些工具方便地得到系统运行过程中一系列性能参数的值。DBA应仔细分析这些数据,判断当前系统运行状况是否是最佳,应当做哪些改进。例如调整系统物理参数,或对数据库进行重组织或重构造等。2.4数据库的重组织与重构造数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织)。DBMS一般都提供数据重组织用的实用程序。在重组织的过程中,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。数据库的重组织,并不修改原设计的逻辑和物理结构,而数据库的重构造则不同,它是指部分修改数据库的模式和内模式。由于数据库应用环境发生变化,增加了新的应用或新的实体,取消了某些应用,有的实体与实体问的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。例如,在表中增加或删除某些数据项,改变数据项的类型,增加或删除某个表,改变数据库的容量,增加或删除某些索引等。当然数据库的重构也是有限的,只能做部分修改。如果应用变化太大,重构也无济于事,说明此数据库应用系统的生命周期己经结束,应该设计新的数据库应用系统了。
本文标题:数据库的运行与维护
链接地址:https://www.777doc.com/doc-5719694 .html