第九章 分布式数据库系统 distributed database system ddbs

36
第第第 第第第第第第第Distributed Database S ystem DDBS

Upload: edison

Post on 16-Mar-2016

217 views

Category:

Documents


12 download

DESCRIPTION

第九章 分布式数据库系统 Distributed Database System DDBS. 分布式数据库 逻辑上是一个统一的数据库系统 物理上分散在不同的场地(节点) 各场地通过计算机网络连接在一起 统一由一个分布式数据库管理系统 ( DDBMS ) 管理 特点 分布性: 数据的分布性 事务的分布性 协调性:逻辑上整体、具整体完整性约束. 局部数据库( LDB ) 分散在各个场地的数据库是局部数据库( LDB ) 本身是一个完整的数据库系统,具有本地真实的数据库、本地用户、本地 DBMS 全局数据库( GDB ) 是一组局部数据库的集合 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第九章 分布式数据库系统 Distributed Database System DDBS

第九章 分布式数据库系统Distributed Database System

DDBS

Page 2: 第九章 分布式数据库系统 Distributed Database System DDBS

2

• 分布式数据库– 逻辑上是一个统一的数据库系统– 物理上分散在不同的场地(节点)– 各场地通过计算机网络连接在一起– 统一由一个分布式数据库管理系统 ( DDBMS )管理

• 特点– 分布性:

• 数据的分布性• 事务的分布性

– 协调性:逻辑上整体、具整体完整性约束

Page 3: 第九章 分布式数据库系统 Distributed Database System DDBS

3

• 局部数据库( LDB )– 分散在各个场地的数据库是局部数据库( L

DB )– 本身是一个完整的数据库系统,具有本地真实的数据库、本地用户、本地 DBMS

• 全局数据库( GDB )– 是一组局部数据库的集合

• 一组数据库系统的集合• 是一个逻辑数据库(虚拟的)

Page 4: 第九章 分布式数据库系统 Distributed Database System DDBS

4

• 数据的分布性– 分布式数据存储

• 复制• 分片• 复制 + 分片

– 数据的冗余• 提高数据的可用性、并发性、减少网络传输• 增加了数据更新的开销,副本一致性问题

Page 5: 第九章 分布式数据库系统 Distributed Database System DDBS

5

• 事务的分布性– 局部事务

• 仅访问当地数据库的事务– 全局事务

• 需访问其他场地数据库的事务

Page 6: 第九章 分布式数据库系统 Distributed Database System DDBS

6

• 分布式数据库环境下的访问代价– 磁盘读写– 网络传输

• 分布式数据库的目标– 部门组织分布,降低成本– 数据资源共享,提高数据库的利用率

Page 7: 第九章 分布式数据库系统 Distributed Database System DDBS

7

• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库

Page 8: 第九章 分布式数据库系统 Distributed Database System DDBS

8

• 全局外模式– 全局应用的用户视图,全局概念模式的子集

• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库

Page 9: 第九章 分布式数据库系统 Distributed Database System DDBS

9

• 全局外模式• 全局概念模式

– 是全局概念视图– 全局概念模式名、属性名、域

• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库

Page 10: 第九章 分布式数据库系统 Distributed Database System DDBS

10

• 全局外模式• 全局概念模式• 分片模式

– 定义分片片段以及全局关系到片段的映象– 是一对多的,一个全局关系可对应多个片段,一个片段只来自全局关系

• 分布模式• 局部概念模式• 局部内模式• 局部数据库

Page 11: 第九章 分布式数据库系统 Distributed Database System DDBS

11

• 全局外模式• 全局概念模式• 分片模式• 分布模式

– 分片的物理分配视图• 局部概念模式• 局部内模式• 局部数据库

Page 12: 第九章 分布式数据库系统 Distributed Database System DDBS

12

• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式

– 局部数据库中的概念模型,关于本地数据库的描述– 如果局部数据库中还有独立应用,则应有局部外模式,提供给本地应用使用

• 局部内模式• 局部数据库

Page 13: 第九章 分布式数据库系统 Distributed Database System DDBS

13

• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式

– 局部数据库的物理描述• 局部数据库

Page 14: 第九章 分布式数据库系统 Distributed Database System DDBS

14

• 全局外模式• 全局概念模式• 分片模式• 分布模式• 局部概念模式• 局部内模式• 局部数据库

– 本地的局部数据库

Page 15: 第九章 分布式数据库系统 Distributed Database System DDBS

15

• 分布式数据储存– 复制

• 多个副本储存在多个节点• 数据可用性• 并行度的增加• 冗余

