收藏 分享(赏)

第8章 分布式数据库.ppt

上传人:tkhy51908 文档编号:8010426 上传时间:2019-06-04 格式:PPT 页数:90 大小:997KB
下载 相关 举报
第8章 分布式数据库.ppt_第1页
第1页 / 共90页
第8章 分布式数据库.ppt_第2页
第2页 / 共90页
第8章 分布式数据库.ppt_第3页
第3页 / 共90页
第8章 分布式数据库.ppt_第4页
第4页 / 共90页
第8章 分布式数据库.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、数据库系统基础教程(第2版),叶小平 汤 庸 汤 娜 潘 明 编著,普通高等教育“十一五”国家级规划教材,清华大学出版社,2,随着数据库技术日趋成熟,传统集中式数据库系统 显现出一些自身弱点和不足。 由于物理上分散的公司、团体和组织对数据库提出更为广泛的应用需求, 由此,作为数据库技术和网络技术相互渗透、有机结合的分布式数据库受到人们广泛关注,成为数据库发展一个重要方向。,第8章分布式数据库,3,传统数据库系统作为一种主机/终端式系统,表现出明显的集中式数据库体系结构。 集中式数据库基本特征: “单点”数据存取 “单点”数据处理。,8.1 分布式数据库系统,8.1.1集中式与分布式,4,数据库

2、管理系统、所有用户数据以及应用程序都安装和存储在一个“中心”计算机系统当中。其通常为大型机,也称为主机。 用户通过终端发出存取数据请求,由通信线路传输到主机。 主机予以响应并加以相应处理,再由通信线路将处理结果返回用户终端。 集中式数据库结构如图8-1所示。,8.1 分布式数据库系统,8.1.1集中式与分布式,5,8.1.1集中式与分布式,6,在网络环境下,“分布计算”具有下述三种含义。 (1)处理分布 基本特征:数据集中,处理分布 网络中各用户结点向同一数据库存取数据,然后在各自结点进行处理。 处理分布作为一种单点数据、多点处理方式,只是在相当于智能终端的用户计算机上具有应用处理能力,并增加

3、网络接口以便在网络环境中运行,所以本质仍属于集中式数据库,本章不讨论这种情形。,8.1.1集中式与分布式,7,(2)功能分布 基本特征: 网络中每个结点都是一个通用计算机,同时执行分布式功能和应用程序。 为解决计算瓶颈口问题,需将数据库管理功能和应用机制分开。 某些结点专门执行数据库管理系统功能,称之为数据库服务器(DB Server)。 另外一些结点上专门处理用户应用程序,称之为客户机(Client)。,8.1.1集中式与分布式,8,(3)数据分布 基本特征: 数据分布在不同物理结点上,但构成一个逻辑整体。 各结点具有独立处理本地数据库中数据能力。 各结点还具有存取处理其他站点数据库中数据能

4、力。 数据分布实现途径就是分布式数据库技术,这是本章讨论重点内容。,8.1.1集中式与分布式,9,分布式数据库(distributed database,DDB)是由一组物理上分布在网络不同结点而在逻辑上属于同一系统的多个数据库子系统组成,这些数据库子系统分散在计算机网络不同计算实体之中,每个结点具有独立处理数据的站点自治能力,同时也可通过网络通信系统执行全局应用。 由上述定义可知,DDB具有“物理分布性”和“逻辑整体性”,8.1.2 DDB基本概念,10,DDBS具有“六层模式五级映射”的体系结构 物理分布性 数据存储在不同计算机的存储设备当中,而不是集中存储于一个结点,这不同于数据存放在服

5、务器上而由客户共享的网络数据库系统。 逻辑整体性 数据在物理上分散存储,但在逻辑上相互关联,构成整体,数据被所有用户(全局用户)共享,有一个DDBMS统一管理,这不同于由网络连接的多个独立的数据库。,8.1.2 DDB基本概念,11,1.六层模式结构 图8-3是一种分布式数据库的分层模式结构,可从整体上分为两大部分: 集中式模式结构 由最底两层组成,本质上是集中式数据库原有模式结构,式各站点局部分布式数据库结构; 分布式模式结构 由上面四层组成,是DDBS新增加的分布式模式结构,8.1.2 DDB基本概念,12,8.1.3 DDB模式结构,13,(1) 全局外模式 全局外模式层 全局应用的用户

