第9章 分布式数据库系统.ppt_第1页
第9章 分布式数据库系统.ppt_第2页
第9章 分布式数据库系统.ppt_第3页
第9章 分布式数据库系统.ppt_第4页
第9章 分布式数据库系统.ppt_第5页
免费预览已结束,剩余48页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/9/28,1,第9章 分布式数据库系统,计算机教研室 刘金岭,2020/9/28,2,本章主要概念,(1)分布计算的三种形式:处理分布,数据分布,功能分布。 (2)C/S系统,工作模式,技术特征,体系结构,两层、三层、多层C/S结 构。 (3)DDBS的定义、特点、优点、缺点和分类;分布式数据存储的两种形 式(分片和分配)。,(4)DDB的体系结构:六层模式,分布透明性的三个层次,DDBS的组 成,DDBMS的功能和组成。 (5)分布式查询处理的查询代价,基于半连接的优化策略,基于连接的优 化策略。 (6)分布式数据库的并发控制和恢复中出现的问题,以及处理机制。,2020/9/28,

2、3,前 言,随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应 用范围的扩充,数据库应用已经普遍建立于计算机网络之上。 集中式数据库系统表现出它的不足: 数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大; 应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高; 集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。 在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。 分布计算主要体现在客户机服务器模式和分布式数据库体系结构两个方 面。本章将分别介绍这两种技术。,2020/9/28,4,1.“集中计算”概念,“集

3、中计算”系统=“主机”+“终端”,图9.1 集中式DB的结构,早期的DBS,单点数据 单点处理,主机(大型机),用户数据 用户程序,2020/9/28,5,缺点: 数据处理易形成瓶颈; 数据传输开销大; 对主机要求高。,优点: 系统管理方便; 效率高。,集中式数据库系统的不足: 造成通信开销大; 当主机发生故障,则整个系统受到影响,可靠性不高; 系统的规模和配置都不够灵活,系统的可扩充性差。 因此必然会产生集中式DB的“集中计算”概念向“分布计算”概念发展。,2020/9/28,6,2.“分布计算”概念,处理分布:“数据集中”而“处理分布”,即构成一个单点数据,多点处理的数据库。 数据分布:

4、“数据分布”且“处理分布”,即构成一个多点数据,多点处理的数据库。 功能分布:把DBMS和应用处理功能分开。,图9.2 客户机/服务器系统的结构,2020/9/28,7,9.2 客户机/服务器系统,内容: C/S结构的计算模式; C/S环境下应用成分的分布; C/S主要技术特征; C/S系统的体系结构; C/S结构的演变; 网络服务器的类型。,2020/9/28,8,9.2.1 C/S系统的计算模式 1、C/S结构的工作模式 原则:将计算机的应用任务分解成多个子任务,由多台计算机分工完成,即“功能分布”的原则。 客户机主要任务 服务器主要任务 管理用户界面 接受来自客户机的数据请求 接受用户数

5、据 处理对数据库的请求 处理应用逻辑 格式化结果并传给客户机 生成数据库请求 进行完整性检查 向数据库发出数据请求 维护数据字典、索引 从服务器接受结果 处理数据恢复 格式化结果 优化查询/更新处理,2020/9/28,9,2、C/S结构的工作模式 一个典型的应用程序可分为四个组成部分。,DB,2020/9/28,10,3、C/S系统的主要技术特征,(1)按功能划分:服务器是服务的提供者,客户机是服务的消费者。,(2)共享资源:一个服务器可以在同一时刻为多个客户机提供服务,并且具有并发控制、封锁能力协调多用户对于共享资源的访问。,(3)不对称协议:在客户机与服务器之间存在一种多对一的主从关系。

6、,(4)定位透明性:C/S系统向客户提供服务器位置的透明性服务。,(5)基于消息的交换:客户机和服务器通过消息传递机制互相协作。,(6)可扩展性:C/S系统可以水平地或垂直地扩展。,2020/9/28,11,9.2.2 CS系统的体系结构,在C/S环境下,客户机、服务器和中间件等三大部分够成了C/S模式的基础结构。,数据库服务,中间件 (C/S的接口的软件包),服务器 (提供数据服务),客户机 (应用界面和交互功能),图 9.4 C/S系统的体系结构图,2020/9/28,12,9.2.3 CS结构的演变,两层CS结构,图9.5 两层C/S结构,两层C/S结构是将应用系统的计算机简单分为客户机

