分布式数据库系统中的一些问题

上传人:ji****n 文档编号:47012510 上传时间:2018-06-29 格式:PDF 页数:5 大小:366.44KB
返回 下载 相关 举报
分布式数据库系统中的一些问题_第1页
第1页 / 共5页
分布式数据库系统中的一些问题_第2页
第2页 / 共5页
分布式数据库系统中的一些问题_第3页
第3页 / 共5页
分布式数据库系统中的一些问题_第4页
第4页 / 共5页
分布式数据库系统中的一些问题_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《分布式数据库系统中的一些问题》由会员分享,可在线阅读,更多相关《分布式数据库系统中的一些问题(5页珍藏版)》请在金锄头文库上搜索。

1、计算机系统应用19 94NO. 2技术研讨分布式数据库系统中的一些问题郭江北京航空航天大学软 件 工程研究所)摘要:本文围绕着数据管理的透明性、数据可靠性、执行效率、系统的 扩 充等问题进行了探讨。分布 式数据库的透明性虽然增加了设计上的困难,但却方便了用 户 的使用。由于数据的分布,不仅 使得数据的可靠性得到了改善,而且使得内部查询和内在查询的并行化得以提高,从而提高了执行效率;另外,数 据的分 布还使得系统的扩充 变得更加容易了。以上是本文所要讨论的主要问题。分布式 数据库在 过去几年 中已经有了长足的发展,而 且极大 地影响着 计算机的数据处 理方式,在出现了第一代分布式 数据库的产品之

2、后达到 了顶峰。一些研究人员【11 指出今后几年 中大 多数企业都将 趋向于分 布式数据 库的管理方式,而 集 中式 数据 库的管理 方式将 遭淘汰。现 在,无论是商业数 据处 理,还是 计 算机工程环境(S EE)都迫切需要分布式数据库系统的 支持。但就目前的技术状 况来说,关键 问题 还是怎样使分 布式数据 库成为产品。因此下面这些问题的解决就变得很重要了:(l )分布式数据库 中数据管理的透明性(2)分 布式数据库 中数据的可靠性(3 )分布式数据库系统的执行效 率(4)分布式数据库系统的扩充以上这些问题的解决不仅影响着分 布式数据库技术的 发展,而且 还 影响 着分布式数据库 技术 向

3、产品的转化。1.什么是分布式数据库系统一个分布式数据库就是一个分 布在 计算机网络上的多个在逻 辑 内在联 系的数据 库的集合!2 。分 布式数据库管理系统(D DBMs )是 管理 分布式数据库 并使分布式对用户透明的一个软件系统。一 般分布式数据库 系统是指分布式数据库和分布式数据库管理系统构成的整个 系统。下面的假设是一些值得注意 的方面:( l )数据存放在多个节点上,每个节点在逻辑上是由单个的处理器组成的。尽 管一些节点可能是多处理机,但D DBMS与这 些 多处 理机上的数据存储和管理是无关 的。(2 )在 各个节 点上的处理 器是 由计算机网络来连接起来的,而不是按多个处理 器来

4、配置的。这 里关键的一点 是处理 器的松散藕合,即它们有自己的操 作系统和独立 的操作。尽管“无任何共享”的 多处理器体系结构类似于松 散连接的分布 式 系统,但是它们所考虑 的是另一些问题。如负载分配、负载转 移、负 载平衡等,这些本文中不讨论。(3 )分 布式数 据库是一个数 据库而不是 存放在网络节点_L的文件集合。这一特点标志 着分布式数据库和分布式文件系统的区别。在分布式数据库 中,分 布式数据应该使用某种 结构的 形式化方法 来进行 逻辑上 的相关,而对数据的访问则是在一个高层次上通过共同的接口来实现。这里建立逻辑关系的典型的形式化方法是关系模型。实际上,目前对分布式数据 库系统的

5、大多数研究都是在一个关系型 系统 中进行的。(4 )该系统 具有 全 面的DBMS功 能。它 既不 是一个分布式文件 系统也不 是事 务处理系统。这里所指的事务处理不 仅是一种类 型 的 分 布 式应用,而且也 是 由D DBMS所提 供的功能。但 是DDBMS还 提供了其它功能,如查询处理和结构 化数据的组织等,而这些却并非是一个事务处理系统必须支持的。这些 是根据目前的技术状况 作出的假设,大多数当前的分布式系统是建 立在局域网上的,在网上 每个节点是一个单个计 算机,这样将数据 库分布 在每个 节点上以便形成若干个局部数据库。如图1。一2 9一技术研讨计算机系统应用99 41N02.节节

