第 11章 分布式数据库系统
? 分布式数据库系统是数据库技术与网络技术相结
合的产物, 是应用于网络环境的数据库系统, 是
当前数据库系统应用最主要的一个方面 。
? 分布式数据库 (Distributed DataBase)简记为 DDB,
? 分布式数据库系统简记为 DDBS,
? 分布式数据库管理系统简记为 DDBMS。
第 11章 分布式数据库系统
? 11.1 集中式系统与分布式系统
? 11.2 分布式数据库系统
? 11.3 DDB的模式结构
? 11.4 分布式数据存储
? 11.5 DDBS的功能及组成
? 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.1 DDBS的定义
? 11.2.2 DDBS的特点
? 11.2.3 DDBS的优缺点
? 11.2.4 DDBS的分类
11.2.1 DDBS的定义
? 分布式系统是用通信网络连接起来的结点 (亦称为, 场
地, )的集合,每个结点都拥有一个集中式数据库系统。
? 定义 11.1 DDBS是指物理上分散逻辑上集中的数据库系
统,系统中的数据分布存放在计算机网络不同场地的计
算机中,每一场地都有自治处理 (即独立处理 )能力并能
完成局部应用,同时,每一场地也能通过网络通信子系
统执行 (至少一种 )全局应用。
? DDBS中有两个重要的组成部分是,分布式数据库 (DDB)
和分布式数据库管理系统 (DDBMS)。
11.2.2 DDBS的特点
? 四个基本特点,
? (1) 物理分布性
? (2) 逻辑整体性
? (3) 场地自治性
? (4) 场地之间协作性
? 四个导出特点,
? (5)数据独立性
? (6) 集中与自治相结合的控制机制
? (7) 适当增加数据冗余度
? (8) 事务管理的分布性
11.2.3 DDBS的优缺点
? 1.优点,
? (1)具有灵活的体系结构 。
? (2)适应分布式的管理和控制机构 。
? (3)经济性能优越。
? (4)系统的可靠性高, 可用性好 。
? (5)局部应用的响应速度快 。
? (6)系统可扩展性好。
? 2,DDBS的缺点
? (1)系统开销较大, 主要花在通信部分 。
? (2)存取结构复杂 (如辅助索引, 文件链接技术 )。
? (3)数据的安全性和保密性较难处理 。
11.2.4 DDBS的分类
? (1) 同构同质型 DDBS:各个场地采用同一类型
的数据模型 (如关系型 ),同一型号的 DBMS。
? (2) 同构异质型 DDBS:各个场地采用同一类型
的数据模型, 但 DBMS的型号不同, 如 DB2、
Oracle,Sybase,SQL Server等 。
? (3) 异构型 DDBS:各个场地的数据模型和 DDBS
的型号都不同。
11.3 DDB的模式结构
? 11.3.1 DDBS的模式结构图(图 11_3 )
? 11.3.2 六层模式结构
? 11.3.3 六层体系结构的特征
? 11.3.4 五层映像与分布透明性
11.3.1 DDBS的模式结构图
11.3.2 六层模式结构
? 1,全局外模式 (Global External Schema)可有多个, 是
全局应用的用户视图, 是全局概念模式的子集 。
? 2,全局概念模式 (Global Conceptual Schema)系统所有
数据的整体逻辑结构, 所有全局应用的公共数据视图
? 3,分片模式 (Fragmentation Schema)定义片段以及全
局关系与片段之间的映像 。
? 4,分布模式或称分配模式 (Allocation Schema)方案有,
集中式, 分割式, 全复制式, 混合式 。
? 5,局部概念模式 (Local Conceptual Schema)
? 6,局部内模式 (Local Internal Schema)
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 分布式数据存储
? 分布式数据库中数据存储可以从数据分片
(Data Fragmentation) 和 数 据 分 布 (Data
Allocation)两个角度考察 。
? 11.4.1 数据分片
? 11.4.2 数据分配
11.4.1 数据分片
? (1) 水平分片
? (2) 垂直分片
? (3) 导出分片
? (4) 混合分片
11.4.2 数据分配
? (1)集中式,所有数据片段都安排在同一个场地上 。
? (2)分割式,所有数据只有一份, 被分割成若干逻
辑片段, 每个逻辑片段被 分配到某 一个特定的场
地上, 片段没有副本,
? (3)全复制式,数据在每个场地重复存储, 每个场
地上都有一个完整的数据副本 。
? (4)混合式,介于分割式和全复制式间的分配方式。
? 评估因素四个,存储代价,可靠性,检索代价和
更新代价。
11.5 DDBS的功能及组成
? DDBMS是 DDBS的核心。
? 11.5.1 DDBS的组成
? 11.5.2 DDBMS的功能结构
11.5.1 DDBS的组成
计算机
GDBMS
LDBMS
计算机
GDBMS
LDBMS
计算机
GDBMS
LDBMS
局部用户
局部用户 局部用户
全局用户
全局用户 全局用户
LDD LDB
GDD GDB LDD LDB
网络 LDD LDB
GDD GDBGDD GDB
11.5.2 DDBMS的功能结构
11.6 分布式查询处理
? 在 DDBS中, 数据分布在各个场地, 因此查询
处理比集中式 DBS更复杂 。
? 11.6.1 查询代价分析
? 11.6.2 基干半联接的优化策略
? 11.6.3 基于联接的优化策略
11.7 客户机 /服务器系统( C/S)
? 11.7.1 C/S结构的工作模式
? 11.7.2 C/S应用程序的组成
? 11.7.3 C/S模式的体系结构
? 11.7.4 两层、三层和多层 C/S结构
? 11.7.5 C/S系统的并发控制与数据一致性
11.7.1 C/S结构的工作模式
客户机 服务器 数据库
数据请求
用户
处理结果
客户机的任务 服务器的任务
管理用户界面 接收来自客户机的数据库请求
接受用户数据 处理对数据库的请求
处理应用逻辑 格式化结果并传给客户机
生成数据库请求 进行完整性检查
向服务器发数据库请求 维护数据字典, 索引
从服务器接受结果 处理数据恢复
格式化结果 优化查询 /更新处理
11.7.2 C/S应用程序的组成
应用程序
界面
逻辑
应用
逻辑
事务
逻辑
数
据
管
理
GUI 3GL
4GL
SQL Oracle
DB2
终端 DB
Client端 Server端
11.7.3 C/S模式的体系结构
客户机 l 服务器 DB
用
户 中间件
11.7.4 两层、三层和多层 C/S结构
客户机 l
客户机 n
服务器 DB
第二层用户 第一层
用户 …
…
客户机 l
客户机 n
应用服务器 DB服务器
DB
第一层 第二层
用户
第三层
用户
…
…
11.7.4 两层、三层和多层 C/S结构
? 图 11_15 多层 C/S结构
WWW
浏览器
WWW
服务器
DB
服务器 DB用户
DB
用
户
WWW
浏览器
WWW
服务器
DB
服务器
中
间
件
? 图 11_14 WWW 三层 C/S结构
11.7.5 C/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, DDB
DDBMS,分布透明性, 数据分片, 水平分片, 垂直分
片, 数据分配, 分片透明性, 位置透明性, 局部数据模
型透明性 。
? 11.2 试叙述 DDB的六层模式结构, 五级映像及独立性
(或透明性 )?
? 11.3 C/S结构的基本原则是什么?客户机和服务器的任
务各是什么?
? 11.4解释 C/S结构两层模型, 三层模型, 多层模型 。
? 分布式数据库系统是数据库技术与网络技术相结
合的产物, 是应用于网络环境的数据库系统, 是
当前数据库系统应用最主要的一个方面 。
? 分布式数据库 (Distributed DataBase)简记为 DDB,
? 分布式数据库系统简记为 DDBS,
? 分布式数据库管理系统简记为 DDBMS。
第 11章 分布式数据库系统
? 11.1 集中式系统与分布式系统
? 11.2 分布式数据库系统
? 11.3 DDB的模式结构
? 11.4 分布式数据存储
? 11.5 DDBS的功能及组成
? 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.1 DDBS的定义
? 11.2.2 DDBS的特点
? 11.2.3 DDBS的优缺点
? 11.2.4 DDBS的分类
11.2.1 DDBS的定义
? 分布式系统是用通信网络连接起来的结点 (亦称为, 场
地, )的集合,每个结点都拥有一个集中式数据库系统。
? 定义 11.1 DDBS是指物理上分散逻辑上集中的数据库系
统,系统中的数据分布存放在计算机网络不同场地的计
算机中,每一场地都有自治处理 (即独立处理 )能力并能
完成局部应用,同时,每一场地也能通过网络通信子系
统执行 (至少一种 )全局应用。
? DDBS中有两个重要的组成部分是,分布式数据库 (DDB)
和分布式数据库管理系统 (DDBMS)。
11.2.2 DDBS的特点
? 四个基本特点,
? (1) 物理分布性
? (2) 逻辑整体性
? (3) 场地自治性
? (4) 场地之间协作性
? 四个导出特点,
? (5)数据独立性
? (6) 集中与自治相结合的控制机制
? (7) 适当增加数据冗余度
? (8) 事务管理的分布性
11.2.3 DDBS的优缺点
? 1.优点,
? (1)具有灵活的体系结构 。
? (2)适应分布式的管理和控制机构 。
? (3)经济性能优越。
? (4)系统的可靠性高, 可用性好 。
? (5)局部应用的响应速度快 。
? (6)系统可扩展性好。
? 2,DDBS的缺点
? (1)系统开销较大, 主要花在通信部分 。
? (2)存取结构复杂 (如辅助索引, 文件链接技术 )。
? (3)数据的安全性和保密性较难处理 。
11.2.4 DDBS的分类
? (1) 同构同质型 DDBS:各个场地采用同一类型
的数据模型 (如关系型 ),同一型号的 DBMS。
? (2) 同构异质型 DDBS:各个场地采用同一类型
的数据模型, 但 DBMS的型号不同, 如 DB2、
Oracle,Sybase,SQL Server等 。
? (3) 异构型 DDBS:各个场地的数据模型和 DDBS
的型号都不同。
11.3 DDB的模式结构
? 11.3.1 DDBS的模式结构图(图 11_3 )
? 11.3.2 六层模式结构
? 11.3.3 六层体系结构的特征
? 11.3.4 五层映像与分布透明性
11.3.1 DDBS的模式结构图
11.3.2 六层模式结构
? 1,全局外模式 (Global External Schema)可有多个, 是
全局应用的用户视图, 是全局概念模式的子集 。
? 2,全局概念模式 (Global Conceptual Schema)系统所有
数据的整体逻辑结构, 所有全局应用的公共数据视图
? 3,分片模式 (Fragmentation Schema)定义片段以及全
局关系与片段之间的映像 。
? 4,分布模式或称分配模式 (Allocation Schema)方案有,
集中式, 分割式, 全复制式, 混合式 。
? 5,局部概念模式 (Local Conceptual Schema)
? 6,局部内模式 (Local Internal Schema)
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 分布式数据存储
? 分布式数据库中数据存储可以从数据分片
(Data Fragmentation) 和 数 据 分 布 (Data
Allocation)两个角度考察 。
? 11.4.1 数据分片
? 11.4.2 数据分配
11.4.1 数据分片
? (1) 水平分片
? (2) 垂直分片
? (3) 导出分片
? (4) 混合分片
11.4.2 数据分配
? (1)集中式,所有数据片段都安排在同一个场地上 。
? (2)分割式,所有数据只有一份, 被分割成若干逻
辑片段, 每个逻辑片段被 分配到某 一个特定的场
地上, 片段没有副本,
? (3)全复制式,数据在每个场地重复存储, 每个场
地上都有一个完整的数据副本 。
? (4)混合式,介于分割式和全复制式间的分配方式。
? 评估因素四个,存储代价,可靠性,检索代价和
更新代价。
11.5 DDBS的功能及组成
? DDBMS是 DDBS的核心。
? 11.5.1 DDBS的组成
? 11.5.2 DDBMS的功能结构
11.5.1 DDBS的组成
计算机
GDBMS
LDBMS
计算机
GDBMS
LDBMS
计算机
GDBMS
LDBMS
局部用户
局部用户 局部用户
全局用户
全局用户 全局用户
LDD LDB
GDD GDB LDD LDB
网络 LDD LDB
GDD GDBGDD GDB
11.5.2 DDBMS的功能结构
11.6 分布式查询处理
? 在 DDBS中, 数据分布在各个场地, 因此查询
处理比集中式 DBS更复杂 。
? 11.6.1 查询代价分析
? 11.6.2 基干半联接的优化策略
? 11.6.3 基于联接的优化策略
11.7 客户机 /服务器系统( C/S)
? 11.7.1 C/S结构的工作模式
? 11.7.2 C/S应用程序的组成
? 11.7.3 C/S模式的体系结构
? 11.7.4 两层、三层和多层 C/S结构
? 11.7.5 C/S系统的并发控制与数据一致性
11.7.1 C/S结构的工作模式
客户机 服务器 数据库
数据请求
用户
处理结果
客户机的任务 服务器的任务
管理用户界面 接收来自客户机的数据库请求
接受用户数据 处理对数据库的请求
处理应用逻辑 格式化结果并传给客户机
生成数据库请求 进行完整性检查
向服务器发数据库请求 维护数据字典, 索引
从服务器接受结果 处理数据恢复
格式化结果 优化查询 /更新处理
11.7.2 C/S应用程序的组成
应用程序
界面
逻辑
应用
逻辑
事务
逻辑
数
据
管
理
GUI 3GL
4GL
SQL Oracle
DB2
终端 DB
Client端 Server端
11.7.3 C/S模式的体系结构
客户机 l 服务器 DB
用
户 中间件
11.7.4 两层、三层和多层 C/S结构
客户机 l
客户机 n
服务器 DB
第二层用户 第一层
用户 …
…
客户机 l
客户机 n
应用服务器 DB服务器
DB
第一层 第二层
用户
第三层
用户
…
…
11.7.4 两层、三层和多层 C/S结构
? 图 11_15 多层 C/S结构
WWW
浏览器
WWW
服务器
DB
服务器 DB用户
DB
用
户
WWW
浏览器
WWW
服务器
DB
服务器
中
间
件
? 图 11_14 WWW 三层 C/S结构
11.7.5 C/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, DDB
DDBMS,分布透明性, 数据分片, 水平分片, 垂直分
片, 数据分配, 分片透明性, 位置透明性, 局部数据模
型透明性 。
? 11.2 试叙述 DDB的六层模式结构, 五级映像及独立性
(或透明性 )?
? 11.3 C/S结构的基本原则是什么?客户机和服务器的任
务各是什么?
? 11.4解释 C/S结构两层模型, 三层模型, 多层模型 。