7、和服务器。,2020/9/28,13,三层CS结构,图9.7 WWW的三层C/S结构,图9.6 三层C/S结构,三层C/S结构是将应用系统分为:客户机,应用服务器和DB服务器。,Web数据库应用的是三层CS结构,如下图:,2020/9/28,14,多层CS结构,图9.8 多层C/S结构,多层C/S结构中引入了中间层组件。 多层结构可以由以下三类分层来定义: 前端的客户层:负责提供可以移植的表达逻辑。 中间应用层:实现各类业务逻辑。 后端的数据与服务层:提供对专门服务(例如DB服务器)的访问。 多层结构又称为浏览器/服务器(Browser/Server,简记B/S)结构。下图是使用浏览器访问网络

8、数据库的四层结构。,2020/9/28,15,9.2.4 网络服务器的类型,按网络所提供的应用服务,服务器有如下的分类: DB服务器 文件服务器 事务服务器 文档服务器 Web服务器 电子邮件服务器 其他应用服务器 (参见教材P368),2020/9/28,16,9.3 分布式数据库系统概述,随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司

9、(CCA)于1979年在DEC计算机上实现。20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机服务器模式发展。,2020/9/28,17,9.3.1 从集中式、分散式到分布式,随着数据库应用的不断发展,规模的不断扩大,逐渐感觉到集中式系统也有不便之处。如大型DBS的设计和操作都比较复杂,系统显得不灵活并且安全性也较差。因此,采用将数据分散的方法,把数据库分成多个,建立在多台计算机上,这种系统称为分散式系统。在这种系统中,数据库的管理、应用程序的研制等都是分开并相互独立,它们之间

10、不存在数据通信联系。 由于计算机网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来,这样形成的系统称为分布式数据库系统(DDBS)。DDBS兼有集中式和分散式的优点。这种系统有多台计算机组成,各计算机之间由通信网络相互连系着。,2020/9/28,18,9.3.2 DDBS的定义,分布式系统是用通信网络连接起来的结点(亦称为“场地”)的集合,每个结点都是拥有集中式数据库的计算机系统。 定义9.1 DDBS是物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(即独立处理)能力并能完成局部应用,而每一场地也参与(至少一种)全

11、局应用,程序通过网络通信子系统执行全局应用。 定义9.2 DDB是计算机网络环境中各场地上数据库的逻辑集合。 定义9.3 DDBMS是DDBS中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性和完备性。,DDBS主要体现在数据的”物理分布性”和”整体的逻辑性”,2020/9/28,19,分布式数据库示意图,2020/9/28,20,9.3.3 DDBS的特点和优缺点(一),DDBS的基本特点: 物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。 逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。

12、场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。 场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。,2020/9/28,21,9.3.3 DDBS的特点和优缺点(二),DDBS的其他特点,数据独立性 :应用程序与数据的全局逻辑结构、数据的物理结构无关。,集中与自治相结合的控制机制 :DBMS具有自制的功能;同时又设有集中控制机制。,适当增加数据冗余度 :DDBS通过冗余数据提高系统的可靠性、可用性和改善系统性能。,事务管理的分布性 :一个全局事务的执行可分解为在若干场地上子事务(局部事务)的执行。,2020/9/28,22

13、,9.3.3 DDBS的特点和优缺点(三),DDBS的优点 具有灵活的体系结构:大部分的局部事务管理和控制就地解决,只有涉及其它场地数据时才通过网络作为全局事务处理。,适应分布式的管理和控制机构 :DDBS的结构符合企业分布的组织结构。允许各部门对其身数据实行局部控制,而涉及其它场地数据库中的数据知识少量的。,经济性能优越 :性能价格比一般要优于集中式数据库的设备。,系统的可靠性高、可用性好 :系统的局部故障一般不会引起全局的失控。,局部应用的响应速度快 :局部应用只涉及到访问本地数据库。,可扩展性好,易于集成现有的系统 :只要对原有的局部数据库系统做某些改动,就可以形成分布式系统。,2020

14、/9/28,23,9.3.3 DDBS的特点和优缺点(四),DDBS的缺点 系统开销较大,主要花在通信部分 。 复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。 数据的安全性和保密性较难处理。,2020/9/28,24,9.3.4 DDBS的分类,同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。 同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。 异构型DDBS:各个场地的数据模型的型号不

