1第9章分布式数据库系统2本章重要概念(1)(1)分布计算的三种形式:处理分布,数据分布,功能分布。(2)C/S系统,工作模式,技术特征,体系结构,两层、三层、多层C/S结构。(3)DDBS的定义、特点、优点、缺点和分类;分布式数据存储的两种形式(分片和分配)。3本章重要概念(2)(4)DDB的体系结构:六层模式,分布透明性的三个层次,DDBS的组成,DDBMS的功能和组成。(5)分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。(6)分布式数据库的并发控制和恢复中出现的问题,以及处理机制。4前言随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。本章将分别介绍这两种技术。5目录集中计算与分布计算客户机/服务器系统分布式数据库系统概述分布式数据存储分布式数据库的体系结构分布式查询处理分布式数据库中的并发控制和恢复技术6集中计算与分布计算(1)“集中计算”概念存取请求用户终端主机DB∫∫处理结果集中式DB的结构通信线路7集中计算与分布计算(2)“分布计算”概念①处理分布:单点数据,多点处理。②数据分布:多点数据,多点处理。③功能分布:功能分布在不同计算机上。8集中计算与分布计算(3)客户机/服务器系统的结构存取请求用户客户机服务器DB∫∫处理结果网络C/S系统的结构9目录集中计算与分布计算客户机/服务器系统分布式数据库系统概述分布式数据存储分布式数据库的体系结构分布式查询处理分布式数据库中的并发控制和恢复技术10C/S系统C/S系统的计算模式C/S系统的体系结构C/S结构的演变网络服务器的类型119.2.1C/S系统的计算模式(1)1.C/S结构的工作模式客户机的主要任务有七项:管理用户界面,接受用户数据,处理应用逻辑,生成DB请求,向S端发DB请求,从S端接受结果,格式化结果。服务器的主要任务有七项:接收来自C端的DB请求,处理对DB的请求,格式化结果并传给C端,进行完整性检查,维护数据字典、索引,处理数据恢复,优化查询/更新处理。129.2.1C/S系统的计算模式(2)2.C/S环境下应用成分的分布应用程序可分解成四个组成成分:(1)用户界面的显示逻辑:GUI(2)应用逻辑:3GL,4GL(3)事务逻辑:SQL(4)数据管理:Oracle,Sybase,DB213C/S系统的计算模式(3)C/S主要技术特征按功能划分共享资源不对称协议定位透明性基于消息的交换可扩展性14C/S系统的体系结构①服务器②客户机③中间件15C/S结构的演变(1)DB服务器…客户机1客户机N用户用户第一层第二层两层C/S结构16C/S结构的演变(2)DB应用服务器客户机1客户机N用户1用户N第一层第二层DB服务器第三层三层C/S结构用户/S结构17C/S结构的演变(3)用户/S结构18网络服务器的类型①DB服务器②文件服务器③事务服务器④文档服务器⑤Web服务器⑥电子邮件服务器⑦其他应用服务器19目录集中计算与分布计算客户机/服务器系统分布式数据库系统概述分布式数据存储分布式数据库的体系结构分布式查询处理分布式数据库中的并发控制和恢复技术20DDBS概述从集中式、分散式到分布式DDBS的定义DDBS的特点与优缺点DDBS的分类219.3DDBS概述随着传统的DB技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的DBS的研究与开发受到人们的注意。DDB是DB技术与网络技术相结合的产物,在DB领域已形成一个分支。DDB的研究始于20世纪70年代中期。世界上第一个DDBSSDD-1是由美国计算机公司(CCA)于1979年在DEC计算机上实现。20世纪90年代以来,DDBS进入商品化应用阶段,传统的RDB产品均发展成以计算机网络及多任务操作系统为核心的DDB产品,同时DDB逐步向C/S模式发展。22从集中式、分散式到分布式随着数据库应用的不断发展,规模的不断扩大,逐渐感觉到集中式系统也有不便之处。如大型DBS的设计和操作都比较复杂,系统显得不灵活并且安全性也较差。因此,采用将数据分散的方法,把数据库分成多个,建立在多台计算机上,这种系统称为分散式系统。在这种系统中,数据库的管理、应用程序的研制等都是分开并相互独立,它们之间不存在数据通信联系。由于计算机网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来,这样形成的系统称为分布式数据库系统(DDBS)。DDBS兼有集中式和分散式的优点。这种系统有多台计算机组成,各计算机之间由通信网络相互连系着。23DDBS的定义分布式系统是用通信网络连接起来的结点(亦称为“场地”)的集合,每个结点都是拥有集中式数据库的计算机系统。分布式数据库系统(DDBS)是物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(即独立处理)能力并能完成局部应用,而每一场地也参与(至少一种)全局应用,程序通过网络通信子系统执行全局应用。分布式数据库(DDB)是计算机网络环境中各场地上数据库的逻辑集合。分布式数据库管理系统(DDBMS)是DDBS中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性和完备性。24DDBS的特点和优缺点(1)DDBS的基本特点物理分布性数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。逻辑整体性数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。场地自治性各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。场地之间协作性各场地虽然具有高度的自治性,但是又相互协作构成一个整体。25DDBS的特点和优缺点(2)DDBS的其他特点数据独立性集中与自治相结合的控制机制适当增加数据冗余度事务管理的分布性26DDBS的特点和优缺点(3)DDBS的优点具有灵活的体系结构适应分布式的管理和控制机构经济性能优越系统的可靠性高、可用性好局部应用的响应速度快可扩展性好,易于集成现有的系统27DDBS的特点和优缺点(4)DDBS的缺点系统开销较大,主要花在通信部分。复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。数据的安全性和保密性较难处理。28DDBS的分类同构同质型DDBS各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。同构异质型DDBS各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQLServer等。异构型DDBS各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。29目录集中计算与分布计算客户机/服务器系统分布式数据库系统概述分布式数据存储分布式数据库的体系结构分布式查询处理分布式数据库中的并发控制和恢复技术30分布式数据存储数据分片数据分配31数据分片(1)水平分片按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。垂直分片把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。导出分片又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。混合分片以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。32数据分片(2)数据分片必须遵守下面三条规则完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。33数据分配数据分配的目标安全系统性能主要方式集中式所有数据片段都安排在同一个场地上分割式所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上全复制式数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本混合式这是一种介乎于分割式和全复制式之间的分配方式34目录集中计算与分布计算客户机/服务器系统分布式数据库系统概述分布式数据存储分布式数据库的体系结构分布式查询处理分布式数据库中的并发控制和恢复技术35DDB的体系结构体系结构分布透明性分布式数据库管理系统36DDB的体系结构(1)…………全局外部级全局外模式……全局外模式全局概念级全局概念模式映象1分片级分片模式分片模式分片模式分配级分配模式分配模式分配模式映象2映象3局部内部级局部概念级局部概念模式局部内模式局部概念模式局部概念模式局部内模式局部内模式局部数据库局部数据库局部数据库映象5映象4……………分布式数据库集中式数据库增加部分原有部分37DDB的体系结构(2)全局外模式:全局应用的用户视图。全局概念模式:全局数据的逻辑结构。分片模式:定义片段。分配模式:定义各片段的物理存放场地。局部概念模式:场地上数据的逻辑结构。局部内部式:场地上数据的物理结构。38DDB的体系结构(3)R2R1R23R33R43R11R21R12R22R3R4R全局关系物理映象S1(场地1)S2(场地2)S3(场地3)逻辑片段全局关系R的逻辑片段与物理映象39DDB的体系结构(4)分层的模式结构是DDB提供的一种通用的概念结构数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。40分布透明性(1)用户(全局应用)全局外模式全局概念模式分片模式分配模式局部概念模式局部内模式数据库映象1:(逻辑独立性)映象1:分片透明性映象1:位置透明性映象1:局部数据模型透明性映象1:(逻辑独立性)分布式增加的结构集中式原有的结构分布透明性图9.12DDB中的映象和数据独立性41分布透明性(2)分片透明性用户编写程序只须对全局关系进行操作,不必考虑数据的分片及存储场地。位置透明性用户编写程序时必须指出片段的名称,但不必指出片段的存储场地。局部数据模型透明性用户编写程序时必须指出片段的名称,还须指出片段的存储场地,但不必指出场地上使用的是何种数据模型。42DDBMS(1)DDBS的组成框架全局用户GDDGDB局部用户全局用户局部用户计算机LDBMSGDBMSLDDLDBLDDLDBGDDGDB网络全局用户GDDGDB局部用户LDDLDB计算机LDBMSGDBMS计算机LDBMSGDBMS43DDBMS(2)一个DDBMS的功能主要有下面五点:•接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。•访问网络数据字典,了解如何请求和使用其中的信息。•如