第 9 章 分布式数据库系统

47
第 9 第 第第第第第第第

Upload: yagil

Post on 19-Jan-2016

99 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

第 9 章 分布式数据库系统

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

本章重要概念 (一)( 1 )分布计算的三种形式:处理分布,数据

分布,功能分布。( 2) C/S 系统,工作模式,技术特征,体系

结构,两层、三层、多层 C/S 结构。( 3) DDBS 的定义、特点、优点、缺点和分

类;分布式数据存储的两种形式(分片和分配)。

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

本章重要概念 (二)( 4) DDB 的体系结构:六层模式,分布透

明性的三个层次, DDBS 的组成, DDBMS的功能和组成。

( 5 )分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。

( 6 )分布式数据库的并发控制和恢复中出现的问题,以及处理机制。

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

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

飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式 DB 的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。本章将分别介绍这两种技术。

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

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

用户 终端 主机DB∫ ∫

存取请求

通信线路 处理结果

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

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

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

9.1 集中计算与分布计算(三) 客户机/服务器系统的结构

用户 客户机 服务器DB

∫ ∫数据请求

处理结果

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

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

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

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

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

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

DB服务器……

客户机1

客户机N

用户

用户

第一层 第二层

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

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

DB应用服务器……

客户机1

客户机N

用户1

用户N

第一层 第二层

DB服务器

第三层

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

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

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

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

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

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

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

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

飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于 20 世纪 70 年代中期。世界上第一个分布式数据库系统 SDD-1 是由美国计算机公司( CCA )于 1979 年在 DEC 计算机上实现。 20 世纪 90 年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机/服务器模式发展。

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

9.3.1 从集中式、分散式到分布式

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

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

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

9.3.2 DDBS 的定义 分布式系统是用通信网络连接起来的结点(亦称为“场地”)的集合,每个结点都是拥有集中式数据库的计算机系统。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.3.3 DDBS 的特点和优缺点(四) DDBS 的缺点 ① 系统开销较大,主要花在通信部分 。② 复杂的存取结构(如辅助索引、文件的链接

技术),在集中式 DBS 中是有效存取数据的重要技术,但在分布式系统中不一定有效。

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

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

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

(譬如都是关系型),并且是同一型号的 DBMS 。② 同构异质型 DDBS:各个场地采用同一类型的数据模型,但是 DBMS 的型号不同,譬如DB2、 ORACLE、 SYBASE、 SQL Server等。

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

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

9.4.1 数据分片(一)① 水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。

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

③ 导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。

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

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

9.4.1 数据分片(二)① 完备性条件:必须把全局关系的所有数据映射到片

段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。

② 可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。

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

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

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

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

④ 混合式:这是一种介乎于分割式和全复制式之间的分配方式。

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

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

全局概念级 全局概念模式

分片级 分片模式 …… 分片模式 分片模式

分配级 分配模式

分配模式

分配模式……

局部内部级

局部概念级 局部概念模式

局部内模式

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

局部内模式 局部内模式

局部数据库

局部数据库

局部数据库

映象1分布式数据库增加部分

集中式数据库原有部分

映象2

映象3

映象5

映象4

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

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

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

9.5.1 体系结构(二)R1

R2

R3

R4

R

R11

R21S1(场地1)

R12

R22S2(场地2)

R23

R33

R43

S3(场地3)

全局关系 逻辑片段

物理映象

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

9.5.1 体系结构(三)① 数据分片和数据分配概念的分离,形成了“数据分

布独立型”概念。② 数据冗余的显式控制。数据在各个场地的分配情况

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

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

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

集中式DB原有的结构

分布式DB增加的结构

集中式DB原有的结构

分布式DB增加的结构

数据库

局部内模式

局部概念模式

分配模式

分片模式

全局概念模式

全局外模式

用户(全局应用)

数据库

局部内模式

局部概念模式

分配模式

分片模式

全局概念模式

全局外模式

用户(全局应用)

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

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

映象3:位置透明性

映象2:分片透明性

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

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

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

映象3:位置透明性

映象2:分片透明性

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

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

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

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

9.5.3 分布式数据库管理系统 (一) DDBS 的组成框架

全局用户

GDD GDB

局部用户

全局用户局部用户

计算机

GDBMS

LDBMS

计算机

GDBMS

LDBMS

计算机

LDBMS

GDBMS

LDD LDB

LDD LDB GDD GDB

网络

全局用户

GDD GDB

局部用户

LDD LDB

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

9.5.3 分布式数据库管理系统 (二)① 接受用户请求,并判定把它送到哪里,或必须访问哪些计

算机才能满足该要求。② 访问网络数据字典,了解如何请求和使用其中的信息。③ 如果目标数据存储于系统的多个计算机上,就必须进行分

布式处理。④ 通信接口功能。在用户、局部 DBMS 和其他计算机的

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

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

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

用户查询

查询分析

优化算法

完整性处理模块

调度处理模块LDBMS

计算机

可靠性处理模块

DB

系统DD

网络

查询处理模块

分布策略

错误

对网络的监视信息数据

局部处理命令

数据定位

实际的数据

需要的数据

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

9.6.3 基于半联接的优化策略(一) 数据在网络中传输时,都是以整个关系(也可以是

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

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

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

9.6.3 基于半联接的优化策略(二)假设关系 R 在场地 1 ,关系 S 在场地 2 ,在

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

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

πB⋈ ( S ))⋈ S =( R S⋉ )⋈ S 。等式右边的式子称为“半联接程序”。

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

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

