第11章分布式数据库系统分布式数据库系统是数据库技术与网络技术相结合的产物,是应用于网络环境的数据库系统,是当前数据库系统应用最主要的一个方面。分布式数据库(DistributedDataBase)简记为DDB,分布式数据库系统简记为DDBS,分布式数据库管理系统简记为DDBMS。第11章分布式数据库系统11.1集中式系统与分布式系统11.2分布式数据库系统11.3DDB的模式结构11.4分布式数据存储11.5DDBS的功能及组成11.6分布式查询处理11.7客户机/服务器系统(C/S)11.8小结11.9习题11.1集中式系统与分布式系统在20世纪70-80年代,人们主要采用集中式系统来处理计算机中的数据。集中式系统主要包括单机系统与主从式系统,其特点是数据集中存放在一台计算机上。集中式系统随着技术的发展和应用需求的扩深,已越来越不适应信息处理的需要。11.1.1集中式系统的不足11.1.2分布计算的方式11.1.1集中式系统的不足图11_1集中式数据库系统的工作原理首先,系统规模和配置不灵活,可扩充性和安全性差;其次,主机瓶颈,可靠性不高;第三,通信开销加大,影响性能;第四很难适应地理分散的大型公司管理数据需要。主机数据库终端用户处理结果存取请求11.1.2分布计算的方式分布计算就是利用分布式数据库管理系统将分散在网络各点的数据库统一管理起来,使得网络中的各结点都能对数据库执行全局应用和局部应用的一种计算模式。经历了从处理分布、数据分布到功能分布的演变过程。处理分布:即处理是分布的,而数据是集中的。数据分布:即数据物理分布在网络不同结点上,逻辑上是整体。功能分布:能充分实现功能分布的计算模式就是当前的客户机/服务器结构。11.2分布式数据库系统数据库技术与网络技术相结合的产物11.2.1DDBS的定义11.2.2DDBS的特点11.2.3DDBS的优缺点11.2.4DDBS的分类11.2.1DDBS的定义分布式系统是用通信网络连接起来的结点(亦称为“场地”)的集合,每个结点都拥有一个集中式数据库系统。定义11.1DDBS是指物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络不同场地的计算机中,每一场地都有自治处理(即独立处理)能力并能完成局部应用,同时,每一场地也能通过网络通信子系统执行(至少一种)全局应用。DDBS中有两个重要的组成部分是:分布式数据库(DDB)和分布式数据库管理系统(DDBMS)。11.2.2DDBS的特点四个基本特点:(1)物理分布性(2)逻辑整体性(3)场地自治性(4)场地之间协作性四个导出特点:(5)数据独立性(6)集中与自治相结合的控制机制(7)适当增加数据冗余度(8)事务管理的分布性11.2.3DDBS的优缺点1.优点:(1)具有灵活的体系结构。(2)适应分布式的管理和控制机构。(3)经济性能优越。(4)系统的可靠性高、可用性好。(5)局部应用的响应速度快。(6)系统可扩展性好。2.DDBS的缺点(1)系统开销较大,主要花在通信部分。(2)存取结构复杂(如辅助索引、文件链接技术)。(3)数据的安全性和保密性较难处理。11.2.4DDBS的分类(1)同构同质型DDBS:各个场地采用同一类型的数据模型(如关系型),同一型号的DBMS。(2)同构异质型DDBS:各个场地采用同一类型的数据模型,但DBMS的型号不同,如DB2、Oracle、Sybase、SQLServer等。(3)异构型DDBS:各个场地的数据模型和DDBS的型号都不同。11.3DDB的模式结构11.3.1DDBS的模式结构图(图11_3)11.3.2六层模式结构11.3.3六层体系结构的特征11.3.4五层映像与分布透明性11.3.1DDBS的模式结构图11.3.2六层模式结构1.全局外模式(GlobalExternalSchema)可有多个,是全局应用的用户视图,是全局概念模式的子集。2.全局概念模式(GlobalConceptualSchema)系统所有数据的整体逻辑结构,所有全局应用的公共数据视图3.分片模式(FragmentationSchema)定义片段以及全局关系与片段之间的映像。4.分布模式或称分配模式(AllocationSchema)方案有:集中式、分割式、全复制式、混合式。5.局部概念模式(LocalConceptualSchema)6.局部内模式(LocalInternalSchema)11.3.3六层体系结构的特征(1)数据分片和数据分配概念的分离,形成了“数据分布独立性”概念。(2)数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。(3)局部DBMS的独立性,也称为“局部映像透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。11.3.4五层映像与分布透明性映像1:当全局概念模式改变时,需由DBA修改映像1,则全局外模式保持不变。体现了数据库逻辑独立性。映像2:定义全局关系与片段之间的对应关系。一个片段来自一个全局关系,而一个全局关系可对应多个片段,映像2是一对多的。映像3:用于定义片段与网络结点之间的对应关系。映像4:用于定义存储在局部场地的全局关系及片段与各局部概念模式的对应关系。映像5:用于局部概念模式到局部内模式之间,保证数据物理独立性。11.3.4五层映像与分布透明性11.4分布式数据存储分布式数据库中数据存储可以从数据分片(DataFragmentation)和数据分布(DataAllocation)两个角度考察。11.4.1数据分片11.4.2数据分配11.4.1数据分片(1)水平分片(2)垂直分片(3)导出分片(4)混合分片11.4.2数据分配(1)集中式:所有数据片段都安排在同一个场地上。(2)分割式:所有数据只有一份,被分割成若干逻辑片段,每个逻辑片段被分配到某一个特定的场地上,片段没有副本,(3)全复制式:数据在每个场地重复存储,每个场地上都有一个完整的数据副本。(4)混合式:介于分割式和全复制式间的分配方式。评估因素四个:存储代价,可靠性,检索代价和更新代价。11.5DDBS的功能及组成DDBMS是DDBS的核心。11.5.1DDBS的组成11.5.2DDBMS的功能结构11.5.1DDBS的组成计算机GDBMSLDBMS计算机GDBMSLDBMS计算机GDBMSLDBMS局部用户局部用户局部用户全局用户全局用户全局用户LDDLDBGDDGDBLDDLDB网络LDDLDBGDDGDBGDDGDB11.5.2DDBMS的功能结构11.6分布式查询处理在DDBS中,数据分布在各个场地,因此查询处理比集中式DBS更复杂。11.6.1查询代价分析11.6.2基干半联接的优化策略11.6.3基于联接的优化策略11.7客户机/服务器系统(C/S)11.7.1C/S结构的工作模式11.7.2C/S应用程序的组成11.7.3C/S模式的体系结构11.7.4两层、三层和多层C/S结构11.7.5C/S系统的并发控制与数据一致性11.7.1C/S结构的工作模式客户机服务器数据库数据请求用户处理结果客户机的任务服务器的任务管理用户界面接收来自客户机的数据库请求接受用户数据处理对数据库的请求处理应用逻辑格式化结果并传给客户机生成数据库请求进行完整性检查向服务器发数据库请求维护数据字典、索引从服务器接受结果处理数据恢复格式化结果优化查询/更新处理11.7.2C/S应用程序的组成应用程序界面逻辑应用逻辑事务逻辑数据管理GUI3GL4GLSQLOracleDB2终端DBClient端Server端11.7.3C/S模式的体系结构客户机l服务器DB用户中间件11.7.4两层、三层和多层C/S结构客户机l客户机n服务器DB第二层用户第一层用户……客户机l客户机n应用服务器DB服务器DB第一层第二层用户第三层用户……11.7.4两层、三层和多层C/S结构图11_15多层C/S结构服务器中间件图11_14结构11.7.5C/S系统的并发控制与数据一致性1.C/S系统的并发控制C/S系统提供了并行处理与并发控制功能。当多个客户机并行执行时,数据库操作以事务的形式传送到服务器。服务器依次处理传过来的相关事务后将结果送回到指定的客户机上。服务器会利用封锁机制使事务串行执行。2.C/S系统的一致性控制数据完整性约束在服务器上定义,并由服务器来检查约束条件,方便地实现对数据库的完整性和一致性控制。所有对数据库的修改、删除和插入都将进行完整性检查。特殊业务规则的完整性约束条件,可利用库触发器完成。11.8小结分布计算概念突破了集中式DBS的框架。DDBS是数据库技术与网络技术结合的产物。DDBS具有数据分布性和逻辑整体性的特点。DDBS的数据存储有数据分片和数据分配两种策略。DDBS能够支持涉及多个场地的全局应用。分布透明性是DDBS追求的目标。C/S系统是当前DBS的主流结构。C/S结构经历了从两层、三层到多层的演变过程。11.9习题11.1名词解释:处理分布、数据分布、功能分布、服务器位置透明性、集中式DBS、分布式DBS、DDBDDBMS、分布透明性、数据分片、水平分片、垂直分片、数据分配、分片透明性、位置透明性、局部数据模型透明性。11.2试叙述DDB的六层模式结构、五级映像及独立性(或透明性)?11.3C/S结构的基本原则是什么?客户机和服务器的任务各是什么?11.4解释C/S结构两层模型、三层模型、多层模型。