第 11 章 分布式数据库系统

44
第 11 第 第第第第第第第

Upload: makya

Post on 15-Jan-2016

174 views

Category:

Documents


0 download

DESCRIPTION

第 11 章 分布式数据库系统. 本章主要内容. ( 1 )分布计算的三种形式:处理分布,数据分布,功能分布。 ( 2 ) C/S 系统,工作模式,技术特征,体系结构,两层、三层、多层 C/S 结构。 ( 3 ) DDBS 的定义、特点、优点、缺点和分类;分布式数据存储的两种形式(分片和分配)。 ( 4 ) DDB 的体系结构:六层模式,分布透明性的三个层次, DDBS 的组成, DDBMS 的功能和组成。 ( 5 )分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。 ( 6 )分布式数据库的并发控制和恢复中出现的问题,以及处理机制。. 前言. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 11 章 分布式数据库系统

第 11 章 分布式数据库系统

Page 2: 第 11 章 分布式数据库系统

本章主要内容

( 1 )分布计算的三种形式:处理分布,数据分布,功能分布。( 2 ) C/S 系统,工作模式,技术特征,体系结构,两层、三

层、多层 C/S 结构。( 3 ) DDBS 的定义、特点、优点、缺点和分类;分布式数

据存储的两种形式(分片和分配)。( 4 ) DDB 的体系结构:六层模式,分布透明性的三个层次,

DDBS 的组成, DDBMS 的功能和组成。( 5 )分布式查询处理的查询代价,基于半联接的优化策略,

基于联接的优化策略。( 6 )分布式数据库的并发控制和恢复中出现的问题,以及处

理机制。

Page 3: 第 11 章 分布式数据库系统

前言随着传统的数据库技术日趋成熟、计算机网络技术的

飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足: 数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;

应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;

集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。

在这种形势下,集中式 DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。本章将分别介绍这两种技术。

Page 4: 第 11 章 分布式数据库系统

11.1 集中计算与分布计算(一) “ 集中计算”概念

用户 终端 主机DB∫ ∫

存取请求

通信线路 处理结果

Page 5: 第 11 章 分布式数据库系统

11.1 集中计算与分布计算(二) “ 分布计算”概念 ① 处理分布 ② 数据分布 ③ 功能分布

Page 6: 第 11 章 分布式数据库系统

11.1 集中计算与分布计算(三)

客户机/服务器系统的结构

用户 客户机 服务器DB

∫ ∫数据请求

处理结果

Page 7: 第 11 章 分布式数据库系统

11.2.1 C/S 系统的计算模式 ① C / S 结构的工作模式 ② C / S 环境下应用成分的分布 ③ C / S 主要技术特征

Page 8: 第 11 章 分布式数据库系统

11.2.2 C / S 系统的体系结构① 服务器 ② 客户机 ③ 中间件

Page 9: 第 11 章 分布式数据库系统

11.2.3 C / S 结构的演变(一) 两层 C / S 结构

DB服务器……

客户机1

客户机N

用户

用户

第一层 第二层

Page 10: 第 11 章 分布式数据库系统

11.2.3 C / S 结构的演变(二) 三层 C / S 结构

DB应用服务器……

客户机1

客户机N

用户1

用户N

第一层 第二层

DB服务器

第三层

用户 WWW浏览器 WWW服务器 DB服务器DB

Page 11: 第 11 章 分布式数据库系统

11.2.3 C / S 结构的演变(三) 多层 C / S 结构

用户 WWW浏览器 Web服务器 DB服务器DB中间件

Page 12: 第 11 章 分布式数据库系统

11.2.4 网络服务器的类型① DB 服务器② 文件服务器③ 事务服务器 ④ 文档服务器 ⑤ Web 服务器 ⑥ 电子邮件服务器 ⑦ 其他应用服务器

Page 13: 第 11 章 分布式数据库系统

11.3 分布式数据库系统概述随着传统的数据库技术日趋成熟、计算机网络技术的飞速

发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。

分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于 20 世纪 70 年代中期。世界上第一个分布式数据库系统 SDD-1 是由美国计算机公司( CCA )于 1979 年在 DEC 计算机上实现。

20 世纪 90 年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机/服务器模式发展。

Page 14: 第 11 章 分布式数据库系统

11.3.1 从集中式、分散式到分布式 随着数据库应用的不断发展,规模的不断扩大,逐渐感觉