传输④传输

②传输

R⋈S

R

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

R⋈S

R

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

⑤ (R⋈π B(S))⋈S

③R⋈π B(S)

①π B(S)

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

⑤ (R⋈π B(S))⋈S

③R⋈π B(S)

①π B(S)

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

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

9.6.4 基于联接的优化方法(一) 两个关系在同一场地 ① 嵌套循环法:顺序扫描外层关系 R ,对 R 的每一个元组扫描内层关系 S ,查找在联接属性上一致的元组,把匹配的元组组合起来使之成为联接结果的一部分。这种方法要求扫描一次关系 R 和扫描 card( R )次关系 S (可见 S 的元组越少越好),以查找匹配的元组。

② 排序扫描法:先把两个关系按联接属性进行排序,然后按照联接属性值的顺序扫描这两个关系,使匹配的元组成为联接结果的一部分。这种方法对两个关系都只扫描了一次。但增加了排序代价。

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

9.6.4 基于联接的优化方法(二) 两个关系在不同场地 ① 整体传输:若有联接操作 R S⋈ , R 为外层关系, S 为内

层关系。如果传送的是内层关系 S ,则在目的地必须把它存入一个临时关系中(因为 S 将被多次扫描,但传输量少)。如果传送的是外层关系 R ,则内层关系 S 可直接使用依次到来的 R元组,而无需保存 R (但传输量大)。

② 按需传输:只传输所需联接的元组,一次一个元组,无需临时存储器。因为每次提取都要求交换一次信息,所以传输代价较高,只有在高速局部网络中才是合理的。

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

9.7.1 DDB 中的问题 ① 数据项的多拷贝问题:由于 DDB 存在着冗余,有可能一个数据存储在

多个场地,因此并发控制方法和恢复方法都应保证这些拷贝间的一致性。② 单个场地的故障:当系统中一个或多个场地发生故障时, DDBMS 应当继续和其他正在运行的场地一起工作。当一个场地得到恢复时,它的局部数据库必须在它与系统重连接之前保持和其他场地同步。

③ 通讯网络的故障:系统必须有能力处理一个或多个连接场地的通讯故障。这个问题的极端情况是发生网络分割,即将网络分割成若干分区,每个分区内的场地可以相互通讯,而不同分区内的场地不能通讯。

④ 分布式提交:如果某些场地在提交过程中发生故障时,提交用于访问存储在多个场地数据库的事务时也会产生问题。

⑤ 分布式死锁:死锁可能会在若干场地中发生,处理死锁的技术必须要扩充以考虑这种情况。

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

9.7.2 基于数据项识别拷贝的分布式并发控制

① 主场地技术 ② 有备份场地的主场地技术 ③ 主拷贝技术 ④ 有备份场地的主拷贝技术⑤ 发生故障时选择一个新的协调者场地技术

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

9.8.3 基于投票方法的分布式并发控制

在投票方法中,没有识别拷贝,而封锁请求被发送到所有包含该数据项拷贝的场地上。每个拷贝维护它自己的锁并且可以授予或拒绝封锁。如果一个请求封锁的事务被大多数的拷贝授予锁的话,它将持有该锁并告知所有的拷贝它已经获得锁。如果一个事务在给定的间隔时间段中没有获得授予它锁的大部分投票的话,它将取消它的请求并把取消决定告知所有的场地。

投票方法被认为是真正的分布式并发控制方法,因为决策的职责驻留在所有涉及到的场地上。经实验表明,投票方法在场地间产生的信息通信量比识别拷贝方法产生的要高。如果算法要考虑投票过程中可能的场地故障时,它就会变得很复杂了。

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

小 结(一) “ 分布计算”概念突破了集中式 DBS 的框架,数

据分布使系统走上分布式 DB 的道路,功能分布使系统走上 C/ S道路。这是 DBS 的两个发展。

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

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

小 结(二) C/ S 结构经历了从两层、三层到多层的演变过程。总的趋势是使客户机越来越“瘦”,变成浏览器;而服务器的种类越来越多,容易实现系统的组装。

C/ S 系统使应用与用户更加贴近,为用户提供较好的性能和更复杂的界面。

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

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

小 结(三) DDB具有数据分布性和逻辑整体性的特点。 DDBS

能够支持涉及多个场地的全局应用。 DDB 的数据存储有数据分片和数据分配两种策略。

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

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

小 结(四) DDBS 中数据分布在各个场地,系统中压倒

一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半联接的优化策略是常用的技术。

对于并发控制和恢复, DDBMS 环境中会出现大量在集中式 DBMS 环境中碰不到的问题。分布式的并发控制有主场地方法和主拷贝方法,再辅之于备份场地技术。

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

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

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

用户→ DBMS→OS→DB

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

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

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

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

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

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

⑦封锁 分散控制 集中控制⑧实际资源 多个 CPU ,多个 DBMS 一个 CPU ,一个 DBMS

⑨操作方式 当前方式,响应方式两种 一种方式(当前方式)

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

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

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

本章的重点篇幅 ( 1 )两层、三层、多层 C/S 结构。(教材 P365-

367)( 2 )分布式数据存储:分片和分配。(教材 P375-

377)( 3 ) DDB 的 体 系 结 构 。 (教材 P378 的图

9.10, P381 的图 9.12 )( 4 )基于半联接的执行示意图。(教材 P387 的图 9.

16 )