第11章分布式数据库系统
本章主要内容
(1)分布计算的三种形式:处理分布,数据分布,功能
分布。
(2)C/S系统,工作模式,技术特征,体系结构,两层、
三层、多层C/S结构。
(3)DDBS的定义、特点、优点、缺点和分类;分布式
数据存储的两种形式(分片和分配)。
(4)DDB的体系结构:六层模式,分布透明性的三个
层次,DDBS的组成,DDBMS的功能和组成。
(5)分布式查询处理的查询代价,基于半联接的优化策
略,基于联接的优化策略。
(6)分布式数据库的并发控制和恢复中出现的问题,以
及处理机制。
前言
随着传统的数据库技术日趋成熟、计算机网络技术的
飞速发展和应用范围的扩充,数据库应用已经普遍建立于
计算机网络之上。这时集中式数据库系统表现出它的不足:
?数据按实际需要已在网络上分布存储,再采用集中式处
理,势必造成通信开销大;
?应用程序集中在一台计算机上运行,一旦该计算机发生
故障,则整个系统受到影响,可靠性不高;
?集中式处理引起系统的规模和配置都不够灵活,系统的
可扩充性差。
在这种形势下,集中式DB的“集中计算”概念向“分布计算”
概念发展。分布计算主要体现在客户机/服务器模式和分
布式数据库体系结构两个方面。本章将分别介绍这两种技
术。
11.1集中计算与分布计算(一)
?“集中计算”概念
用户
终端
主机
DB
∫∫
存取请求
通信线路
处理结果
11.1集中计算与分布计算(二)
?“分布计算”概念
①处理分布
②数据分布
③功能分布
11.1集中计算与分布计算(三)
?客户机/服务器系统的结构
用户
客户机
服务器
DB
∫∫
数据请求
处理结果
11.2.1C/S系统的计算模式
①C/S结构的工作模式
②C/S环境下应用成分的分布
③C/S主要技术特征
11.2.2C/S系统的体系结构
①服务器
②客户机
③中间件
11.2.3C/S结构的演变(一)
?两层C/S结构
DB
服务器
……
客户机1
客户机N
用户
用户
第一层第二层
11.2.3C/S结构的演变(二)
?三层C/S结构
DB
应用服务器
……
客户机1
客户机N
用户1
用户N
第一层第二层
DB服务器
第三层
用户WWW浏览器WWW服务器DB服务器
DB
11.2.3C/S结构的演变(三)
?多层C/S结构
用户WWW浏览器Web服务器DB服务器
DB
中间件
11.2.4网络服务器的类型
①DB服务器
②文件服务器
③事务服务器
④文档服务器
⑤Web服务器
⑥电子邮件服务器
⑦其他应用服务器
11.3分布式数据库系统概述
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发
展和应用范围的扩大,以分布式为主要特征的数据库系统的研究
与开发受到人们的注意。
分布式数据库是数据库技术与网络技术相结合的产物,在数
据库领域已形成一个分支。分布式数据库的研究始于20世纪70年
代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机
公司(CCA)于1979年在DEC计算机上实现。
20世纪90年代以来,分布式数据库系统进入商品化应用阶
段,传统的关系数据库产品均发展成以计算机网络及多任务操作
系统为核心的分布式数据库产品,同时分布式数据库逐步向客户
机/服务器模式发展。
11.3.1从集中式、分散式到分布式
?随着数据库应用的不断发展,规模的不断扩大,逐渐感觉
到集中式系统也有不便之处。如大型DBS的设计和操作都
比较复杂,系统显得不灵活并且安全性也较差。因此,采
用将数据分散的方法,把数据库分成多个,建立在多台计
算机上,这种系统称为分散式系统。在这种系统中,数据
库的管理、应用程序的研制等都是分开并相互独立,它们
之间不存在数据通信联系。
?由于计算机网络通信的发展,有可能把分散在各处的数据
库系统通过网络通信连接起来,这样形成的系统称为分布
式数据库系统(DDBS)。DDBS兼有集中式和分散式的优
点。这种系统有多台计算机组成,各计算机之间由通信网
络相互连接着。
11.3.2DDBS的定义
?分布式系统是用通信网络连接起来的结点(亦称为“场地”)
的集合,每个结点都是拥有集中式数据库的计算机系统。
?定义11.1DDBS是物理上分散逻辑上集中的数据库系统,系
统中的数据分布存放在计算机网络的不同场地的计算机中,
每一场地都有自治处理(即独立处理)能力并能完成局部应
用,而每一场地也参与(至少一种)全局应用,程序通过网
络通信子系统执行全局应用。
?定义11.2DDB是计算机网络环境中各场地上数据库的逻辑集
合。
?定义11.3DDBMS是DDBS中的一组软件,它负责管理分布环
境下逻辑集成数据的存取、一致性和完备性。
11.3.3DDBS的特点和优缺点(一)
?DDBS的基本特点
①物理分布性:数据不是存储在一个场地上,而是存储在
计算机网络的多个场地上。
②逻辑整体性:数据物理分布在各个场地,但逻辑上是一
个整体,它们被所有用户(全局用户)共享,并由一个
DDBMS统一管理。
③场地自治性:各场地上的数据由本地的DBMS管理,具
有自治处理能力,完成本场地的应用(局部应用)。
④场地之间协作性:各场地虽然具有高度的自治性,但是
又相互协作构成一个整体。
11.3.3DDBS的特点和优缺点(二)
?DDBS的其他特点
①数据独立性
②集中与自治相结合的控制机制
③适当增加数据冗余度
④事务管理的分布性
11.3.3DDBS的特点和优缺点(三)
?DDBS的优点
①具有灵活的体系结构
②适应分布式的管理和控制机构
③经济性能优越
④系统的可靠性高、可用性好
⑤局部应用的响应速度快
⑥可扩展性好,易于集成现有的系统
11.3.3DDBS的特点和优缺点(四)
?DDBS的缺点
①系统开销较大,主要花在通信部分。
②复杂的存取结构(如辅助索引、文件的
链接技术),在集中式DBS中是有效存
取数据的重要技术,但在分布式系统中
不一定有效。
③数据的安全性和保密性较难处理。
11.3.4DDBS的分类
①同构同质型DDBS:
各个场地都采用同一类型的数据模型(譬如都是关系
型),并且是同一型号的DBMS。
②同构异质型DDBS:
各个场地采用同一类型的数据模型,但是DBMS的型
号不同,譬如DB2、ORACLE、SYBASE、SQLServer等。
③异构型DDBS:
各个场地的数据模型的型号不同,甚至类型也不同。
随着计算机网络技术的发展,异种机联网问题已经得到较
好的解决,此时依靠异构型DDBS就能存取全网中各种异
构局部库中的数据。
11.4.1数据分片(一)
①水平分片
按一定的条件把全局关系的所有元组划分成若干不相交
的子集,每个子集为关系的一个片段。
②垂直分片
把一个全局关系的属性集分成若干子集,并在这些子集
上作投影运算,每个投影称为垂直分片。
③导出分片
又称为导出水平分片,即水平分片的条件不是本关系属
性的条件,而是其他关系属性的条件。
④混合分片
以上三种方法的混合。可以先水平分片再垂直分片,或
先垂直分片再水平分片,或其他形式,但他们的结果是不相
同的。
11.4.1数据分片(二)
①完备性条件
必须把全局关系的所有数据映射到片段中,决
不允许有属于全局关系的数据却不属于它的任何一
个片段。
②可重构条件
必须保证能够由同一个全局关系的各个片段来
重建该全局关系。对于水平分片可用并操作重构全
局关系;对于垂直分片可用联接操作重构全局关系。
③不相交条件
要求一个全局关系被分割后所得的各个数据片段
互不重叠(对垂直分片的主键除外)。
水平分片事例
例:下图所示的工程管理数据库事例中关系PROJ按工程所在地LOC
属性值进行划分。其水平分片为:
PROJ
1
=σ
LOC=”Montreal”
(PROJ)
PROJ
2
=σ
LOC=”NewYork”
(PROJ)
PROJ
3
=σ
LOC=”Paris”
(PROJ)
其水平划分的分片如图所示。
PNOPNAMEBUDGETLOC
P1Instrumentation150000Montreal
P2DatabaseDevelop.135000NewYork
P3CAD/CAM250000NewYork
P4Maintenance310000Paris
PROJ
PROJ
1
PNOPNAMEBUDGETLOC
P1Instrumentation150000Montreal
PROJ
2
PNOPNAMEBUDGETLOC
P2DatabaseDevelop.135000NewYork
P3CAD/CAM250000NewYork
PNOPNAMEBUDGETLOC
P4Maintenance310000Paris
PROJ
3
垂直分片事例
例:工程管理数据库事例中关系PROJ(PNO,PNAME,BUDGET,LOC)
划分成两个子关系:一个包括工程预算信息,即对BUDGET属性
感兴趣;一个包括工程信息,对PNAME、LOC属性感兴趣。为了
保证划分后重构,可将PNO作为公共属性分别包括在这二个分片
中。这样PROJ可划分为:
PROJ
1
=Π
PNO,BUDGET
(PROJ)
PROJ
2
=Π
PNO,PNAME,LOC
(PROJ)
其垂直划分的分片如图所示。
PROJ
1PNOBUDGET
P1150000
P2135000
P3250000
P4310000
PROJ
2
PNOPNAMELOC
P1InstrumentationMontreal
P2DatabaseDevelop.NewYork
P3CAD/CAMNewYork
P4MaintenanceParis
PNOPNAMEBUDGETLOC
P1Instrumentation150000Montreal
P2DatabaseDevelop.135000NewYork
P3CAD/CAM250000NewYork
P4Maintenance310000Paris
PROJ
诱导分片事例
例:工程管理数据库事例中关系PROJ按工程所在地LOC属性值进行
水平划分为:
PROJ
1
=σ
LOC=”Montreal”
(PROJ)
PROJ
2
=σ
LOC=”NewYork”
(PROJ)
PROJ
3
=σ
LOC=”Paris”
(PROJ)
则使有关联的ASG产生诱导划分,其诱导分片为:
ASG
1
=ASG?PROJ
1
=ASG?σ
LOC=”Montreal”
(PROJ)
=∏
ENO,PNO,DESP,DUR
(ASG?σ
LOC=”Montreal”
(PROJ))
=ASG?(∏
PNO
(σ
LOC=”Montreal”
(PROJ))
同理:
ASG
2
=ASG?PROJ
2
=∏
ENO,PNO,DESP,DUR
(ASG?σ
LOC=”NewYork”
(PROJ))
ASG
3
=ASG?PROJ
2
==∏
ENO,PNO,DESP,DUR
(ASG?σ
LOC=”Paris”
(PROJ))
其诱导划分的分片如图所示。
PNOPNAMEBUDGETLOC
P1Instrumentation150000Montreal
P2DatabaseDevelop.135000NewYork
P3CAD/CAM250000NewYork
P4Maintenance310000Paris
PROJ
ASG
ENOPNODESPDUR
E1P1Manager12
E2P1Analyst24
E2P2Analyst6
E3P3Consultant10
E3P4Engineer48
E4P2Programmer18
E5P2Manager24
E6P4Manager48
E7P3Engineer36
E8P3Manager40
ASG
1
ENOPNODESPDUR
E1P1Manager12
E2P1Analyst24
ENOPNODESPDUR
E2P2Analyst6
E3P3Consultant10
E4P2Programmer18
E5P2Manager24
E7P3Engineer36
E8P3Manager40
ASG
2
ENOPNODESPDUR
E3P4Engineer48
E6P4Manager48
ASG
3
PROJ
1
PNOPNAMEBUDGETLOC
P1Instrumentation150000Montreal
PROJ
2
PNOPNAMEBUDGETLOC
P2DatabaseDevelop.135000NewYork
P3CAD/CAM250000NewYork
PNOPNAMEBUDGETLOC
P4Maintenance310000Paris
PROJ
3
混合分片事例
PROJ
1
PNOBUDGET
P1150000
P2135000
P3250000
P4310000
(a)先垂直分片
PNOPNAMEBUDGETLOC
P1Instrumentation150000Montreal
P2DatabaseDevelop.135000NewYork
P3CAD/CAM250000NewYork
P4Maintenance310000Paris
全局关系PROJ
PROJ
2
PROJ
3
PROJ
4
(b)后水平分片
PNOPNAMELOC
P1InstrumentationMontreal
PNOPNAMELOC
P2DatabaseDevelop.NewYork
P3CAD/CAMNewYork
PNOPNAMELOC
P4MaintenanceParis
混合分片重构
关系R的混合分片
R
R
1
R
2
R
11
R
12
R
21
R
23
H
H
V
R
22
V
V
V
V
∪
?
R
11
R
12
R
21
R
23
R
22
?
关系R的重构
11.4.2数据分配
①集中式
所有数据片段都安排在同一个场地上。
②分割式
所有数据只有一份,它被分割成若干逻辑片段,每
个逻辑片段被指派在一个特定的场地上。
③全复制式
数据在每个场地重复存储。也就是每个场地上都有
一个完整的数据副本。
④混合式
这是一种介乎于分割式和全复制式之间的分配方式。
11.5分布式数据库的体系结构
全局外部级全局外模式
……
全局外模式
全局概念级全局概念模式
分片级分片模式……分片模式分片模式
分配级
分配
模式
分配
模式
分配
模式
……
局部内部级
局部概念级局部概念模式
局部内模式
局部概念模式局部概念模式
局部内模式局部内模式
局部
数据库
局部
数据库
局部
数据库
映象1
分布式数据库
增加部分
集中式数据库
原有部分
映象2
映象3
映象5
映象4
11.5.1体系结构(一)
①全局外模式
②全局概念模式
③分片模式
④分配模式
⑤局部概念模式
⑥局部内部式
11.5.1体系结构(二)
R1
R2
R3
R4
R
R11
R21
S1(场地1)
R12
R22
S2(场地2)
R23
R33
R43
S3(场地3)
全局关系逻辑片段
物理映象
11.5.1体系结构(三)
①数据分片和数据分配概念的分离,形成了“数据分
布独立型”概念。
②数据冗余的显式控制。数据在各个场地的分配情
况在分配模式中一目了然,便于系统管理。
③局部DBMS的独立性。这个特征也称为“局部映射
透明性”。此特征允许我们在不考虑局部DBMS专
用数据模型的情况下,研究DDB管理的有关问题。
11.5.2分布透明性(一)
分布透明性
集中式DB
原有的结构
分布式DB
增加的结构
数据库
局部内模式
局部概念模式
分配模式
分片模式
全局概念模式
全局外模式
用户(全局应用)
映象5:(物理数据独立性)
映象4:局部数据模型透明性
映象3:位置透明性
映象2:分片透明性
映象1:(逻辑数据独立性)
11.5.2分布透明性(二)
①分片透明性
②位置透明性
③局部数据模型透明性
11.5.3分布式数据库管理系统(一)
?DDBS的组成框架
全局用户
GDDGDB
局部用户
全局用户局部用户
计算机
GDBMS
LDBMS
计算机
GDBMS
LDBMS
计算机
LDBMS
GDBMS
LDDLDB
LDDLDBGDDGDB
网络
全局用户
GDDGDB
局部用户
LDDLDB
11.5.3分布式数据库管理系统(二)
①接受用户请求,并判定把它送到哪里,或必须访问
哪些计算机才能满足该要求。
②访问网络数据字典,了解如何请求和使用其中的信
息。
③如果目标数据存储于系统的多个计算机上,就必须
进行分布式处理。
④通信接口功能。在用户、局部DBMS和其他计算机
的DBMS之间进行协调。
⑤在一个异构型分布式处理环境中,还需提供数据和
进程移植的支持。这里的异构型是指各个场地的硬
件、软件之间存在着差别。
11.5.3分布式数据库管理系统(三)
用户查询
查询分析
优化算法
完整性
处理模块
调度处理模块LDBMS
计算机
可靠性
处理模块
DB
系统
DB
网络
查询处理模块
分布策略
错误
对网络的监视信息
数据
局部处
理命令
数据定位
实际的数据
需要的数据
11.5.4基于半联接的优化策略(一)
?数据在网络中传输时,都是以整个关系(也可以
是片段)传输,显然这是一种冗余的方法。在一
个关系传输到另一场地后,并非每个数据都参与
联接操作或都有用。因此,不参与联接的数据或
无用的数据不必在网络中来回传输。这个思想引
出了基于半联接的优化策略。
?这个方法的基本原理是采用半联接操作,在网络
中只传输参与联接的数据。
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
等式右边的式子称为“半联接程序”。
11.5.4基于半联接的优化策略(三)
传输
④传输
②传输
RS
R
场地1(关系R)场地2(关系S)
R
(()
⑤(Rπ
B
(SS
③Rπ
B
(S)
①π
B
(S)
场地1(关系R)场地2(关系S)
π(S)
③π()
①π()
(()
)
?
?
?
?
本章小结(一)
?“分布计算”概念突破了集中式DBS的框架,数据分
布使系统走上分布式DB的道路,功能分布使系统走
上C/S道路。这是DBS的两个发展。
?C/S系统包括一个计算机网络,通常用一个局域网
连结。几乎在所有情况下,客户机都是微机;服务
器有时用小型机或大型机,但多数情况下也使用微
机或高档微机。应用程序在客户机上处理,DBMS
和OS的数据管理分放在服务器上。
?分布式系统是在集中式系统的基础上发展而来的。
DDB是数据库技术与网络技术结合的产物。随着计
算机网络技术的飞速发展,DDBS日趋成为数据库领
域的主流方向。
本章小结(二)
?DDB具有数据分布性和逻辑整体性的特点。DDBS能够
支持涉及多个场地的全局应用。DDB的数据存储有数据
分片和数据分配两种策略。
?DDB的模式结构为理解DDBS提供了一种通用的概念结
构。分布透明性是DDBS追求的目标。DDBMS是负责管
理分布环境下,逻辑集成数据的存取、一致性、有效性
和完备性的软件系统。
?DDBS中数据分布在各个场地,系统中压倒一切的性能
目标是尽量减少网络中传送信息的次数和传送的数据量。
分布式查询中基于半联接的优化策略是常用的技术。
小结(三)
任何时候都需要保持
数据的一致性
所有主场地的逻辑结果是一致的,但
各个场地的复制中数据可能不一致
⑩数据一致性
一种方式(当前方式)当前方式,响应方式两种⑨操作方式
一个CPU,一个DBMS多个CPU,多个DBMS⑧实际资源
集中控制分散控制⑦封锁
由OS完成
由全局DBMS和
网络OS组成
⑥同步
集中在一起
分布在各场地,
进行局部控制
⑤DBA
集中在一个地点
复制在多个场地,模式分散化,处理程
序也分散化
④数据存放方式
(三级)外部视图,概念视
图,内部视图
(四级)用户试图,全局视图,分片视
图,分配视图
③数据表示级别
最小的冗余有控制的冗余②数据冗余性
用户→DBMS→OS→DB
用户→DDBMS→分布式网络OS→网络
通信→局部DBMS→局部OS→DB
①存取方式
集中式DBMS分布式DBMS
|
|