6、点1 1 1 1 1节点2 2 2是 两种情 况,一 种是数据 在物理上 分布于 多个节 点而它们 之 间通过某种通讯媒质的形式 来通讯;另一种是 数据在物理上仅存放在一个 节点上。(3)异 质性。异质性 是指分布 式系统 中的各种 差异程 序。范围是从 硬件异质、网络协议异质到数据管理的异 质。从 数据库 系统的 角度来看异 质的主要 形式是:数据 模 型、查询 语 言、接口以 及事 务处理管理 协议 等的 异质。以 这种分类方式 可 将DBMS分 为同质的和 异 质的。基于以上分类的系统结构划分如图2所示。/图了分 布 式数据库环境但 是下 一代的DDBMS是用不同的 方法 来设计的3 j

7、 ,是可 负担多处 理器网和 高 速网等技 术发 展 的结 果。系统设计还 将 受到数 据库 技 术应用领 域不 断扩 大的影响,这些应用领域比商 业数据处理更为 复杂,更广泛地采用 用户/服 务 器的计 算 模 式 及 其 接口标 准。因此,DDBMS环境 将 包括与高速网相连的 多处 理器 形式的数据库服 务器 以及运 行应用程 序、执行数据 库请求的用户机器上的数扰库仓库。现在这种类型的分 布式关系型DBMS已经出现了,而 且若干面 向对象的系统也 满足这种描述。此处 所定义的D DBMS仅是为分布 式计 算环境 提供数据库管理支持的 一种 方法。现在给 出设计 选择 的一个三维分类。(

8、 l )自治性。自治 性是 指 单个的DBMS可以独 立操作的程 序以 及控制 分布的程 度。它涉及到 许多 因素,包括是否 系统的组成成 份需要交换 信息、是 否系统的组成成份可以独立执行事 务处理、以及是否允许用户对 系统组成成 份进行修改。在这里,“交换 信息”并不是指 所涉及网络的信息交换,而且指 是 否需要DBMS来交 换信息以及是否需要协调用户请求的执行。三种自治的类型是紧辆合、半 自治、全 自治。在 紧祸 合系统 中,想共 享多个数 据 库信 息 的用户可以使用整 个 数据库的单一 映象。半 自治 系 统 是 由多个DBMS组 成。这 些DBMS通常可以独立操作,但 是一般设 计

9、成松 散祸合的形式以便共 享局 部数据。在全 自治系统 中,各 个组成成 份是 独立的DBMS,它们之间互不往来,也不通讯。(2)分 布性。分布性是 指数据存放的离散程度,一 般、 、一一一一曰曰一一 / / /尸沪沪分分j j j j j j j图2DBMS实现的选择方向其 中轴上的箭头并不是指一个无限的选择数目而仅是标志简单的分类维 数。本 文主要讨论的是 紧祸合、分布式、同质的数据库 系统。. 2数据管理的透明性集中式 的数据库系统使用户离开了具体的数据处理结构,在这种 具体的数据处理 结构 中将数据 定义和维护嵌 入到了每个 应用程 序之 中,而这些 功能则从 应用中抽象出来并置 于D

10、BMS的服务 器控制之 下。这种发展方向的结果是 数据的独 立性增强了,即一方面应用程序对数 据的逻辑或物理组 织的变化 不太敏 感,另一方面数据组织对程序的变化也不敏感了。分布式数据库的数据独立性是指 数据 分布在网络节点机器环境 中的独立性。一30一计算机系统应用9 91 N40.2技术研讨数据独立性是由几种透明的形式来提供的:网络(即分布式)透明性、数据冗余透明性以及局部透明性。将数据的访问设计成透明的方式就会把系统的较高层次的 语义和较低层次的实现 问题分隔开 来。因此,用户将看到一个逻 辑上集成的、单一映象的数据库。这样尽管在物理上 是分布的,但能使用户象访问集中式数据 库一样 来访

11、 问分布式数据 库。就理想的情况来 说,全透明性的含义是指一个D DBMS将与一个 集 中式DBMS有完全一样的查询语言接口。但是,目前的大 多数商品化D DBMS并不能提供一个充分透明的层次支持。部分原因是对冗余数据管理的支持。一些系统不 允许数据在多个 数据库中冗余;而一些允 许冗余的系统则要求用户在特定的时 间内在一个数据 库上进行注册。一个D DBMS可以有 自己的命 名计划,但通常产生 的结果不令人满意,而且需要用户确 定数据的全部路径名并通 过建立 别名来避免过长 的路径名。这个 问题的关键 就是透明性缺少合适的操作系统的 支持。网络透明性可以由操作系统 中透明的命名机制来支持;而