到集中式系统也有不便之处。如大型 DBS 的设计和操作都比较复杂,系统显得不灵活并且安全性也较差。因此,采用将数据分散的方法,把数据库分成多个,建立在多台计算机上,这种系统称为分散式系统。在这种系统中,数据库的管理、应用程序的研制等都是分开并相互独立,它们之间不存在数据通信联系。

由于计算机网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来,这样形成的系统称为分布式数据库系统( DDBS )。 DDBS 兼有集中式和分散式的优点。这种系统有多台计算机组成,各计算机之间由通信网络相互连接着。

Page 15: 第 11 章 分布式数据库系统

11.3.2 DDBS 的定义 分布式系统是用通信网络连接起来的结点(亦称为“场

地”)的集合,每个结点都是拥有集中式数据库的计算机系统。

定义 11.1 DDBS 是物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(即独立处理)能力并能完成局部应用,而每一场地也参与(至少一种)全局应用,程序通过网络通信子系统执行全局应用。

定义 11.2 DDB 是计算机网络环境中各场地上数据库的逻辑集合。

定义 11.3 DDBMS 是 DDBS 中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性和完备性。

Page 16: 第 11 章 分布式数据库系统

11.3.3 DDBS 的特点和优缺点(一) DDBS 的基本特点 ① 物理分布性:数据不是存储在一个场地上,而是存储在

计算机网络的多个场地上。② 逻辑整体性:数据物理分布在各个场地,但逻辑上是一

个整体,它们被所有用户(全局用户)共享,并由一个DDBMS 统一管理。

③ 场地自治性:各场地上的数据由本地的 DBMS 管理,具有自治处理能力,完成本场地的应用(局部应用)。

④ 场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。

Page 17: 第 11 章 分布式数据库系统

11.3.3 DDBS 的特点和优缺点(二) DDBS 的其他特点① 数据独立性 ② 集中与自治相结合的控制机制 ③ 适当增加数据冗余度 ④ 事务管理的分布性

Page 18: 第 11 章 分布式数据库系统

11.3.3 DDBS 的特点和优缺点(三) DDBS 的优点 ① 具有灵活的体系结构 ② 适应分布式的管理和控制机构 ③ 经济性能优越 ④ 系统的可靠性高、可用性好 ⑤ 局部应用的响应速度快 ⑥ 可扩展性好,易于集成现有的系统

Page 19: 第 11 章 分布式数据库系统

11.3.3 DDBS 的特点和优缺点(四) DDBS 的缺点 ① 系统开销较大,主要花在通信部分 。② 复杂的存取结构(如辅助索引、文件的链接技术),在集中式 DBS 中是有效存取数据的重要技术,但在分布式系统中不一定有效。

③ 数据的安全性和保密性较难处理。

Page 20: 第 11 章 分布式数据库系统

11.3.4 DDBS 的分类

① 同构同质型 DDBS : 各个场地都采用同一类型的数据模型(譬如

都是关系型),并且是同一型号的 DBMS 。② 同构异质型 DDBS : 各个场地采用同一类型的数据模型,但是

DBMS 的型号不同,譬如 DB2 、 ORACLE 、 SYBASE 、SQL Server 等。

③ 异构型 DDBS : 各个场地的数据模型的型号不同,甚至类型

也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型 DDBS就能存取全网中各种异构局部库中的数据。

Page 21: 第 11 章 分布式数据库系统

11.4.1 数据分片(一)① 水平分片 按一定的条件把全局关系的所有元组划分成若干

不相交的子集,每个子集为关系的一个片段。② 垂直分片 把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。

③ 导出分片 又称为导出水平分片,即水平分片的条件不是本

关系属性的条件,而是其他关系属性的条件。④ 混合分片 以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。

Page 22: 第 11 章 分布式数据库系统

11.4.1 数据分片(二)① 完备性条件 必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。

② 可重构条件 必须保证能够由同一个全局关系的各个片

段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。

③ 不相交条件 要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。

Page 23: 第 11 章 分布式数据库系统

水平分片事例 例: 下图所示的工程管理数据库事例中关系PROJ按工程所在地LOC属性值进行划分。其

水平分片为:PROJ1 = σLOC =” Montreal” ( PROJ )PROJ2 = σLOC =” New York” ( PROJ )PROJ3 = σLOC =” Paris” ( PROJ )其水平划分的分片如图所示。

