




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 人类社会不断发展进步,当今社会已进入信息时代。计算机技术的发展使得 快速处理大量数据成为可能,特别是数据库系统的出现和发展则成为信息和数据 处理的强有力工具。2 0 世纪8 0 年代以来,随着计算机网络迅速发展和不断进步, 数据库技术与计算机网络技术相结合,形成又一新领域一分布式数据库。 本文围绕分布式数据库技术研究这一中心做了如下工作: 首先介绍了数据管理的发展历程和分布式数据库原理及体系结构。 其次,探讨分布式数据库的数据分布透明性,事务处理,两段提交协议,并 发控制,分布式两段锁协议等关键技术。 再次,结合一个分布式数据库银行模拟系统的设计,来研究分布式数据库系 统的使用特征,并针对设计中遇到的闯题进行分析和阐述,而后提出解决方案。 最后,对分布式数据库的发展方向做出了进一步的展望。 关键字:分布透明性,事务处理,两段提交协议 并发控制,分布式两段锁协议。 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fh u m a n s o c i e t y , w e h a v ee n t e r e di n t oa r li n f o r m a t i o n e r a t h ed e v e l o p m e n to f c o m p u t e rt e c h n o l o g yh a se n s u r e dt h ep r o m p tp r o c e s s i n go f h u g ea m o u n to fd a t a e s p e c i a l l y 、订t 1 1t h ee m e r g i n g o fd a t a b a s es y s t e mw h i c hb e c o m e s t h em o s te 伍c i e n tt o o lf o ri n f o r m a t i o na n dd a t ap r o c e s s i n g s i n c e19 8 0 s ,t h ec o m p u t e r n e t w o r kt e c h n o l o g yh a s d e v e l o p e de x t r e m e l y f a s ta n dan e wr e s e a r c ha r e ao f d i s t r i b u t e dd a t a b a s es y s t e mh a sa p p e a r e db yc o m b i n i n gt h ed a t a b a s et e c h n o l o g ya n d c o m p u t e r n e t w o r k t h i st h e s i sm a i n l yd i s c u s s e sd i s t r i b u t e dd a t a b a s et e c h n o l o g ya n di l l u s t r a t e sa s b e l o w : f i r s t l y , ii n t r o d u c et h ed e v e l o p m e n th i s t o r yo f d a t am a n a g e m e n t ,t h et h e o r y , s y s t e ma n d s t r u c t u r eo fd i s t r i b u t e dd a t a b a s es y s t e m s e c o n d l id i s c u s st h ek e yt e c h n o l o g i e ss u c ha s d i s t r i b u t i o nt r a n s p a r e n c yo f d i s t r i b u t e d d a t a b a s e ,t r a n s a c t i o nm a n a g e m e n t ,t w o p h a s e l o c k i n g c o m m i t m e n t p r o t o c o l ,c o n c u r r e n c yc o n t r o la n d d i s t r i b u t e dt w o p h a s el o c k i n gp r o t o c 0 1 t h i r d l v im a k er e s e a r c hi n t ot h e a p p l i c a t i o n c h a r a c t e r i s t i c so fd i s t r i b u t e d d a t a b a s es y s t e mb yd e s i g n i n gam o c k i n gb a n ks y s t e mo fd i s t r i b u t e dd a t a b a s ea n d a n a l y z et h ep r o b l e me n c o u n t e r e dd u r i n gt h ep r o c e s s a n dt h e np u tf o r w a r ds o m e s u g g e s t i o n st os o l v et h e m f i n a l l y , id i s c u s st h ef u t u r eo f d i s t r i b u t e dd a t a b a s e k e y w o r d :d i s t r i b u t i o nt r a n s p a r e n c y , t r a n s a c t i o nm a n a g e m e n t , t w o - p h a s el o c k i n g c o m m i t m e n t p r o t o c o l , c o n c u r r e n c yc o n t r o l , d i s t r i b u t e dt w o p h a s el o c k i n gp r o t o c 0 1 引言 引言 数据库是通用化的相关数据集合,它不仅包括数据本身,而且包括关于数据 之间的联系。数据库技术产生于6 0 年代末,7 0 年代初。在计算机的三大主要应 用领域( 科学计算、数据处理与过程控制) 中,数据处理约占7 0 左右的比重。 汁算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类信息系 统对数据管理的要求,在文件系统的基础上发展起了数据库系统。 数据库技术主要研究如何存储、使用和管理数据,是计算机数据管理技术发 展的最新阶段。4 0 年来,数据库在理论上、实际技术上均取得很大的发展,研 制出许多商用数据库管理系统,使得计算机应用渗透到各行各业的各类管理工作 中。管理信息系统、办公自动化系统、决策支持系统等都是使用了数据库管理系 统或数据库技术的计算机应用系统。 与此同时,计算机网络以其不断创新、不断适应更多的领域也取得了喜人的 成就。数据库和计算机网络技术相互渗透和有机结合形成了一个新的领域一一 分布式数据库系统。分布式数据库要管理的不是单个数据库系统,而是分布于 许多不同地域上的多个数据库系统,它是为了更能适应一个特定需求的高效的 信息管理的要求。数据库技术和计算机网络技术的融合形成了一种更新的信息 处理技术。 分布式数据库是在集中式数据库系统的基础上发展起来的,但它不是简单的 把集中式数据库分散的实现,而是具有自己的性质和特征的系统。相对于集中式 数据库,分布式数据库在数据独立性、数据共享和减少冗余、并发控制、完整性、 安全性和恢复等方面有了不同的更加丰富的内容。 第一章计算机数据管理的发展历程 第一章计算机数据管理的发展历程 数据处理的中心是数据管理。与任何其他技术的发展一样,计算机数据管理 也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件( 主要是外 存储器) 、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如 下四个阶段: 人工管理阶段 文件系统阶段 数据库系统阶段 分布式数据库系统阶段 第一节人工管理阶段 5 0 年代中期以前,计算机主要用于科学计算。当时在硬件方面,外存储只 有卡片、纸带、磁带,没有像磁盘这样可以随机访问、直接存取的外部存储设备。 软件方面,没有专门管理数据的软件,数据由计算或处理它的程序自行携带。数 据处理方式基本是批处理。数据与应用程序之间的关系如图j 所示。 i ; r。i l 应用程序nr 1 数据集n1 酉1 1 人i 营理数据s 程孛豹关系 第一章计算机数据管理的发展历程 这一时期数据管理的特点是: 数据与程序不具有独立性。 一组数据对应一组程序。这就使得程序依赖于数据,如果数据的类型、格式 或者数据量、存取方法、输入输出方式等改变了,程序必须作相应的修改。 数据不长期保存。 由于数据是面向应用程序的,在一个程序中定义的数据,无法被其他程序利 用,因此程序与程序之间存在大量的重复数据。 系统中没有对数据进行管理的软件。 数据管理任务,包括存储结构、存取方法、输入输出方式等完全由程序设计 员自负其责。这就给应用程序设计人员增加了很大的负担。 第二节文件系统阶段 5 0 年代后期至6 0 年代中后期,计算机开始大量地用于管理中的数据处理工 作,大量的数据存储、检索和维护成为紧迫的需求。在硬件方面,可直接存取的 磁鼓、磁盘成为主要的外部存储设备。在软件方面,出现了高级语言和操作系统。 操作系统中的文件系统( 有的也称为信息处理模块) 是专门管理外存的数据管理 软件。数据处理方式有批处理,也有联机实时处理。 在这一阶段,程序与数据有了一定的独立性,程序和数据分开存储,有了程 序文件和数据文件的区别。数据文件可以长期保存在外存储器上多次存取,如进 行查询、修改、插入、删除等操作。数据的存取以记录为基本单位,并出现了多 种文件组织形式,如顺序文件、索引文件、随机文件等。在文件系统的支持下, 数据的逻辑结构与物理结构之间可以有一定的差别,逻辑结构与物理结构之间的 转换由文件系统的存取方法来实现。数据与程序之间有设备独立性,程序只需用 文件名访问数据,不必关心数据的物理位置。这样,程序员可以集中精力在数据 处理的算法上,而不必考虑数据存储的具体细节。数据的逻辑结构是指呈现在用 户面前的数据结构。数据的物理结构是指数据在物理设备上的实际存储结构。 例如,用户看到的记录是按照记录号顺序排列的,而实际上这些记录可能是 分散存储在磁盘的不同扇区里,用链接方式组织在起的。用户访问文件时只需 给出文件名、逻辑记录号,而不必关心记录在存储器上的地址和内存、外存之间 交换数据的过程。 此阶段的数据与程序的关系如图j 2 所示。 第一章计算机数据管理的发展历程 萤1 j 2 文件系统数据s 程守的关系 文件系统阶段对数据的管理虽然有了长足的进步,但一些根本性问题仍然没 有彻底解决,主要表现在以下三个方面: 数据冗余度大。 数据冗余是指不必要的重复存储,同一数据重复出现在多个文件中。在文件 系统下,数据文件基本上与各自的应用程序相对应,数据不能以记录和数据项 为单位共享。即使有部分数据相同,只要逻辑结构不同,用户必须各自建立自己 的文件,这不仅浪费存储空间,增加空间开销。更严重的是,由于不能统一修改, 容易造成数据的不致性。 屯 缺乏数据独立性。 文件系统中的数据文件是为了满足特定业务部门的专用需求而设计的。服务 于某一特定应用程序。数据和程序相互依赖,如果改变数据的逻辑结构或文件的 组织方法,必须修改相应的应用程序。同样道理,如果修改应用程序,如改用另 一程序设计语言来编写程序,也将影响数据文件的结构。 数据无集中管理。 除了对记录的存取由文件系统承担以外,文件没有统一的管理机制,其安全 性与完整性无法保证。数据的维护任务仍然由应用程序来承担。文件是无结构的 数据集合。无结构是指各个数据文件之间是独立的,缺乏联系,不能反映现实世 界事务之间的联系。 这些问题阻碍了数据处理技术的发展,不能满足日益增长的信息需求,这正 是数据库技术产生的原动力,也是数据库产生的背景。应用需求和计算机技术的 发展促使人们研究一种新的数据管理技术一数据库技术。 第一章计算机数据管理的发展历程 第三节数据库系统阶段 从6 0 年代后期开始,计算机应用于管理的规模更加庞大,需要计算机管理 的数据量急剧增长,并且对数据共享的需求日益增强。大容量磁盘( 数百兆字节 以上) 系统的开发,使得计算机联机存取大量数据成为可能:软件价格上升,硬 件相对价格下降,使独立开发系统维护软件的成本增加。文件系统的数据管理方 法已经无法适应开发应用系统的需求。为解决数据的独立性问题,实现数据的统 一管理,达到数据共享的目的,发展了数据库技术。例如,某个企业、组织或是 行业所涉及的全部数据的汇集。其数据结构独立于使用数据的应用程序,对于数 据的增加、删除、修改和检索由系统进行统一的控制,而且数据模型也有利于将 来应用的扩展。 现在,数据库已成为各类信息系统的核心基础。在数据库管理系统支持下 数据与程序的关系如留3 所示。 强i 3 数据痒系统数据s 程穿的关系 为了让多种应用程序并发的使用数据库中具有最小冗余的共享数据,必须 是数据与程序具有较高的独立性。这就需要一个软件系统对数据实行专门管理, 提供安全性和完整性等统一控制机制,方便用户以交互命令或程序方式对数据库 进行操作。 数据库( d a t a b a s e ) 是通用化的数据关系集合,它不仅包括数据本身,而且 包括关于数据之间的联系。数据库中的数据不只是面向某一项特定应用,而是面 向多种应用,可以被多个用户、多个应用程序共享。为数据库的建立、使用和维 4 第一章计算机数据管理的发展历程 护而配置的软件称为数据库管理系统d b m s ( d m a b a s em a 】1 a g e m e n ts y s t e m ) 。它 是在操作系统支持下运行的。目前较流行的数据库管理系统包括o r a c l e , s y b a s e ,d b 2 ,s q ls e r v e r 等。 数据库系统的主要特点是: 实现数据共享,减少数据冗余。 在数据库系统中,对数据的定义和描述已经从应用程序中分离出来,通过数 据库管理系统来统一管理。数据的最小访问单位是数据项,既可以按数据项的名 称存取数据库中某一个或一组数据项,也可以存取一条记录或一组记录。建立数 据库时,应当以面向全局的观点组织数据库中的数据,而不能像文件系统那样仅 仅考虑某一部门的局部应用。 采用特定的数据模型。 整个组织的数据不是一盘散沙,必须表示出数据之间所存在的有机的联系, 才能反映现实世界事物之间的关系。也就是说,数据库中的数据是有结构的,这 种结构由数据模型表示出来。数据库系统不仅表示实体的各个属性之间的关系, 而且表示实体之间的关系。 数据独立性。 在数据库系统中,d b m s 提供映象的功能,确保应用程序对数据结构和存取 方法有较高的独立性。数据的物理存储结构与用户看到的逻辑结构可以有很大差 别。用户只以简单的逻辑结构来操作数据,无需考虑数据在存储器上的物理位置 与结构。 有统一的数据控制功能。 数据库作为多个用户和应用程序的共享资源,对数据库的存取往往是并发 的,即多个用户同时使用同一个数据库。数据库管理系统必须具有并发控制功能、 数据的安全性控制功能和数据的完整性控制功能。 第四节分布式数据库系统阶段 7 0 年代后期之前,数据库系统多数是集中式的。分布式数据库系统是数据 库技术和计算机网络技术相结合的产物,在8 0 年代中期已有商品化产品问世。 分布式数据库是个逻辑上统一、地域上分布的数据集合,是计算机网络环境中 的各个结点局部数据的逻辑集合,共同受分布式数据库管理系统的控制和管理, 如图1 4 所示。 第一章计算机数据管理的发展历程 图1 4 分布式数据库系统 分布式数据库在逻辑上像一个集中式数据库系统,实际上数据存储在处于不 同地点的计算机网络的各个结点上。每个结点有自己的局部数据库管理系统,它 有很高的独立性。用户可以由分布式数据库管理系统( 网络数据库管理系统) , 通过网络通讯互相传输数据。分布式数据库系统有高度透明性,每台计算机上的 用户并不需要了解它所访问的数据究竟在什么地方,就像在使用集中式数据库一 样。其主要优点有: 局部自主 网络上每个结点的数据库系统都具有独立处理本地事务的能力,而且各局部 结点之间也能够互相访问、有效地配合处理更复杂的事务。因此,分布式数据库 系统特别适合各个部门的地理位置分散的组织机构。例如,银行业务,飞机订票、 企业管理等。 可靠性和可用性 分布式数据库系统比集中式数据库系统有更高的可靠性,在个别结点或个别 通信链路发生故障的情况下可以继续工作。一个局部系统发生故障不至于导致整 个系统停顿或是破坏,只要有一个结点上的数据备份可用,则数据是可用的。可 见,支持一定程度的数据冗余是充分发挥分布式数据库系统优点的先决条件之 一。当然,同时要付出维护数据致性的维护代价。 第一章计算机数据管理的发展历程 效率和灵活性 分布式系统分散了工作负荷,缓解了单机容量的压力。数据可以存储在临近 的常用结点,如果本结点的数据子集包含了要查询的全部内容,显然比集中式数 据库在全集上查找节省时间。另外,分布式数据库系统易于实现扩展。例如,一 个单位要增加新的子机构,分布式数据库系统能够在对现有系统影响较小的情况 下实现扩充。由此,扩大系统规模比集中式数据库系统更加方便、经济、灵活。 本章小结本章介绍了计算机数据管理的发展历程,经历了人工管理阶段、 文件系统阶段、数据库系统阶段和分布式数据库系统阶段,一个由低级到高级的 发展过程。 7 第二章分布式数据库定义及体系结构 第二章分布式数据库定义及体系结构 7 0 年代中期以来,由于计算机网络通信的迅速发展,以及地理上分散的公 司、团体和组织对于数据库更为广泛的需求,在集中式数据库系统成熟技术的基 础上产生和发展了分布式数据库。分布式数据库是数据库技术和网络技术两者相 互渗透和有机结合的结果。 本章介绍分布式数据库系统的基本概念,包括什么是分布式数据库。分布式 数据库的模式结构,分布透明的层次,分布式数据库管理系统。 第一节分布式数据库概述 什么样的一个数据库系统才算是分布式数据库系统呢? 一个粗略的定义是: “分布式数据库是由一组数据组成的,这些数据物理上分布在计算机网络的 不同结点( 亦称为场地) 上,逻辑上是属于同一个系统的”。 这个定义,强调了下面两点: 分布性:数据库中的数据不是存储在同一的场地( 更确切地讲,不存储 在同一计算机的存储设备上) 。这就可以和集中式数据库相区别。 逻辑整体性:这些数据逻辑上是相互联系的,是一个整体( 逻辑上如同 集中式数据库) 。这就可以和分散在计算机网络不同结点上的数据库或文件系统 集合相区别。后者各结点的数据之间没有内在的逻辑联系。所以在讨论分布式数 据库时就有了全局数据库( 逻辑) 和局部数据库( 物理) 的概念。 但是这个定义仍是不精确的,我们来分析两个例子。 例1 见留2 j ,这个系统中有三台计算机,每台计算机有自己的数据库系统, 三台计算机之间用网络( 局部网或者远程通信网,视三台计算机之间的距离而定) 相连。每台计算机有自己的若干终端。用户可以通过终端对本结点中的数据库执 行某些应用( 称之为局部应用) ,也可以通过终端对二个或二个以上结点中的数 据库执行某些应用( 称之为全局应用或分布应用) 。这样的系统是分布式数据库 系统,而不支持全局应用的系统不能称为分布式数据库系统。一个典型的全局应 用的例子是银行转帐。这个应用要求从一个分行的帐户( 不妨设在d b l ) 中转 若干金额到另一个分行的帐户( 不妨设在d b 2 ) 中去,因此要局对更新两个结 点上的数据库。 第二章分布式数据库定义及体系结构 萤2 j 1 一个分稚式数据痒系统 3 这个例子说明:区分一个系统是局部数据库集合还是分布式数据库系统的技 术要点是:系统是否支持全局应用。所谓全局应用是指应用中涉及二个或二个以 上结点中的数据库。它和只存取本结点数据库的应用不同,和只存取另一个结点 ( 或远程结点) 数据库的应用也是不同的。支持全局应用的技术要复杂和困难得 多。因为在全局应用情况下必须确保两个更新操作( 一个事务,例如转帐) 或者 都执行,或者都不执行。 例2 见目2 2 ,这个系统的配置和座f 1 的不同点是:三个数据库通过后端 计算机( 简称后端机) 和局部网相连。后端机执行数据库管理功能。所有的应用 都由前端机处理。尽管发出这些应用的终端可分布在不同的场地,数据库也物理 的分布在各个不同的处理机上,但这样的系统不是分布式数据库系统而是一个多 处理机系统。其原因是没有局部应用,即每个后端计算机不能由它本身来执行自 己的局部应用,数据的物理分布并不是对应用观点而言的分布。而分布式数据库 不仅要求数据的物理分布,而且要求这种分布是面向处理的,面向应用的。 第二章分布式数据库定义及体系结构 强2 2 一个多处理枧系统 总结上面的例子,可以得出分布式数据库的一个更确切定义: 分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算 机上。网络中的每个结点具有独立处理的能力( 称为场地自治) ,可以执行局部 应用。同时,每个结点也能通过通信子系统执行全局应用。 这个定义比前一个定义更强调了场地的自治。性( a u t o n o m o u s ) 以及自治场地 之间的协作性。这就是说,每个场地是独立的数据库系统:它有自己的数据库, 自己的一组终端,自己的中央控制器,运行它自己的局部d b m s ,执行局部应用, 具有高度的自治性。同时又相互协作组成一个整体,这种整体的含义是,对于用 户来说,一个分布式数据库系统逻辑上看如同一个集中式数据库系统一样。用户 可以在任何一个场地执行全局应用。 第二章分布式数据库定义及体系结构 第二节分布式数据库系统的体系结构 这一节讨论分布式数据库系统的体系结构( 包括模式结构和分布式数据库管 理系统的结构) 。同时进一步阐述分布式数据库系统的基本概念。 一、模式结构 j 全局外模式l1 全局外模式ii 全局外模式i j 映象l 一。a 蜗l c o 黔n c e p 艇t u a ls 。胁 ,一 分布式数据 l 映象2库增加的 、 、,fm分e”“”io型n。出。 映象3 n 挑兰慕 瓣tr 。 ,一局部概念模式 局部概念模式局部概念模式 lil 、叫局部内模式i 局部内模式ii 局部内模式i集中警謦摄 占的 蚕由由库_ r 图2 3 分布式数据库系统的模式结构 第二章分布式数据库定义及体系结构 留2 3 是分布式数据库系统的一种模式结构示意图。实际的系统并非都具有 这种结构。在这个结构中各级模式的层次清晰,可以概括和说明任何分布式数据 库系统的概念和结构。 图2 3 的模式结构从整体上可以分为两大部分:下面是集中式数据库的模式 结构,代表了各局部场地上的局部数据库系统的基本结构。上面是分布式数据库 系统增加的模式级别。 全局外模式它们是全局应用的用户视图,是全局概念模式的子集。 全局模式概念它定义分布式数据库中数据的整体逻辑结构,数据就如根 本没有分布一样。全局概念模式中所用的数据模型应该易于向其他层次的模式映 象,通常采用关系模型。因此,我们也选用关系模型。这样,全局概念模型包括 一组全局关系的定义。 分片模式每一个全局关系可以分为若干不相交的部分,每一部分称为一 个片段( f r a g m e n t ) 。分片模式定义片段以及全局关系到片段的映象。这种映象 是一对多的,一个片段来自一个全局关系,而一个全局关系可对应多个片段。 分布模式片段是全局关系的逻辑部分,一个片段在物理上可以分配到网 络的不同结点上。分布模式定义片段的存放结点。分布模式的映象类型确定了分 布式数据库是冗余的还是非冗余的。若映象是一对多的,即一个片段分配到多个 结点上存放,则是冗余的分布式数据库。若映象是一对一的,则是非冗余的分布 式数据库。 根据分布模式提供的信息,一个全局查询可以分解为若干个子查询,每一个 子查询要访问的数据属于同一场地的局部数据库。由分布模式到各局部数据库的 映象( 映象4 ) 把存储在局部场地的全局关系或全局关系的片段映象为各局部概 念模式。局部概念模式采用局部场地的d b m s 所支持的数据模型。 分片模式和分布模式均是全局的。分布式数据库系统中增加的这些模式和相 应的映象使分布式数据库系统具有了分布透明性。 二、数据分片 将数据分片,使数据存放的单位不是关系而是片段,这既有利于按照用户的 需求较好地组织数据的分布,也有利于控制数据的冗余度。 分片的方式有多种。水平分片和垂直分片是两种基本的分片方式。混合分片 和导出分片是较复杂的分片方式。 水平分片是指按照一定的条件将关系按行( 水平方向) 分为若干不相交的子 集,每个子集为关系的一个片段。 垂直分片是指将关系按列( 垂直方向) 分为若干子集。垂直分片的片段必须 12 第二章分布式数据库定义及体系结构 能够重构原来的全局关系,即可以用连接的方法恢复原关系。因此垂直分片的诸 片段通常都包含关系的码。 导出分片是指导出水平分片,即水平分片的条件不是本身属性的条件而是其 他关系的属性的条件。例如学生选课关系s c ( s n o ,c n o ,g ) ,若不是按照学 号或课程号或成绩的某类条件分片,而是按照学生年龄 1 8 岁3 1 1 1 8 岁的学生选课组成的片段s ca ( s n o ,c n o ,由下面的查询结果 组成: s e l e c ts n o ,c n o ,g f r o ms ,s c w h e r es s n o = s c s n oa n ds a g e 1 8 : 年龄 控制报文的数量及长度。这是分布式数据库系统中特别要考虑的。控制 报文一般来说不长,但传送的次数频繁。它们虽不是用来传送数据,但在分布式 事务的执行中是必不可少的。每次每个报文传输的费用很少,但每次为准备传输 报文却占用大量c p u 时间。因此,尽量减少报文的传输次数是分布式事务管理 第三章事务处理 所追求的,而集中式事务则无需控制报文的传输。 响应时间。由于分布式数据库系统中存在通讯的开销,因此其响应速度 比集中式事务要慢。追求快的响应速度是分布式事务管理的又一目标。 可用性。在分布式数据库系统中,如果一个场地上的计算机系统发生故 障,就停止整个分布式系统的工作,这是不可接受的。这就是系统的可用性问题。 因此,分布式事务的管理要尽量做到,当系统的一部分或局部发生故障时,保证 系统可以正常运转,至少局部的正常运转,而不致使整个系统瘫痪。 总之,分布式事务管理的目标就在于:维护分布事务的原子性、可串行性、 隔离性及持久性,尽量减少c p u 及内存的开销,减少控制报文传送的次数,加 速事务的响应速度,获得最大的系统可用性。 四、分布式事务模型 和集中式事务一样,分布式事务是一个应用的操作序列,是用户对数据库存 取操作序列的执行的最小单元。它也具有事务的头部、操作序列和事务的尾部。 从其外表上看,它和集中式事务具有相同的事务模型。它也使数据库从一个一致 的状态改变到另个一致的状态。然而在执行时,分布式事务对分布式数据库的 存取经转换、分解、优化后,产生一个涉及到用通讯原语联系的多个局部数据的 存取操作序列,称为全局事务。这个分布执行计划可以分解为涉及相应场地上的 局部数据库的操作序列,即各场地上的子事务组成。 全局事务在并发执行时要求原子性、可串行性、持久性、隔离性。全局事务 的子事务在调度执行时也要求可串行性、可恢复性。事实上,全局事务的调度保 证事务的正确执行,它也包括涉及各物理场地的局部调度,保证局部数据库的一 致,同时也包括通过通讯协议对子事务的执行进行协调,保证全局数据库的一致 性。为了完成各场地的子事务的处理功能,全局事务必须为每一子事务在相应的 场地上创建一个代理者进程,每一个代理者都是一个局部进程。同时,为了协调 各子事务的操作,全局事务还要启动一个协调者进程,来控制和协调各代理者间 的操作,进行代理者间的通讯。 一般有多种方法来构造协调进程之间的结构,这里我们先假设如下所述的进 程结构: 存在一个协调者进程,这个进程一般由事务的始发场地启动,当用户提 出一个用户请求时,就在请求的始发场地启动该进程。 协调者进程负责控制事务的执行,协调代理者之间的操作,发出事务的 开始、提交或夭折等原语。 只有协调者才可以请求创建新的代理者。 22 第三章事务处理 例1 留3 2 俐给出了一个应用程序员编写的事务,该事务执行两个帐户间 的转帐操作,其操作的对象是全局关系a c c o u n t ( a c cn o ,a m o u n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 债权回收协议书模板模板
- (2025年标准)卖家协商协议书
- 男方支付补偿款协议合同
- 托管临时用工协议书模板
- 往届生三方协议劳动合同
- 投标委托成交协议书范本
- 旅游项目合作协议书合同
- 房屋门市转让合同协议书
- (2025年标准)转让农药工厂协议书
- 旅游度假合同范本
- GB/T 21652-2017铜及铜合金线材
- GB/T 12234-2019石油、天然气工业用螺柱连接阀盖的钢制闸阀
- 全套教学课件《公共艺术(音乐)》
- 高中数学《基于问题链的数学教学探索》课件
- (卓越绩效)质量奖申报材料
- 同创伟业投资分析报告(附358家被投企业介绍)
- 数学-四年级(上册)-人教版-《亿以上数的认识及读法》教学课件
- 政治经济学ppt课件汇总(完整版)
- 消费者行为学全书电子教案完整版课件
- 互联网保险概述课件
- 怎样做一名合格的高校中层领导干部( 54页)
评论
0/150
提交评论