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