PNO PNAME BUDGET LOC

P1 Instrumentation 150000 Montreal

P2 Database Develop.

135000 New York

P3 CAD/CAM 250000 New York

P4 Maintenance 310000 Paris

PROJ

  PROJ1

PNO PNAME BUDGET LOC

P1 Instrumentation 150000 Montreal

PROJ2

PNO PNAME BUDGET LOC

P2 Database Develop. 135000 New York

P3 CAD/CAM 250000 New York

PNO PNAME BUDGET LOC

P4 Maintenance 310000 Paris

PROJ3

Page 24: 第 11 章 分布式数据库系统

垂直分片事例 例 : 工程管理数据库事例中关系 PROJ(PNO,PNAME,BUDGET,LOC)

划分成两个子关系:一个包括工程预算信息,即对 BUDGET 属性感兴趣;一个包括工程信息,对 PNAME 、 LOC 属性感兴趣。为了保证划分后重构,可将 PNO 作为公共属性分别包括在这二个分片中。这样 PROJ 可划分为:

PROJ1 = ΠPNO,BUDGET ( PROJ ) PROJ2 = ΠPNO,PNAME,LOC ( PROJ )其垂直划分的分片如图所示。

  PROJ1 PNO BUDGET

P1 150000

P2 135000

P3 250000

P4 310000

PROJ2

PNO PNAME LOC

P1 Instrumentation Montreal

P2 Database Develop. New York

P3 CAD/CAM New York

P4 Maintenance Paris

PNO PNAME BUDGET LOC

P1 Instrumentation 150000 MontrealP2 Database

Develop.135000 New York

P3 CAD/CAM 250000 New YorkP4 Maintenance 310000 Paris

PROJ

Page 25: 第 11 章 分布式数据库系统

诱导分片事例

例 : 工程管理数据库事例中关系 PROJ 按工程所在地 LOC 属性值进行 水平划分为: PROJ1 = σLOC =” Montreal” ( PROJ ) PROJ2 = σLOC =” New York” ( PROJ ) PROJ3 = σLOC =” Paris” ( PROJ ) 则使有关联的 ASG 产生诱导划分,其诱导分片为: ASG1 = ASG⋉PROJ1 = ASG⋉σLOC =” Montreal” ( PROJ ) =∏ ENO,PNO,DESP,DUR(ASG⋈σLOC =” Montreal” ( PROJ ) )