6、视图,可看作全局概念模式的一个子集。一个分布式数据库可有多个全局外模式。 (2)基于分布的概念模式 该层是基于DDBS基本要求构建,包括三个结构层面。,8.1.3 DDB模式结构,14, 全局概念模式层 类似于集中式数据库的概念模式,它定义DDB中全体数据的逻辑结构,是整个DDB所有全局关系的描述。提供了DDBS数据的物理独立性,而全局外模式提供了数据的逻辑独立性。,8.1.3 DDB模式结构,15, 分片模式层 描述数据在逻辑上如何进行划分。每个一个全局关系可划分为若干个互不相交的片(fragment),片是全局关系的逻辑划分,在物理上位于网络的若干个结点上。全局关系和片之间的映射在分片模式

7、层中定义,这种映射通常是一对多。 一个全局关系可对应多个片,而一个片只能来自一个全局关系,8.1.3 DDB模式结构,16, 分配模式层 定义了片的存储结点,即定义了一个片位于哪一个结点或哪些结点。,8.1.3 DDB模式结构,17,(3)局部数据库模式结构 局部概念模式层 全局关系被逻辑划分成为一个或多个逻辑分片,每个逻辑分片被放置在一个或多个站点,称为逻辑分片在某站点的物理映像或分片。 分配在同一站点的同一全局概念模式的若干物理片断构成全局模式的一个物理映像。一个站点局部概念模式是该站点所有全局概念模式物理映像集合。全局概念模式与站点无关,而局部概念模式相关。,8.1.3 DDB模式结构,

8、18, 局部内模式层 DDB中关于物理数据库的描述,与集中式数据库内模式相似,但描述内容不仅包含局部本站点数据存储,也包含全局数据在本站点存储描述。,8.1.3 DDB模式结构,19,2.五级映射与分布透明 集中式数据库中 数据独立性通过两级映射实现。 在DDB中,六层模式间存在着五级映射: 映射1:全局外模式层到全局概念模式层之间映射。 映射2:局部概念模式层到分片层之间映射。,8.1.3 DDB模式结构,20, 映射3:分片层到分配层之间的映射。 映射4:分配层到局部概念模式层之间映射。 映射5:局部概念层到局部内模式层之间映射。,8.1.3 DDB模式结构,21,映射1和5类似集中式数据

9、库中体现逻辑与物理独立性的 “两级映射”。 映射2、3和4是DDB所特有。DDB中为突出其基本特点,数据独立性通常包括数据的 “分布透明性”。 映射2、3和4体现的相应独立性分别称为数据的“分片透明性”、“位置透明性”和“模型透明性”,三者就组成了数据的 “分布透明性”。,8.1.3 DDB模式结构,22,(1)分片透明性 分片透明性(fragmentation transparency)是最高层面的分布透明性,由位于全局概念层和分片层之间的映射2实现。当DDB具有分片透明性时,应用程序只需要对全局关系操作,不必考虑数据分片及存储站点。当分片模式改变时,只需改变映射2即可,不会影响全局概念模式

10、和应用程序。,8.1.3 DDB模式结构,23,(2)位置透明性 位置透明性(location transparency)由位于分片层和分配层的映射3实现。 当DDB不具有分片透明性但具有位置透明性时,编写程序需要指明数据片断名称,但不必指明片断存储站点。 当存储站点发生改变时,只需改变分片模式到分配模式之间映射3,而不会影响分片模式、全局概念模式和应用程序。,8.1.3 DDB模式结构,24,(3)局部数据模型透明性 局部数据模型透明性(local data transparency)也称为局部映像透明性或模型透明性,由位于分配模式和局部概念模式之间的映射4实现。 当DDB不具有分片透明性和

11、位置透明性,但具有模型透明性时,用户编写的程序需要指明数据片断名称和片断存储站点,但不必指明站点使用的是何种数据模型,而模型转换和查询语言转换都由映射4完成。,8.1.3 DDB模式结构,25,1. DDBS基本概念 分布式数据系统(distributed database system,DDBS)由DDB和DDBMS组成。 DDB分为局部数据库(LDB)和全局数据库(GDB)。,8.1.4分布式数据库系统,26, DDBMS分为局部数据库管理系统(LDBMS)和全局数据库管理系统(GDBMS)。 用户分为局部用户和全局用户。 DBA分为局部数据库管理人员(LDBA)和全局数据库管理人员(CD

12、BA)。,8.1.4分布式数据库系统,27,2.DDBS基本特征 (1)数据分布透明性 数据独立性是数据库技术需实现基本目标之一。 在集中式数据库,数据独立性分为逻辑和物理独立性,要求应用程序与数据逻辑结构和物理结构无关。 在DDBS中,数据独立性包括数据的逻辑、物理独立性和数据的分布透明性,具有更广泛含义。,8.1.4分布式数据库系统,28,数据分布透明性要求用户或应用程序不必关心数据的逻辑分片、数据物理位置分配细节以及各个站点数据库使用何种数据模型,可以像使用集中式数据库一样对物理上分布的数据库进行数据操作。,8.1.4分布式数据库系统,29,(2)集中与自治相结合控制机制 DDBS中数据