12、冗余透明性也可以由操作系统支持;但是局部透明性的问题却应 留给D DBMS来解决。全透明性并不是一个 共认的目标。Gra y【 4 认为 全透明性使 得分布式数 据管理变得更为困难而且“对物理上分布的数据为进行透明性访 问的应用程序在 可管理性、模块性、以及执行效果方面都不好。”他提 出将一个远程过程调用(R PC)机 制放置在用 户和服务器DBMS之间,这样将把用 户的查询引导到特定的O BMSI几。现在可以认为将全透明性 访问提供给用户会使 得分布式 数据库的管理 变 得更加困难,而用R PC作为通讯基础的用户/服务器的体系结构可以看作是一个正确的解决方法。实际上,一些商品化的DDBMS也

13、正是 以这种方式来组织的(如,Syba se)。但是,对分布和冗余数据的透明性访问的目标却不能因困难而放弃。这 个问题就是:是用户的应用还是DDBMS来负责分布的和冗余的数据?目前一般认为【 4 应该 是DDBMS,它的组成成 份可以以用户/服务器的方式来加以组织。这当然 有1些技术性问题需要解决。3.可靠性D DBMS应能改善 数 据库的可靠性。这 是 由于D DBMS有重复的组成部分,因而消除整 个系统崩溃的可能性。任何单个 节点上的崩溃、或通 讯连接上的问题都只能影 响到一 个或几个节点,而不足 以毁坏整 个系统。当然,通讯连接l:的问题可能引起网络的分隔,并因此而更难于处理。在一个分布

14、式数据 库 中,这样的问题意味 着不能 访问某些数据,但是用户可 以 访问数据库的其它 部分,这就是分布式处理改善可靠性的一种形式。一次事务处理是由系列的数据 库操作组 成,这样就要求将数据库从一个一致的状态转换到另一个一致的状态,但是当许多这样的事 务处理同时 进行时 就出现了并发执行。因而要 考虑实现系统的并发透明性;同时还要考虑可能发生操作失败的情 况。也就是一个提供全部处理功能的DBMS要 确保用户事务处 理的并发执行将不破坏数据库的一致性,而且在系统的操作失 败时也将维护数据库的一致性和完整性。分布式处理在多个节点上执行,分 别访问各自的局部数 据库。由于有对 分布式事 务处理 的全

15、部支持,因而用 户的应用可以访问的是数据库的单 一逻辑映 象,而且依赖于D DBMS来确 保正确地执行 应用的请求 而不管系统 中发生f何种问题。这样就 意味着用户的应用不需要涉及协调 对局 部数据库的 访问,也不 需要处理在事务处理执行期 间节点或通讯连接发生问题的情况。在分布式事务处理 和透明性之间存在一个衔接的问题,这是因为二者均涉及到 分布式命名和字典的管理。为了给事务处理 提供所需的支持,就需要实现分布式 并发控制和分 布式可靠性协议。这些都要比集 中式数据库 系统 中的相应部分要复杂。典型的分布式 并发控制算法 是人所熟知的两阶段 上锁(ZP L)协议的某个 变形,依赖于锁表的放置

16、和锁的管理。分布式的可靠性协议 由分布式 的提交协议和恢复过程组成。提交协议为了保证任何 给定的事务处理 有同样的效果(提交或放弃),强加了分 布式 事务处理的可分性,而恢复协议确定了全局数据库的一致性是如何从失败中恢复过来的。在分布式环境 中,提 交协 议是两阶段(ZPC)协议,在 第一阶段,各种节点之间权衡 并综合考虑事务处理的命运;在第二阶段,在第阶段的基础1:采取动作。数据的冗余性增加了数据库的可靠性。一些在某一个 节点不能访问的数据如果也存放在 别的节 点l:,那么就还可以对这些数据进行访问。但是,对这种数据冗余即数据拷贝的支持需要往控制协议的实现 中加入特定的一31一技术研讨计 算机系统应用1499N02拷贝访问语义。最直接的一个 语义是 拷贝的等 价性,这可以通 过ROWA(只 能读一个 拷贝,必 须写所有 的拷贝)协议来实现。在ROWA之中,对重复数据顶上的 一个逻 辑读操作可以转换成对它的任何一个拷贝的物理 读操作,但 是一个逻辑写操作则被转换成 对它的所 有拷贝的物 理写操作。还有一种更为 复杂的、有较少限 制的拷贝控 制协议,这主要是推迟在一些拷

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号