– 分片• 水平分片: r1 r2∪• 垂直分片 : r1 × r2

– 复制和分片• 分片的要求

– 完备性– 可重构性:垂直分片含主码属性

Page 16: 第九章 分布式数据库系统 Distributed Database System DDBS

16

• 分布的透明性– 数据项的命名

• 别名—真实名字的映射• 物理位置透明

– 数据项的复制• 副本的表示• site17.account.f3.r2

– 数据项的分片• 由优化器实现分片的连接

– 由分片表和副本表实现片段和副本的位置透明性– 分片与副本的数据更新

• 方案– 生成全局数据字典(数据目录),管理透明映射

• 由全局 DBA 管理、维护

Page 17: 第九章 分布式数据库系统 Distributed Database System DDBS

17

网络

LDB

LDBMSGDBMS

CM

全局数据字典

LDB

CMGDBMSLDBMS

全局数据字典

LDB

CMGDBMSLDBMS

全局数据字典

DDBMS 的结构

Page 18: 第九章 分布式数据库系统 Distributed Database System DDBS

18

• 全局数据字典– 存放数据概念模式、分片模式、分布模式的定义及各模式之间映象的定义– 存放有关用户存取权限的定义– 存放数据完整性约束条件的定义

Page 19: 第九章 分布式数据库系统 Distributed Database System DDBS

19

• 分布式数据库的基本原则– 对用户(最终用户、程序员)来说,一个分布式系统应该看起来完全象一个非分布式系统

Page 20: 第九章 分布式数据库系统 Distributed Database System DDBS

20

• 分布式事务模型– 事务的 ACID– 局部事务、全局事务– 局部事务管理器

• 保证本地节点上执行的事务的 ACID• 本次事务可能是全局事务的一部分• 维护一个易于恢复的日志• 参与适当的并发控制

– 事务协调器• 协调该节点上发起的事务(全局或局部)的执行• 启动事务的执行• 分发事务• 协调事务的终止(在所有节点上提交或中止)

Page 21: 第九章 分布式数据库系统 Distributed Database System DDBS

21

TC1 TCn

TMnTM1 事务管理器

事务协调器

Page 22: 第九章 分布式数据库系统 Distributed Database System DDBS

22

• 故障– 节点故障– 消息丢失– 网络故障

Page 23: 第九章 分布式数据库系统 Distributed Database System DDBS

23

• 提交– 原子性

• 事务 T 必须要么在所有节点上提交,要么在所有节点上都中止–两阶段提交–三阶段提交

Page 24: 第九章 分布式数据库系统 Distributed Database System DDBS

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 后故障,处于不定状态

–双方针对超时均可重发

Page 25: 第九章 分布式数据库系统 Distributed Database System DDBS

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 ,则回滚

Page 26: 第九章 分布式数据库系统 Distributed Database System DDBS

26

• 协议的比较– 两阶段提交

• 有阻塞的可能,使用较广– 三阶段提交

• 对于网络链路故障的处理能力偏弱

Page 27: 第九章 分布式数据库系统 Distributed Database System DDBS

27

• 分布系统的实现– 数据存取中间件

• 数据分布的描述• 用户可透明地使用数据

– 数据复制 / 同步技术• 数据更新在多副本中的一致

– 事务分布 ???

Page 28: 第九章 分布式数据库系统 Distributed Database System DDBS

28

• Sybase Enterprise Connect• 数据库互联与复制解决方案• 提供在同 / 异构数据源中进行分布事务复制、位置透明、与应用独立的数据存取功能• 集成

– Repliaction Server / Replication Agent– Jconnect– OpenServer/OpenClient– OmniConnect / DirectConnect

Page 29: 第九章 分布式数据库系统 Distributed Database System DDBS

SQL RemoteASA 联机用户

ASA 远程移动用户

ASA/ASE 企业数据

ASA 的远程工作组( 办事处 1)

总部

SQLRemote

SQLRemote

SQLRemote

复制服务器

ASA 的远程工作组( 办事处 2)

Page 30: 第九章 分布式数据库系统 Distributed Database System DDBS

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

主点

Page 31: 第九章 分布式数据库系统 Distributed Database System DDBS

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

Page 32: 第九章 分布式数据库系统 Distributed Database System DDBS

32

Page 33: 第九章 分布式数据库系统 Distributed Database System DDBS

33

Page 34: 第九章 分布式数据库系统 Distributed Database System DDBS

34

Page 35: 第九章 分布式数据库系统 Distributed Database System DDBS

35

Page 36: 第九章 分布式数据库系统 Distributed Database System DDBS

36