第九章 分布式数据库系统 distributed database system ddbs
DESCRIPTION
第九章 分布式数据库系统 Distributed Database System DDBS. 分布式数据库 逻辑上是一个统一的数据库系统 物理上分散在不同的场地(节点) 各场地通过计算机网络连接在一起 统一由一个分布式数据库管理系统 ( DDBMS ) 管理 特点 分布性: 数据的分布性 事务的分布性 协调性:逻辑上整体、具整体完整性约束. 局部数据库( LDB ) 分散在各个场地的数据库是局部数据库( LDB ) 本身是一个完整的数据库系统,具有本地真实的数据库、本地用户、本地 DBMS 全局数据库( GDB ) 是一组局部数据库的集合 - PowerPoint PPT PresentationTRANSCRIPT
第九章 分布式数据库系统Distributed Database System
DDBS
2
• 分布式数据库– 逻辑上是一个统一的数据库系统– 物理上分散在不同的场地(节点)– 各场地通过计算机网络连接在一起– 统一由一个分布式数据库管理系统 ( DDBMS )管理
• 特点– 分布性:
• 数据的分布性• 事务的分布性
– 协调性:逻辑上整体、具整体完整性约束
3
• 局部数据库( LDB )– 分散在各个场地的数据库是局部数据库( L
DB )– 本身是一个完整的数据库系统,具有本地真实的数据库、本地用户、本地 DBMS
• 全局数据库( GDB )– 是一组局部数据库的集合
• 一组数据库系统的集合• 是一个逻辑数据库(虚拟的)
4
• 数据的分布性– 分布式数据存储
• 复制• 分片• 复制 + 分片
– 数据的冗余• 提高数据的可用性、并发性、减少网络传输• 增加了数据更新的开销,副本一致性问题
5
• 事务的分布性– 局部事务
• 仅访问当地数据库的事务– 全局事务
• 需访问其他场地数据库的事务
6
• 分布式数据库环境下的访问代价– 磁盘读写– 网络传输
• 分布式数据库的目标– 部门组织分布,降低成本– 数据资源共享,提高数据库的利用率
7
• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库
8
• 全局外模式– 全局应用的用户视图,全局概念模式的子集
• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库
9
• 全局外模式• 全局概念模式
– 是全局概念视图– 全局概念模式名、属性名、域
• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库
10
• 全局外模式• 全局概念模式• 分片模式
– 定义分片片段以及全局关系到片段的映象– 是一对多的,一个全局关系可对应多个片段,一个片段只来自全局关系
• 分布模式• 局部概念模式• 局部内模式• 局部数据库
11
• 全局外模式• 全局概念模式• 分片模式• 分布模式
– 分片的物理分配视图• 局部概念模式• 局部内模式• 局部数据库
12
• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式
– 局部数据库中的概念模型,关于本地数据库的描述– 如果局部数据库中还有独立应用,则应有局部外模式,提供给本地应用使用
• 局部内模式• 局部数据库
13
• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式
– 局部数据库的物理描述• 局部数据库
14
• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库
– 本地的局部数据库
15
• 分布式数据储存– 复制
• 多个副本储存在多个节点• 数据可用性• 并行度的增加• 冗余
– 分片• 水平分片: r1 r2∪• 垂直分片 : r1 × r2
– 复制和分片• 分片的要求
– 完备性– 可重构性:垂直分片含主码属性
16
• 分布的透明性– 数据项的命名
• 别名—真实名字的映射• 物理位置透明
– 数据项的复制• 副本的表示• site17.account.f3.r2
– 数据项的分片• 由优化器实现分片的连接
– 由分片表和副本表实现片段和副本的位置透明性– 分片与副本的数据更新
• 方案– 生成全局数据字典(数据目录),管理透明映射
• 由全局 DBA 管理、维护
17
网络
LDB
LDBMSGDBMS
CM
全局数据字典
LDB
CMGDBMSLDBMS
全局数据字典
LDB
CMGDBMSLDBMS
全局数据字典
DDBMS 的结构
18
• 全局数据字典– 存放数据概念模式、分片模式、分布模式的定义及各模式之间映象的定义– 存放有关用户存取权限的定义– 存放数据完整性约束条件的定义
19
• 分布式数据库的基本原则– 对用户(最终用户、程序员)来说,一个分布式系统应该看起来完全象一个非分布式系统
20
• 分布式事务模型– 事务的 ACID– 局部事务、全局事务– 局部事务管理器
• 保证本地节点上执行的事务的 ACID• 本次事务可能是全局事务的一部分• 维护一个易于恢复的日志• 参与适当的并发控制
– 事务协调器• 协调该节点上发起的事务(全局或局部)的执行• 启动事务的执行• 分发事务• 协调事务的终止(在所有节点上提交或中止)
21
TC1 TCn
TMnTM1 事务管理器
事务协调器
22
• 故障– 节点故障– 消息丢失– 网络故障
23
• 提交– 原子性
• 事务 T 必须要么在所有节点上提交,要么在所有节点上都中止–两阶段提交–三阶段提交
24
• 两阶段提交–阶段 1 (决定阶段)
• 协调器 prepare T• 节点事务管理器 ready T 或 abort T
–阶段 2 (执行阶段)•收到有一个 abort T , 则 abort T•收到所有 ready T , 则 commit T• 节点 commit T 并写 Log后,发出 acknowledge
T•收到所有 acknowledge ,则 complete T
–阻塞:• 协调器发出 prepare T 后故障,处于不定状态
–双方针对超时均可重发
25
–三阶段提交•阶段 1
– 同两阶段方式•阶段 2
–收到有一个 abort T , 则 abort T–收到所有 ready T , 则 precommit T– 节点 precommit T 之后,写 Log ,发出 acknowledge T
•阶段 3–收到所有 ack ,则 commit T – 节点 commit 后,发出 ack T–收到所有 ack T后, complete T
• 恢复– 只要有一个具有 commit T, 则提交– 只要有一个 precommit T,已 ready T ,可提交–都没有收到 precommit T ,则回滚
26
• 协议的比较– 两阶段提交
• 有阻塞的可能,使用较广– 三阶段提交
• 对于网络链路故障的处理能力偏弱
27
• 分布系统的实现– 数据存取中间件
• 数据分布的描述• 用户可透明地使用数据
– 数据复制 / 同步技术• 数据更新在多副本中的一致
– 事务分布 ???
28
• Sybase Enterprise Connect• 数据库互联与复制解决方案• 提供在同 / 异构数据源中进行分布事务复制、位置透明、与应用独立的数据存取功能• 集成
– Repliaction Server / Replication Agent– Jconnect– OpenServer/OpenClient– OmniConnect / DirectConnect
SQL RemoteASA 联机用户
ASA 远程移动用户
ASA/ASE 企业数据
ASA 的远程工作组( 办事处 1)
总部
SQLRemote
SQLRemote
SQLRemote
复制服务器
ASA 的远程工作组( 办事处 2)
30
Adaptive Server Enterprise /IQReplication
AgentsReplication
Server
DirectCONNECTOmniCONNECT
DB2AS/400ORACLEODBC/DRDA
Adaptive Server EnterpriseAdaptive Server AnywhereOracleInformixMicrosoft SQL ServerOS/390 DB2Replication Toolkit for MVSIMS/VSAMIMS/VSAM
移动用户SASA
复制点
Adaptive Server Anywhere
SQL
Remote
Sybase Enterprise Event Broker
SEESEEBB
主点
31
Replication Agents for A
Replication Server
DirectConnect for ADatabase A
Data Server A
Replication Server
Replication Agents for BDatabase B
Data Server B
DirectConnect for B
32
33
34
35
36