13、共享有两个层面, 局部共享:每个站点上各个用户可共享本站点数据,以完成局部应用; 全局共享:系统中用户可以共享各站点存储数据,以完成全局应用。,8.1.4分布式数据库系统,30,相应控制机构也分为两个层面:集中控制和自治控制。 局部DBMS独立管理局部数据库,具有自治功能,同时系统也设有集中控制机制,协调各个局部DBMS工作,执行全局管理功能。,8.1.4分布式数据库系统,31,(3)适度数据冗余性质 集中式数据库中冗余消耗存储空间,可能引起数据不一致等,除非特别需要总是追求尽量减少冗余。 在DDBS中,数据冗余却可作为提高系统可靠性、可用性和改善基性能的基本手段。 当一个站点出现故障时,通过

14、数据冗余,系统就可以对另一个站点相同副本进行操作,避免因个别站点故障而使整个系统瘫痪。,8.1.4分布式数据库系统,32,同时,系统也可通过选择距用户最近的数据副本进行操作,减少通信代价,改善整个系统性能。 由于DDBS是集中式数据库的拓广,数据冗余也会带来各副本间数据可能不一致的问题,设计时需要权衡利弊,优化选择。,8.1.4分布式数据库系统,33,(4)事务管理分布性质 数据分布引发事务执行和管理分布,一个全局事务执行能够分解为在若干个站点上子事务(局部事务)的执行。 事务的ACID性质和事务恢复具有分布性特点。,8.1.4分布式数据库系统,34,DDB各个站点数据在逻辑上是一整体,但数据

15、存放却是分散。对于关系数据库中关系R,通常使用“数据复制”和“数据分片”来存储数据库。 数据复制 数据复制(data replication)即将关系R的若干个完全相同的副本分别存储在不同的站点。,8.2 分布式数据存储,35,数据分片 数据分片(data fragmentation)将R分割成几个部分,每部分存储在不同站点. 数据复制和数据分片可以结合起来使用,即将R分割成几片之后,每个分片再拥有几个副本,分别存储在不同的站点之中。,8.2 分布式数据存储,36,1.数据复制 当DDB中存在着数据分片时,数据分布在各个站点上,此时结合采用数据复制技术则具有“连续操作性增强”和“本地自治性提高

16、”的优势。,8.2.1 数据复制方法,37, 连续操作性 设某数据在不同站点存有副本,当一个全局事务在某站点涉及此数据时,只要此站点存在数据副本,就能“就地”读取和操作,不会因为站点没有相应数据而影响这一全局事务连续执行。,8.2.1 数据复制方法,38, 系统自治性 本地自治性部分事务可以在本地副本上进行,而不需要通过网络和远程的站点进行通信,从而提高系统自治性能,同时也减少信息传输开销,。 采用数据复制技术也会带来如下需要考虑的问题:,8.2.1 数据复制方法,39, 更新传播 由于存在多个副本,一旦某个副本发生改动操作,如何进行操作使得所有副本保持一致,此时即是传播更新的问题。,8.2.

17、1 数据复制方法,40, 冗余控制 数据复制就是数据冗余,此时有三种冗余方式。 完全冗余分配: 每个站点都配置一个完整数据库,由于存在大量副本,可连续操作性强,操作所需数据均在本地则查询效率高,但此时会导致传播更新困难。,8.2.1 数据复制方法,41,非冗余分配: 每个片段存在于惟一站点上,所有片段都不相交(除垂直片段的关键字属性)。 部分冗余分配: 介于前述两者之间,某些片段只存在于一个站点,没有冗余,另外一些片段则存在于多个站点。,8.2.1 数据复制方法,42, 数据独立 用户操作时感觉不到副本的存在,数据就像没有复制过一样,即副本对于用户透明。,8.2.1 数据复制方法,43,2.更

