没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
分布式数据库
第一章 概述
数据库系统是针对文件系统缺乏数据共享和对数据的集中统一管理而提出的。数据库
对数据的管理具有持久性、有效性和共享性的特点,极大地减少了数据的冗余,消除了数
据不一致性的隐患,提高了存储和查询效率,这是数据库系统被众接受的关键。
数据库系统对分散的各自独立而又有共享要求的数据,进行集中统一的管理,并用统
一的描述使分散在各处的应用数据相对地集中到一个数据库中,这将消除文件系统中存在
的弊端。然而,开始阶段来不及重视的地域分散的特定需求,由于过分集中又产生了不协
调。随着计算机技术的发展、新领域的涌现和实用化的进展,人们期望着符合现实需要的
能处理分散地域的、具备数据库管理特点的新的数据库系统的出现。这样,分布式数据库
系统被提出来。
计算机网络虽然可以实现地域分散的情况下的数据传输,以达到数据共享的目的,但
它只是全文件的复制,缺乏对数据的管理。因此,人们设想以“数据库系统 +计算机网络”来
实现分布式数据库系统,既达到对数据的集中管理与共享,又能使地域的分散性被系统隐
蔽起来。如银行与其分行、分理处对业务处理的要求。
1.1 分布式数据库系统定义
分布式数据库系统(Distributed Data Base System,缩写 DDBMS)是面向地理上分散、
而管理上又需要不同程度集中管理的企、事业单位提供数据管理的信息管理系统。
严格定义:分布式数据库是一组数据集,逻辑上它们属于同一系统,而物理上它们分
散在用计算机网络连接的多个场地上,并统一由一个分布式数据库管理系统管理。
与数据库系统+计算机网络的简单结合不同:
1) 每个节点(Node)都装有数据库系统,可以共享,但没有统一的管理。使用
外场地(Site)的数据时必须指明场地位置。
2) 如果只在计算机网络中某一场地设置数据库系统,其它场地不设,达不到数据
分散存储的目标。
分 布 式 数 据 库 系 统 包 括 两 个 重 要 的 成 分 : 分 布 式 数 据 库 ( Distributed Data
Base , DDB ) 和 分 布 式 数 据 库 管 理 系 统 ( Distributed Data Base Management
System,DDBMS)。
1
分布式数据库是计算机网络环境下各场地或节点上(分布性,数据不是存放在单一场
地为单个计算机配置的存储设备上,而是按全局需要将数据划分成一定结构的数据子集,
分散地存储在各个场地或节点上)数据库的逻辑集合(逻辑协调性,各场地上的数据子集
相互间由严密的约束规则加以限定,而在逻辑上是一个整体)。为了区别,称传统方式下
的数据库系统为集中式数据库系统(DB),称分布式数据库系统中的各场地数据库为局部
数据库(Local DB,LDB)。
实际上,基于以上两特性(分布性、逻辑协调性)的 DDB,是虚拟的、逻辑的,即是
由许多 LDB 逻辑组织而成的,是针对于全体用户的全局数据库,故又称分布式数据库为全
局数据库(Global DB,GDB),它是虚设的,只有局部数据库 LDB 才是物理的数据库
(真正面向用户的数据库)。
分布式数据库管理系统和集中式数据库管理系统一样,是分布式数据库系统中的一组
软件,负责管理分布环境下逻辑集成数据的存取、一致性、有效性、完整性等。同时,由
于分布性,在管理机制上还必须具有计算机网络通讯协议上的分布管理特性。因此,比集
中式数据库管理系统更加复杂。由于各个 LDB 可能使用不同的数据模型,如关系型、网络
型、层次型等。所以,为了使用户得到统一的数据,一般情况下,分布式数据库系统使用
统一的数据模型,将各局部数据库经过转换一致起来。
1.2 分布式数据库系统的特点
分布式数据库系统是数据库系统的新类型,因此具有集中式数据库系统的特点。同时,
由于其分布性,又使这些特点具有不同的含意。
1. 共享性与自治性
在分布式数据库系统中,多个场地或节点的局部数据库在逻辑上集成为一个整体,并
为分布式数据库系统的所有用户使用,这种应用称为分布式数据库的全局应用,其用户为
全局用户;同时,分布式数据库系统还允许用户使用本地的局部数据库,这种应用为局部
应用,其用户即为局部用户。甚至局部用户所使用的数据可以不参与到全局数据库中去,
这种局部用户独立于全局用户的特性即是局部数据库的自治性。
由于自治性,对于场地来说有两种数据,一种是参与全局数据库的局部数据,而另一
种则是不参与全局数据库但又为本地共享的场地数据。前者称之为 LDB,而后者称为场地
私有数据库(P
v
DB),这种应用和集中式数据库的应用基本一致。
由此便产生了 P
v
DB 转换为 LDB,以及由 LDB 转变为 P
v
DB 的要求。而它们实际上是
由不同的数据库管理者(DBA)加以控制的,从而形成了分布式数据库的两级管理者:全
局数据库管理者(DBA)和局部数据库管理者(LDBA)。
2. 冗余的可控性
将数据组织在数据库中以便数据共享,为此要尽量减少数据冗余,这不仅使存储代价
降低,而且还可提高查询效率,便于数据一致性维护,这是数据库优于文件系统(FS)的
特点之一。但对数据库而言,不可能达到绝对的无冗余数据。对于分布式数据库来说,由
于数据存储的分散性,各场地在网上传输数据,使得与集中式数据库相比,查询响应中增
加了传输代价。因此,分布式数据库中数据一般存储在经常使用的场地上,但这并不排除
有二个以上的场地应用对同一数据有存取要求,而且当传输代价高于存储代价时,可以将
同一数据冗余存储在两个(甚至更多)场地上(复制式),以节省开销。另外,有多副本
2
存储,对系统的可用性亦可提高,即当系统中某个节点故障时,由于有其它副本在非故障
场地上,所以对其它所有场地来说都是可用的,而且保证数据的完备性。此外,可用副本
(可以访问)的存在也相应地提高了自治性性能。
这种冗余(副本)由于是在系统控制之下的,所以不会给系统造成很大的影响。除了
增加系统存储外,同时也使系统的完整性、一致性控制的代价上升,实现技术也则困难。
因此可控的冗余性选择,要根据特定系统的实际需要和性能要求而定,不可能给出一个统
一的评价标准。
3. 事务管理的分布性
分布式数据库系统的事务管理,由于数据的分布必使得事务也具有了分布性,即一个
事务(全局事务)的执行将划分成在许多场地上执行的子事务(局部事务),子事务的执
行结果合并而成全局事务的结果,这样的事务即为分布事务。
例 1.1 某银行对地处不同场地上的两个帐户转移资金。
集中式数据库
A→B(100) T:A←A-100,B←B+100
分布式数据库
设 A 和 B 在 不 同 场 地 , 且 A 在
S
1
、S
2
各有一副本,B 在 S
3
、S
4
各
有一副本,用户请求在 S
5
。结果也
返回至 S
5
。
A→B(100) T
1
,T
2
:A←A-100,
T
3
,T
4
:B←B+100
T
5
[返回结果,或结束消息]
4. 存取效率
对于集中式数据库来说,层次方法、网络方法是以导航方式处理查询请求的,因此其
效率由于查询语言的过程性,有时要靠用户的程序优化加以保证;关系方法由于支持非过
程性查询语言,则是以合理的存储方式以及查询的“优化”处理部件解决查询效率的。
在分布式数据库系统中,全局查询被分解成等效的子查询,即全局查询执行计划分解
成多个子查询执行计划加以执行。是根据系统的全局优化策略产生的,而子查询计划又是
在各场地上分布执行的。因而,分布式数据库系统中查询优化以两级进行,全局优化和局
部优化。
全局优化主要决定在多副本中选取适当的场地副本,使场地间的数据传输量以及次数
最少,从而使系统通信开销少。
局部优化则与传统的数据库方式相同。
5. 数据模型
在分布式数据库系统中, DDB 是一个逻辑的、虚拟的数据库(被称为全局数据库 ,
GDB)和实际分布在各场地的局部数据库(LDB,物理的、实际存储的数据库)这样两级
数据库组成。
全局数据模式描述全局数据库,即一个企业或事业单位(其组织机构在地理上实际是
分散存在的)信息。局部数据模式描述各场地的局部数据库,而这些是实际存储的。系统
将数据库划分为四层:全局外层(即用户层)、全局概念层、局部概念层和局部内层。
6. 数据独立性
数据独立性的基本含意是应用程序与实际的数据组织相分离,即所谓的系统透明性
3
(只有关系方法得到了较好效果)。在关系方法中有二级数据独立级别:逻辑数据独立性
和物理数据独立性。在分布式数据库系统中,由于分布性的存在,使得分布数据独立性的
要求更加丰富也更加复杂,有时也称之为分布透明性。
全局用户所看到的是全局数据模型的描述,对各场地的局部数据模型的描述不必关心。
全局的数据模型转换成局部的数据模型的过程由系统自动完成,这就是系统透明性。
用户对所需数据的存放位置不必关心,可以象使用集中式数据库一样,认为他所使用
的数据就存放在本场地,而实际的物理位置由 GDBA 在系统设计时决定,并在数据字典中
记录存放位置的对照表,当用户使用非本场地数据时,由系统自动调用该表并查找出所需
数据的物理位置。使用户不必考虑数据的存放位置,而只要了解该数据确实存在即可,因
此,不论是应用的改变还是实际数据驻留场地的变化,都不影响用户访问数据。这就是所
谓的分布式数据库的位置透明性。是物理数据独立的一种扩充。
对关系而言,可以使用选择和投影等操作将关系划分成许多子关系,而使用联接操作
则可使这些子关系合成为原关系,这时原关系的信息不会丢失也不会增加。每个子关系就
是原关系的一个分片。若对所有的应用都不必了解分片的任何细节,对 DDB 的操作只针对
用户所关心的视图,而这视图可能是由若干子关系(即分片)组成的,其合成也是由系统
完成的,这即是分片透明性。是 DDB 对逻辑独立性的一种扩充。
既然 DDB 支持重复副本,则亦应支持重复副本透明性。重复副本的最小单位应是分片
的片段(即子关系)。因此用户在使用时不必了解有多少个副本,只有指明所用的数据即
可。
如果分布式数据库实现了所有上述的各种透明性,用户使用分布式数据库就完全象使
用集中式数据库一样了。
1.3 分布式数据库系统的环境
所谓节点,是指具有主动处理能力的单一计算机(包含那些有多个终端或远程终端)
的部分;而场地则是由多台计算机组成的节点。节点应包括一定的硬软件成分。大型节点
具有计算机基本支持软件,如操作系统(支持用户和数据库的进程管理)、局部数据库管
理系统(LDBMS,负责本节点的数据管理)、全局数据库管理系统(GDBMS,负责全系
统的数据管理)、通讯软件(负责节点与网上其它节点的通讯)、其它应用程序软件等。
小型节点,只需要具有通讯软件对本节点数据的存取。
节点状态:联网状态(正常工作、发送命令、完成某种调度)、离网状态(非联网状
态,故障离网、维修离网等)。
网络通讯协议。ISO/OSI 七层参考模型:
物理层:规定物理链路上的通讯方式;
数据链路层:规定通讯子网用的网络接口间的通讯方式;
网络层:选择多个通讯子网络,即进行路径控制;
传输层:实现源至目的地之间的虚拟的点到点的可靠通讯;
会话层:提供逻辑上易使用的通讯接口;
表示层:处理不同数据表示形式的转换;
应用层:表现网络的基本功能。
4
1.4 分布式数据库系统的分类及问题
1.4.1 分布式数据库系统的分类
没有标准的定义。从局部数据库的异同上加以划分。以构造相同(构成局部数据库的
数据模型相同)的局部数据库组成的分布式数据库称为同构的;而相异的称为异构的分布
式数据库系统。
在同构的情况下,又有同质(同一公司的产品,或为同一数据库系统)和异质(非同
种数据库系统)的划分,分别称为同构同质、同构异质。
1.4.2 异构分布式数据库系统的问题
如何处理数据模型和语言的不同?最简便的办法是将其统一成一个公共模型和公用语
言,每个局部数据库数据模型和 DML 都映射至公共数据模型和语言的等效表示和原语。
1) 模型转换语义等价性,是说转换前模型的语义内容全部不多不少地映射到公共
模型上,反之亦如此;
2) 实例的相等性,是说二者的指的事实(对象)完全是同一事实(对象),而不
是其它。
3) (附加)程序转换等价性,即对任何输入而言只能有唯一的等效输出。
冲突:
1) 名字冲突。包括同名异义(非同一对象)和异名同义。
2) 标量冲突。涉及使用不同单位的量度。
3) 数据类型和长度、精度不同。
4) 模式的语义抽象程度不同。
一个查询请求的某些功能在其它节点花费较高代价或者不能执行,需将数据的超集送
往始发节点,此代价比集中式数据库性能更差。——仔细地选择分布信息和数据,防止分
布式数据库性能变差的趋势。
更新处理如何保证数据的一致性——实施本地数据库的更新操作。
1.4.3 同构分布式数据库系统的问题
问题大同小异,程度有别而已。
5
剩余63页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功