= ASG (⋈ ∏PNO ( σLOC =” Montreal” ( PROJ )) 同理: ASG2 = ASG⋉PROJ2 =∏ ENO,PNO,DESP,DUR(ASG⋈σLOC =” New York”(PROJ))

ASG3= ASG⋉PROJ2==∏ ENO,PNO,DESP,DUR(ASG⋈σLOC =” Paris”(PROJ)) 其诱导划分的分片如图所示。

Page 26: 第 11 章 分布式数据库系统

PNO PNAME BUDGET LOC

P1 Instrumentation 150000 MontrealP2 Database

Develop.135000 New York

P3 CAD/CAM 250000 New YorkP4 Maintenance 310000 Paris

  PROJ

ASG

ENO PNO DESP DUR

E1 P1 Manager 12

E2 P1 Analyst 24

E2 P2 Analyst 6

E3 P3 Consultant 10

E3 P4 Engineer 48

E4 P2 Programmer 18

E5 P2 Manager 24

E6 P4 Manager 48

E7 P3 Engineer 36

E8 P3 Manager 40

ASG1

ENO PNO DESP DUR

E1 P1 Manager 12E2 P1 Analyst 24

ENO PNO DESP DUR

E2 P2 Analyst 6E3 P3 Consultant 10

E4 P2 Programmer 18

E5 P2 Manager 24E7 P3 Engineer 36E8 P3 Manager 40

ASG2

ENO PNO DESP DUR

E3 P4 Engineer 48E6 P4 Manager 48

ASG3

  PROJ1

PNO PNAME BUDGET LOC

P1 Instrumentation 150000 Montreal

PROJ2

PNO PNAME BUDGET LOC

P2 Database Develop. 135000 New York

P3 CAD/CAM 250000 New York

PNO PNAME BUDGET LOC

P4 Maintenance 310000 Paris

PROJ3

Page 27: 第 11 章 分布式数据库系统

混合分片事例

  PROJ1

PNO BUDGET

P1 150000P2 135000P3 250000P4 310000

(a) 先垂直分片

PNO PNAME BUDGET LOC

P1 Instrumentation 150000 MontrealP2 Database Develop. 135000 New York

P3 CAD/CAM 250000 New YorkP4 Maintenance 310000 Paris

全局关系 PROJ

PROJ2

PROJ3

PROJ4

(b) 后水平分片

PNO PNAME LOC

P1 Instrumentation Montreal

PNO PNAME LOC

P2 Database Develop. New York

P3 CAD/CAM New York

PNO PNAME LOC

P4 Maintenance Paris

Page 28: 第 11 章 分布式数据库系统

混合分片重构

关系 R 的混合分片

R

R1R2

R11 R12 R21 R23

H H

V

R22

V VV

V

R11 R12 R21 R23R22

关系 R 的重构

Page 29: 第 11 章 分布式数据库系统

11.4.2 数据分配

① 集中式 所有数据片段都安排在同一个场地上。 ② 分割式 所有数据只有一份,它被分割成若干逻辑片

段,每个逻辑片段被指派在一个特定的场地上。 ③ 全复制式 数据在每个场地重复存储。也就是每个场地

上都有一个完整的数据副本。④ 混合式 这是一种介乎于分割式和全复制式之间的分配

方式。

Page 30: 第 11 章 分布式数据库系统

11.5 分布式数据库的体系结构全局外部级 全局外模式 ¡ ¡ 全局外模式

全局概念级 全局概念模式

分片级 分片模式 ¡ ¡ 分片模式 分片模式

分配级 分配模式

分配模式

分配模式¡ ¡

局部内部级

局部概念级 局部概念模式

局部内模式

局部概念模式 局部概念模式

局部内模式 局部内模式

局部数据库

局部数据库

局部数据库

映象1

分布式数据库增加部分

集中式数据库原有部分

映象2

映象3

映象5

映象4

Page 31: 第 11 章 分布式数据库系统

11.5.1 体系结构(一)① 全局外模式 ② 全局概念模式③ 分片模式④ 分配模式⑤ 局部概念模式⑥ 局部内部式

Page 32: 第 11 章 分布式数据库系统

11.5.1 体系结构(二)

R1

R2

R3

R4

R

R11

R21S1(场地1)

R12

R22S2(场地2)

R23

R33

R43

S3(场地3)

全局关系 逻辑片段

物理映象

Page 33: 第 11 章 分布式数据库系统

11.5.1 体系结构(三)

① 数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。

② 数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。

③ 局部 DBMS 的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部 DBMS专用数据模型的情况下,研究 DDB 管理的有关问题。

Page 34: 第 11 章 分布式数据库系统

11.5.2 分布透明性(一)分布透明性

集中式DB原有的结构

分布式DB增加的结构

集中式DB原有的结构

分布式DB增加的结构

数据库

局部内模式

局部概念模式

分配模式

分片模式

全局概念模式

全局外模式

用户(全局应用)

数据库

局部内模式

局部概念模式

分配模式

分片模式

全局概念模式

全局外模式

用户(全局应用)

映象5:(物理数据独立性)

映象4:局部数据模型透明性

映象3:位置透明性

映象2:分片透明性

映象1:(逻辑数据独立性)

映象5:(物理数据独立性)

映象4:局部数据模型透明性

映象3:位置透明性

映象2:分片透明性

映象1:(逻辑数据独立性)

Page 35: 第 11 章 分布式数据库系统

11.5.2 分布透明性(二)① 分片透明性 ② 位置透明性③ 局部数据模型透明性

Page 36: 第 11 章 分布式数据库系统

11.5.3 分布式数据库管理系统 (一) DDBS 的组成框架 全局用户

GDD GDB

局部用户

全局用户局部用户

计算机

GDBMS

LDBMS

计算机

GDBMS

LDBMS

计算机

LDBMS

GDBMS

LDD LDB

LDD LDB GDD GDB

网络

全局用户

GDD GDB

局部用户

LDD LDB

Page 37: 第 11 章 分布式数据库系统

11.5.3 分布式数据库管理系统 (二)① 接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。

② 访问网络数据字典,了解如何请求和使用其中的信息。

③ 如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。

④ 通信接口功能。在用户、局部 DBMS 和其他计算机的 DBMS 之间进行协调。

⑤ 在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在着差别。

Page 38: 第 11 章 分布式数据库系统

11.5.3 分布式数据库管理系统 (三)

用户查询

查询分析

优化算法

完整性处理模块

调度处理模块LDBMS

计算机

可靠性处理模块

DB

系统DB

网络

查询处理模块

分布策略

错误

对网络的监视信息数据

局部处理命令

数据定位

实际的数据

需要的数据

Page 39: 第 11 章 分布式数据库系统

11.5.4 基于半联接的优化策略(一)

数据在网络中传输时,都是以整个关系(也可以是片段)传输,显然这是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都参与联接操作或都有用。因此,不参与联接的数据或无用的数据不必在网络中来回传输。这个思想引出了基于半联接的优化策略。

这个方法的基本原理是采用半联接操作,在网络中只传输参与联接的数据。

Page 40: 第 11 章 分布式数据库系统

11.5.4 基于半联接的优化策略(二)

假设关系 R 在场地 1 ,关系 S 在场地 2 ,在场地 2 需要获得 R⋈S 的结果。如果在场地 2 直接计算 R⋈ S 的值,那么需要先把关系 R 从场地 1 传输到场地 2 ,其执行示意图见图 11.16 。显然,传输 R 的数据量较大。

可以采用半联接方法计算联接操作的值。方法如下 ( 设 R 和 S 的公共属性为 B) :

R⋈ S = ( R ⋈ πB ( S ))⋈ S = ( R ⋉ S )⋈ S

等式右边的式子称为“半联接程序”。

Page 41: 第 11 章 分布式数据库系统

11.5.4 基于半联接的优化策略(三)

传输④传输

②传输

R S

R

场地1( 关系R) 场地2( 关系S)

R

R

场地1( 关系R) 场地2( 关系S)

⑤(R π B(S S

③ R π B(S)

①π B(S)

场地1( 关系R) 场地2( 关系S)

⑤(R π B(S)

③ R π B(S)

①π B(S)

场地1( 关系R) 场地2( 关系S)

)⋈

Page 42: 第 11 章 分布式数据库系统

本章小结(一) “分布计算”概念突破了集中式 DBS 的框架,数据分布使系统走上分布式 DB 的道路,功能分布使系统走上 C/ S道路。这是 DBS 的两个发展。

C / S 系统包括一个计算机网络,通常用一个局域网连结。几乎在所有情况下,客户机都是微机;服务器有时用小型机或大型机,但多数情况下也使用微机或高档微机。应用程序在客户机上处理, DBMS 和 OS 的数据管理分放在服务器上。

分布式系统是在集中式系统的基础上发展而来的。 DDB是数据库技术与网络技术结合的产物。随着计算机网络技术的飞速发展, DDBS 日趋成为数据库领域的主流方向。

Page 43: 第 11 章 分布式数据库系统

本章小结(二) DDB具有数据分布性和逻辑整体性的特点。 DDBS 能够支持涉及多个场地的全局应用。 DDB 的数据存储有数据分片和数据分配两种策略。

DDB 的模式结构为理解 DDBS提供了一种通用的概念结构。分布透明性是 DDBS追求的目标。 DDBMS 是负责管理分布环境下,逻辑集成数据的存取、一致性、有效性和完备性的软件系统。

DDBS 中数据分布在各个场地,系统中压倒一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半联接的优化策略是常用的技术。

Page 44: 第 11 章 分布式数据库系统

小 结(三)分布式 DBMS 集中式 DBMS

① 存取方式 用户→ DDBMS→ 分布式网络 OS→ 网络通信→局部 DBMS→ 局部 OS→DB 用户→ DBMS→OS→DB

② 数据冗余性 有控制的冗余 最小的冗余

③ 数据表示级别 (四级)用户试图,全局视图,分片视图,分配视图

(三级)外部视图,概念视图,内部视图

④ 数据存放方式 复制在多个场地,模式分散化,处理程序也分散化 集中在一个地点

⑤DBA分布在各场地,进行局部控制 集中在一起

⑥ 同步 由全局 DBMS 和网络 OS 组成 由 OS 完成

⑦ 封锁 分散控制 集中控制⑧ 实际资源 多个 CPU ,多个 DBMS 一个 CPU ,一个 DBMS⑨ 操作方式 当前方式,响应方式两种 一种方式(当前方式)

⑩ 数据一致性 所有主场地的逻辑结果是一致的,但各个场地的复制中数据可能不一致

任何时候都需要保持数据的一致性