18、新传播 当数据存在大量副本时,当一个副本发生了更新,就必须及时将这种更新传播到所有副本上去,以保证数据一致性。 更新传播有下述两种方式。,8.2.1 数据复制方法,44, 更新内容传播到所有副本 此时可能会出现下述问题: 如果一个副本当时的状态是不可修改的(站点故障、站点关闭和通信故障等),则导致对更新对象的修改失败,涉及到对象修改的事务也相应失败; 如果所有副本的状态都可以修改,则整个修改的性能将取决于速度最慢的站点。,8.2.1 数据复制方法,45, 将一副本指定为主副本(primary copy)其余指定为从属副本 完成了对主副本更新即认为在逻辑完成了所有副本更新。拥有主副本的站点负责将

19、更新传播到其它所有从属副本上去。 此时各副本修改不同步进行,不能保证各个副本在某一时刻的绝对一致性。,8.2.1 数据复制方法,46,例如在银行系统中,个人账户可同其开户站点联系起来,将其开户站点上数据作为主副本。当用户异地存取资金时,首先更新开户站点数据,再更新其他副本上数据。,8.2.1 数据复制方法,47,数据分片有“水平分片”、“垂直分片”、“导出分片”和“混合分片”四种基本方式。 无论哪种分片都应当满足下述条件: 完备性条件 必须将全局关系所有数据都映射到分片中,在划分片段时不允许存在这样的属性,其属于全局关系但不属于任何数据分片。,8.2.2 数据分片,48, 不相交性条件 全局关