15、同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。,当前,对一些小型数据库(同一场地的中小企业、商务网站 等)还都应用集中式数据库系统。,2020/9/28,25,本次课主要内容,集中式与分布式的应用及它们的联系。 C/S模式的体系结构。 分布式数据库的概念及优缺点。 作 业 P394 9.1 9.2 9.3 9.4 9.5,2020/9/28,26,上次课主要内容,集中式与分布式的应用及它们的联系。 C/S模式的体系结构。 分布式数据库的概念及优缺点。 本次课重点内容 分布式数据库的存储、体系结构、查询

16、处理、并发控制和恢复技术。,2020/9/28,27,9.4.1 数据分片(一),DDBS中的数据可以被分割和复制在网络场地的各个物理数据库中.数据存放的单位不是关系而是片段(Fragment). 水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。 垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。 导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。 混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。,

17、2020/9/28,28,9.4.1 数据分片(二),在定义各类分片时必须遵守下面三条原则: 完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。 可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用连接操作重构全局关系。 不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。,2020/9/28,29,9.4.2 数据分配,数据分配是指数据在计算机网络各场地上的分配策略.DDBS中,数据存储是先数据分片再数据分配. 集中式:所有数据片段都安

18、排在同一个场地上。 分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。 全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。 混合式:这是一种介乎于分割式和全复制式之间的分配方式。,2020/9/28,30,9.5 分布式数据库的体系结构,图9.10 DDB的体系结构,2020/9/28,31,9.5.1 体系结构(一),分布式数据库系统的体系结构有如下六个层次: 全局外模式 :全局应用的用户视图。 全局概念模式:可用传统的集中式数据库中所采用的定义方法来定义DDB中全局数据的逻辑结构。 分片模式:定义片段以及定义全局关系与片段之间的

19、映像。 分配模式:根据选定的数据分配策略,定义各片段的物理存放场地。 局部概念模式:该场地上所有全局概念模式在该场地上物理映象的集合。 局部内部式:描述的内容不仅包含局部本场地的数据的存储描述,还包括全局数据在本场地的存储描述。,2020/9/28,32,9.5.1 体系结构(二),图9.11 全局关系R的逻辑片段与物理映象,同一个逻辑片段在不同场地上的物理映象相同,且其中一个为正本,其他为副本。,2020/9/28,33,9.5.1 体系结构(三),分层的模式结构有三个显著的特征 数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。 数据冗余的显式控制。数据在各个场地的分配情况在分配

20、模式中一目了然,便于系统管理。 局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。,2020/9/28,34,9.5.2 分布透明性(一),图9.12 DDB中的映象和数据独立性,在DDB的六层模式结构之间存在着五级映象。,2020/9/28,35,9.5.2 分布透明性(二),2020/9/28,36,9.5.3 分布式数据库管理系统 (一),DDBS的组成框架,图9.13 DDBS的组成框架,2020/9/28,37,9.5.3 分布式数据库管理系统 (二),一个DDBMS的功能主要有下面五点: 接受用

21、户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。 访问网络数据字典,了解如何请求和使用其中的信息。 如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。 通信接口功能。在用户、局部DBMS和其他计算机的DBMS之间进行协调。 在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在着差别。,2020/9/28,38,9.5.3 分布式数据库管理系统 (三),当用户请求一个查询时,往往会引起大量的数据传输。因此,尽量采用 最佳优化算法,提高传输效率。该模块由查询分析和优化处理两部分组成。,一是确定使用的数据副本:确定供查询使

22、用的数据副本及该副本所在的场地, 并且尽可能使这一代价极小化。二是维护数据库的完整性,提高并发控制机制。,向有关场地发布命令,使相应场地的DBMS执行这些局部处理;同时,发布命 令在相应场地之间进行必要的数据传输;最后,完成查询并回传结果。,负责不断地监视系统的各个部分是否有故障出现。修复后,将该部分重新并入 系统,使之继续有效地运行,并保持数据库的一致性状态。,2020/9/28,39,9.6.1 分布式查询例子分析(1),2020/9/28,40,9.6.1 分布式查询例子分析(2),假设用户在场地B执行这个查询,则有两种简单的策略:,如果优化准则要求考虑使数据传输量最小化,就应选择策略三

23、。,显然,应该选择策略二。,系统对查询进行优化就是要选择一个处理代价较小的查询策略。,2020/9/28,41,9.6.2 查询代价的估算方法,2020/9/28,42,9.6.3基于半连接的优化策略(1),数据在网络中传输时,都是以整个关系(也可以是片段)传输,显然这是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都参与连接操作或都有用。因此,不参与连接的数据或无用的数据不必在网络中来回传输。这个思想引出了基于半连接的优化策略。 这个方法的基本原理是采用半连接操作,在网络中只传输参与连接的数据。,2020/9/28,43,9.6.3基于半连接的优化策略(2),假设关系R在场地1,关