20、系被分片后所得到的各个数据分片互不重叠,但对垂直分片的主键除外。 可重构性条件 分片后数据片通过适当操作重新构建全局关系。 水平分片:通过并操作重构全局关系 垂直分片:通过连接操作重构全局关系。,8.2.2 数据分片,49,1.水平分片 按照行的关系(关系的水平方向)将全局关系分成若干个不相交的元组子集,每个子集均为关系的一个片断,具有必要的逻辑意义。 水平分片通过对关系进行选择运算实现。 例8-1 设有如下表所示学生信息关系表S(S#,Sn,Sa,Sd).,8.2.2 数据分片,50,8.2.2 数据分片,51,8.2.2 数据分片,按照系别水平分片,将S关系水平分片为S-CS和S-IS如下

21、两图所示,52,2.垂直分片 按照列的方向(关系的垂直方向)将关系分为若干个子集,每一个子集保留了关系的某些属性。 例8-2 将学生信息关系S按照垂直分片分解为S-1(S#,Sn,Sa)和S-2(S#,Sd)如下两表所示。,8.2.2 数据分片,53,8.2.2 数据分片,54,3.导出分片 即“导出”的水平分片,此时,定义水平分片的选择条件不是关系本身的属性条件而是其他关系的属性条件。 设如下表所示学生选课关系SC(S#,C#,G),8.2.2 数据分片,55,8.2.2 数据分片,56,如果不是按照S#或C#或G的某个条件分片,而是按照学生年龄小于19和大于等于19分片,此时由于Sa不是S

22、C的属性,由此得到的水平分片就是导出分片。可以使用下述SQL语句表示上述两个数据分片。,8.2.2 数据分片,57,学生年龄小于19的学生课程关系分片SC-1(S#,C#,G)是下述查询的结果: SELCET S#,C#,G FROM S,SC WHERE S.S#=SC.S# AND S.Sa19;,8.2.2 数据分片,58,学生年龄大于或等于19的学生课程关系分片SC-1(S#,C#,G)是下述查询的结果: SELCET S#,C#,G FROM S,SC WHERE S.S#=SC.S# AND S.Sa=19;,8.2.2 数据分片,59,4.混合分片 交替使用水平分片和垂直分片,比

23、如先用水平分片的方式得到某一个分片再采用垂直分片的方式对这个分片进行再分片。 这种分片方式由于在实际操作中具有较大的复杂性,因此很少使用。 (见教材p247例8-3),8.2.2 数据分片,60,查询处理是用户与数据库之间接口。 在分布式环境下,查询可以分为“局部查询”、“远程查询”和“全局查询”三种类型。 局部查询:只涉及本地站点 远程查询:只涉及一个外地站点 两者都只涉及单一站点数据,仍以集中式查询方法进行相关操作。 集中式查询开销:数据存取延迟时间。,8.3分布式数据查询,8.3.1 分布式查询处理,61,全局查询:涉及数据分布在多个站点,其中包括站点之间数据交换。 此时查询开销需要加上

24、 “存取延迟时间” “传输数据数量/传输数据速度”。,8.3.1 分布式查询处理,62,数据传输速度是一个相对常量,取决于通信站场所间的通信速度。 存取延迟时间和传输数据量值取决于查询处理所采取存取策略。 采用不同存取策略,时间开销差别可以很大(高达几个数量级)。,8.3.1 分布式查询处理,63,集中式数据库查询开销公式为: CPU代价+I/O代价 CPU代价以 ms计算,可忽略不计;磁盘I/O比内存I/O代价大得多,此时查询开销主要是磁盘I/O代价。 DDB中,需考虑通信网络速度,查询开销公式为: CPU代价+I/O代价+通信代价,8.3.1 分布式查询处理,64,1.半连接优化策略 数据

25、在网络中夫人传送以整个关系或关系片进行,这是一种冗余方法。 将一个关系从一个站点传送到另一个站点后,并非传输中每个数据都参与运算例如连接运算。不参与运算的数据实际上可以不必传送。 基于上述考虑,可得到所谓半连接优化策略,基本点是在网络中只传送参与连接的数据。,8.3.2 分布式查询优化,65,(1)半连接代数运算 关系R和系S半连接(semi-join)运算结果记为RS,表示先进行R和S自然连接,再将结果投影在R的属性集上,也就是说 RS R(RS) 由此可知,R和S半连接是从R中选出与S连接时可匹配的元组。,8.3.2 分布式查询优化,66,半连接运算说明: 一般来说,RSSR。 可以证明,

26、 RSR(R S(S) 即RS可以采取一种等价方法计算: 先求出S在R和S公共属性集上投影, 再求出R和该投影的自然连接 (见教材实例),8.3.2 分布式查询优化,67,(2)半连接计算策略 设关系R和S分别存储在站点1和站点2,实际应用要求在站点2获得自然连接RS,直接进行操作如图8-16所示。,8.3.2 分布式查询优化,68,8.3.2 分布式查询优化,69,设R和S公共属性集合为T,按照如下步骤实现半连接计算策略: Step 1 在站点2计算S在公共属性T上投影 T(S) Step 2 将T(S)由站点2传输到站点1。 Step 3 在站点1连接运算 R1 = RT(S)。,8.3.

27、2 分布式查询优化,70,Step 4 将R1由站点1传输到站点2。 Step 5 在站点2进行连接运算 R1S=(RT(S)S 其中, Step 1 、 Step 3和Step 5不需通信开销。,8.3.2 分布式查询优化,71,2.连接优化策略 连接优化策略分为两种情形。 (1)连接关系在同一站点 优化算法与集中式相同。根据两个关系的扫描顺序,将其中之一看成是外层关系(例如R),将另外一个看成是内层关系(例如S)。 外层关系看作前一连接结果。有两种策略选择。,8.3.2 分布式查询优化,72,嵌套循环 顺序扫描外层关系R,对R每个元组扫描内层关系S,查找在连接属性上一致的元组。将匹配的元组

28、组合起来使之成为连接结果的一部分。 这种方法要求扫描一次关系R和card(R)次关系S以查找匹配的元组。此时S的元组越少越好。,8.3.2 分布式查询优化,73,排序扫描 将两个关系按照连接属性进行排序,然后依照连接属性值顺序扫描这两个关系,使匹配的元组成为连接结果的一个组成部分。 此时,对两个关系只须扫描一次,但增加了排序代价。,8.3.2 分布式查询优化,74,(2)连接关系不在同一站点 对于存储在不同站点的关系R和S连接,可选择在R站点或S站点进行,也可选择在第三站点进行。在确定好的连接方法时,除了考虑局部代价外,还要考虑通信代价。 通常系统支持两种传送方式:,8.3.2 分布式查询优化

29、,75,整体传送 如需连接R和S,R为外层关系,S为内层关系。当传送内层关系S时,在传送目的地不将其存入一个临时关系当中,这是因为S将被多次扫描。当传送是外层关系R时,内层关系S可直接使用依次到来的R元组,不必保存R,但此时传送量较大。,8.3.2 分布式查询优化,76,按需传送 只传送所需要连接的元组,一次一个元组,不必临时存储器。每次提取都是只交换一次信息,此时传送代价较高,只有在高速网络中按需传送才较为合算。 上述两种策略可以配合使用。,8.3.2 分布式查询优化,77,在集中式环境中,事务具有ACID(原子性、一致性、隔离性和持久性)特性,事务是在单个站点上的单个处理器(该处理器只需要

30、与一个调度器和一个日志管理器进行通信)所执行的一段代码。,8.4 分布式事务管理,78,在分布式环境中,数据分布会导致一个事务涉及多个站点处理。此时,事务可看作由一些相互通信的子事务构成,每个子事务位于不同的站点。 为保持事务ACID特性,需考虑两个问题:,8.4 分布式事务管理,79,如何管理分布式事务提交和回滚? 事务原子性要求组成事务的所有子事务要么全部提交,要么全部回滚。 如何保证涉及多站点分布事务可串行性?,80,分布式环境中常采用两段提交协议(2-Phase-Commitment Protocol,2PC)技术。 在2PC中 ,协调者站点(如事务发起站点) 决定整个分布式事务的提交

31、与回滚,其他执行子事务的是参与者站点,负责管理子事务执行并记录在该站点上发生操作的日志,此时没有全局的日志。 协调者负责和参与者进行通信和消息发送,发送站点需将将发送消息记录到该站点日志中。,8.4.1 故障恢复控制,81,1.2PC第一阶段 协调者将“准备(Prepare)”信息写入站点日志。 协调者将“准备”信息发送给子事务所在站点。 每个接收到消息站点决定子事务提交与回滚。,8.4.1 故障恢复控制,82,如决定事务回滚,将“不提交”(dont commit)写入日志,向协调者发送“不提交”消息。 如决定提交事务,将所有子事务相关操作日志刷新到磁盘。为防站点发生故障,可不取消整个事务,而

32、是根据日志恢复子事务状态。另外,将“就绪”(Ready)消息写入日志,向协调者发送“就绪”消息。,8.4.1 故障恢复控制,83,2. 2PC第二阶段 该阶段由协调者收到自事务各参与者消息开始。 如果没有收到来自于某个参与者消息,在超时后将这些节点视为发送了“回滚”消息。 收到信息中只要有一个“不提交”,协调者在其站点的日志中记录“撤销(Abort)”,同时将“撤销”信息发送给子事务所在的站点。 如果收到信息全部为“就绪”,则协调者在其站点日志中记录提交,同时将“提交”信息发送给子事务所在站点。,8.4.1 故障恢复控制,84, 如站点收到“提交 ” 信息,则提交子事务所有操作,并在日志文件中

33、记录提交。如果站点收到撤销信息,则撤销子事务所有操作,并在日志中记录撤销。,8.4.1 故障恢复控制,85,1.基于数据项识别拷贝的并发控制 DDB中数据项可复制到多个站点,分布式并发控制基本思路是为每个数据对象制定一个特定拷贝作为该数据项的识别拷贝(distinguished copy)。加于该数据项的封锁应与识别拷贝相联系,并且所有封锁和解锁请求都被传送到包含该拷贝的站点。 存储数据项识别拷贝的站点,称为该数据项的协调者站点(Coordinator site)。,8.4.2 事务并发控制,86,(1)主站点封锁法 首先确定一个主副本,处理程序只需向主副本提出封锁请求,再由主副本站点负责其他

34、从属副本封锁事宜。数据的更新也是采用前述更新传播中主副本更新方法。,8.4.2 事务并发控制,87,这种方法可提高系统效率,但因为所有操作都通过主副本站点完成,主副本所在站点就成为整个系统中心点。如果过于繁忙,会使此站点变为系统瓶颈,整个系统效率会因此而降低,同时系统变得脆弱,当主副本所在站点发生故障,整个系统就会处于瘫痪。,8.4.2 事务并发控制,88,(2)主文本封锁法 对每个数据集指定一个文本为主文本。对某数据进行操作时,只要先对数据主文本进行封锁,主文本被封锁就表示数据所有文本都已被封锁。由于不同数据集主文本可能放在不同站点(一般就近分布),所以这种方法使各个站点的负载相对均衡。,8.4.2 事务并发控制,89,2.基于投票方法的并发控制 此时,没有识别拷贝,封锁请求被发送到所有含有该数据拷贝的站点,每个拷贝维护自己的锁并且可以授予或拒绝锁。如果一个请求封锁的事务被大多数拷贝授予锁,它将持有该锁并告知所有拷贝已经获得。如一个事务在给定时间间隔段中没有获得相应授予其锁的大部分投票,它将取消请求并将取消告知所有站点。,8.4.2 事务并发控制,90,投票方法可认为是真正的分布式并发控制技术,决策的职责驻留在所有涉及站点。 实验表明,投票方法在站点之间产生的信息通信量高于识别拷贝方法。如果算法需要考虑投票过程中可能站点故障时,就会变得相当复杂。,8.4.2 事务并发控制,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报