24、系S在场地2,在场地2需要获得 RS的结果。如果在场地2直接计算RS的值,那么需要先把关系R从场地1传输到场地2,其执行示意图见图9.15。显然,传输R的数据量较大。 可以采用半连接方法计算连接操作的值。方法如下(设R和S的公共属性为B):RS =(R B(S) S =(R S)S。等式右边的式子称为“半连接程序”。,图9.15 连接的执行示意图,图9.16 基于半连接的执行示意图,2020/9/28,44,9.6.4 基于连接的优化方法(一),两个关系在同一场地 : 嵌套循环法:顺序扫描外层关系R,对R的每一个元组扫描内层关系S,查找在连接属性上一致的元组,把匹配的元组组合起来使之成为连接结

25、果的一部分。这种方法要求扫描一次关系R和扫描card(R)(关系R的元组数)次关系S(可见S的元组越少越好),以查找匹配的元组。 排序扫描法:先把两个关系按连接属性进行排序,然后按照连接属性值的顺序扫描这两个关系,使匹配的元组成为连接结果的一部分。这种方法对两个关系都只扫描了一次。但增加了排序代价。,2020/9/28,45,9.6.4 基于连接的优化方法(二),两个关系在不同场地 : 整体传输:若有连接操作RS,R为外层关系,S为内层关系。如果传送的是内层关系S,则在目的地必须把它存入一个临时关系中(因为S将被多次扫描,但传输量少)。如果传送的是外层关系R,则内层关系S可直接使用依次到来的R

26、元组,而无需保存R(但传输量大)。 按需传输:只传输所需连接的元组,一次一个元组,无需临时存储器。因为每次提取都要求交换一次信息,所以传输代价较高,只有在高速局部网络中才是合理的。,2020/9/28,46,9.7.1 DDB中的问题,对于并发控制和恢复。 数据项的多拷贝问题:由于DDB存在着冗余,有可能一个数据存储在多个场地,因此并发控制方法和恢复方法都应保证这些拷贝间的一致性。 单个场地的故障:当系统中一个或多个场地发生故障时,DDBMS应当继续和其他正在运行的场地一起工作。当一个场地得到恢复时,它的局部数据库必须在它与系统重连接之前保持和其他场地同步。 通讯网络的故障:系统必须有能力处理

27、一个或多个连接场地的通讯故障。这个问题的极端情况是发生网络分割,即将网络分割成若干分区,每个分区内的场地可以相互通讯,而不同分区内的场地不能通讯。 分布式提交:如果某些场地在提交过程中发生故障时,提交用于访问存储在多个场地数据库的事务时也会产生问题。 分布式死锁:死锁可能会在若干场地中发生,处理死锁的技术必须要扩充以考虑这种情况。,2020/9/28,47,9.7.2 基于数据项识别拷贝的分布式并发控制,主场地技术 :指派单个主场地(rimary Site)作为所有数据项的协调者场地特点:所有的封锁都保留在主场地上;所有的封锁和解锁请求都被传送到主场地 优点:是集中式方案的简单扩充,所以不复杂

28、。 缺点:所有封锁请求被送到单个场地,可能会超负荷形成系统的瓶 颈;主场地的故障会使系统瘫痪。,有备份场地的主场地技术 : 此时指派第二个场地为备份场地(Backup Site),所有的封锁消息都保存在主场地和备份场地上。,主拷贝技术:在各个场地上分担封锁配合的负担,通过存储在不同场地的不同数据项的识别拷贝来实现。,发生故障时选择一个新的协调者场地技术:每当协调者场地发生故障时,启动选举算法,找到新的协调者场地。,有备份场地的主拷贝技术 :主拷贝技术可以采用备份场地来提高可靠性和可用性。,2020/9/28,48,9.7.3 基于投票方法的分布式并发控制,在投票方法中,没有识别拷贝,而封锁请求被发送到所有包含该数据项拷贝的场地上。每个拷贝维护它自己的锁并且可以授予或拒绝封锁。如果一个请求封锁的事务被大多数的拷贝授予锁的话,它将持有该锁并告知所有的拷贝它已经获得锁。如果一个事务在给定的间隔时间段中没有获得授予它锁的大部分投票的话,它将取消它的请求并把取消决定告知所有的场地。,投票方法被认为是真正的分布式并发控制方法,因为决策的职责驻留在所有涉及到的场地上。经实验表明,投票方法在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论