《第11章分布式数据库系统》由会员分享,可在线阅读,更多相关《第11章分布式数据库系统(44页珍藏版)》请在金锄头文库上搜索。
1、第11章 分布式数据库系统 本章主要内容(1)分布计算的三种形式:处理分布,数据分布,功能分布。(2)C/S系统,工作模式,技术特征,体系结构,两层、三层、多层C/S结构。(3)DDBS的定义、特点、优点、缺点和分类;分布式数据存储的两种形式(分片和分配)。(4)DDB的体系结构:六层模式,分布透明性的三个层次,DDBS的组成,DDBMS的功能和组成。(5)分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。(6)分布式数据库的并发控制和恢复中出现的问题,以及处理机制。 前言随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网
2、络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。 在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机服务器模式和分布式数据库体系结构两个方面。本章将分别介绍这两种技术。 11.1 集中计算与分布计算(一)n“集中计算”概念 11.1 集中计算与分布计算(二)n“分布计算”概念 处理分布 数据分布 功能分布 11.1 集中计算与分布计算(三)n客
3、户机服务器系统的结构 11.2.1 C/S系统的计算模式 CS结构的工作模式 CS环境下应用成分的分布 CS主要技术特征 11.2.2 CS系统的体系结构服务器 客户机 中间件 11.2.3 CS结构的演变(一)n两层CS结构 11.2.3 CS结构的演变(二)n三层CS结构 11.2.3 CS结构的演变(三)n多层CS结构 11.2.4 网络服务器的类型DB服务器文件服务器事务服务器 文档服务器 Web服务器 电子邮件服务器 其他应用服务器 11.3 分布式数据库系统概述随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们
4、的注意。 分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司(CCA)于1979年在DEC计算机上实现。 20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机服务器模式发展。11.3.1 从集中式、分散式到分布式n随着数据库应用的不断发展,规模的不断扩大,逐渐感觉到集中式系统也有不便之处。如大型DBS的设计和操作都比较复杂,系统显得不灵活并且安全性也较差。
5、因此,采用将数据分散的方法,把数据库分成多个,建立在多台计算机上,这种系统称为分散式系统。在这种系统中,数据库的管理、应用程序的研制等都是分开并相互独立,它们之间不存在数据通信联系。n由于计算机网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来,这样形成的系统称为分布式数据库系统(DDBS)。DDBS兼有集中式和分散式的优点。这种系统有多台计算机组成,各计算机之间由通信网络相互连接着。 11.3.2 DDBS的定义n分布式系统是用通信网络连接起来的结点(亦称为“场地”)的集合,每个结点都是拥有集中式数据库的计算机系统。 n定义11.1 DDBS是物理上分散逻辑上集中的数据库系统
6、,系统中的数据分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(即独立处理)能力并能完成局部应用,而每一场地也参与(至少一种)全局应用,程序通过网络通信子系统执行全局应用。 n定义11.2 DDB是计算机网络环境中各场地上数据库的逻辑集合。 n定义11.3 DDBMS是DDBS中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性和完备性。 11.3.3 DDBS的特点和优缺点(一)nDDBS的基本特点 物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DD
7、BMS统一管理。场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。 11.3.3 DDBS的特点和优缺点(二)nDDBS的其他特点数据独立性 集中与自治相结合的控制机制 适当增加数据冗余度 事务管理的分布性 11.3.3 DDBS的特点和优缺点(三)nDDBS的优点 具有灵活的体系结构 适应分布式的管理和控制机构 经济性能优越 系统的可靠性高、可用性好 局部应用的响应速度快 可扩展性好,易于集成现有的系统 11.3.3 DDBS的特点和优缺点(四)nDDBS的缺点 系统开销较大
8、,主要花在通信部分 。复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。 数据的安全性和保密性较难处理。 11.3.4 DDBS的分类 同构同质型DDBS: 各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。同构异质型DDBS: 各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。异构型DDBS: 各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全
9、网中各种异构局部库中的数据。11.4.1 数据分片(一)水平分片 按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。垂直分片 把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。导出分片 又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。混合分片 以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。11.4.1 数据分片(二)完备性条件 必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。可重构条件 必须保
10、证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。不相交条件 要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。水平分片事例 例例: : 下下图图所所示示的的工工程程管管理理数数据据库库事事例例中中关关系系PROJPROJ按按工工程程所所在在地地LOCLOC属性值进行划分。其水平分片为:属性值进行划分。其水平分片为:PROJ1LOC”Montreal”(PROJ)PROJ2LOC”New York”(PROJ)PROJ3LOC”Paris”(PROJ)其水平划分的分片如图所示。其水平划分的分片如
11、图所示。 PNOPNAMEBUDGETLOCP1Instrumentation150000MontrealP2Database Develop.135000New YorkP3CAD/CAM250000New YorkP4Maintenance310000ParisPROJPROJ1PNOPNAMEBUDGETLOCP1Instrumentation150000MontrealPROJ2PNOPNAMEBUDGETLOCP2Database Develop.135000New YorkP3CAD/CAM250000New YorkPNOPNAMEBUDGETLOCP4Maintenance31
12、0000ParisPROJ3垂直分片事例 例例:工工程程管管理理数数据据库库事事例例中中关关系系PROJ(PNO,PNAME,BUDGET,LOC)划划分分成成两两个个子子关关系系:一一个个包包括括工工程程预预算算信信息息,即即对对BUDGET属属性性感感兴兴趣趣;一一个个包包括括工工程程信信息息,对对PNAME、LOC属属性性感感兴兴趣趣。为为了了保保证证划划分分后后重重构构,可可将将PNO作作为为公公共共属属性性分分别别包包括括在在这这二二个个分分片片中中。这样这样PROJ可划分为:可划分为: PROJ1PNO,BUDGET(PROJ) PROJ2PNO,PNAME,LOC(PROJ)其垂
13、直划分的分片如图所示。其垂直划分的分片如图所示。PROJ1PNOBUDGETP1150000P2135000P3250000P4310000PROJ2PNOPNAMELOCP1InstrumentationMontrealP2Database Develop.New YorkP3CAD/CAMNew YorkP4MaintenanceParisPNOPNAMEBUDGETLOCP1Instrumentation150000MontrealP2Database Develop.135000New YorkP3CAD/CAM250000New YorkP4Maintenance310000Pari
14、sPROJ 诱导分片事例 例例: 工程管理数据库事例中关系工程管理数据库事例中关系PROJ按工程所在地按工程所在地LOC属性值进行属性值进行 水平划分为:水平划分为: PROJ1LOC”Montreal”(PROJ) PROJ2LOC”New York”(PROJ) PROJ3LOC”Paris”(PROJ) 则使有关联的则使有关联的ASGASG产生诱导划分,其诱导分片为:产生诱导划分,其诱导分片为: ASG1ASG PROJ1ASG LOC”Montreal”(PROJ) ENO,PNO,DESP,DUR(ASG LOC”Montreal”(PROJ)) = ASG (PNO(LOC”Mon
15、treal”(PROJ) 同理:同理: ASG2ASG PROJ2ENO,PNO,DESP,DUR(ASG LOC”New York”(PROJ) ASG3ASG PROJ2ENO,PNO,DESP,DUR(ASG LOC”Paris”(PROJ) 其诱导划分的分片如图所示。其诱导划分的分片如图所示。 PNOPNAMEBUDGETLOCP1Instrumentation150000MontrealP2Database Develop.135000New YorkP3CAD/CAM250000New YorkP4Maintenance310000ParisPROJASGENOPNODESPDUR
16、E1P1Manager12E2P1Analyst24E2P2Analyst6E3P3Consultant10E3P4Engineer48E4P2Programmer18E5P2Manager24E6P4Manager48E7P3Engineer36E8P3Manager40ASG1ENOPNODESPDURE1P1Manager12E2P1Analyst24ENOPNODESPDURE2P2Analyst6E3P3Consultant10E4P2Programmer18E5P2Manager24E7P3Engineer36E8P3Manager40ASG2ENOPNODESPDURE3P4En
17、gineer48E6P4Manager48ASG3PROJ1PNOPNAMEBUDGETLOCP1Instrumentation150000MontrealPROJ2PNOPNAMEBUDGETLOCP2Database Develop.135000New YorkP3CAD/CAM250000New YorkPNOPNAMEBUDGETLOCP4Maintenance310000ParisPROJ3混合分片事例 PROJ1PNOBUDGETP1150000P2135000P3250000P4310000(a)先垂直分片先垂直分片PNOPNAMEBUDGETLOCP1Instrumentati
18、on150000MontrealP2Database Develop.135000New YorkP3CAD/CAM250000New YorkP4Maintenance310000Paris全局关系全局关系PROJPROJ2PROJ3PROJ4(b)后水平分片后水平分片PNOPNAMELOCP1InstrumentationMontrealPNOPNAMELOCP2Database Develop.New YorkP3CAD/CAMNew YorkPNOPNAMELOCP4MaintenanceParis混合分片重构 关系R的混合分片RR1R2R11R12R21R23HHVR22VVVVR1
19、1R12R21R23R22 关系R的重构 11.4.2 数据分配 集中式 所有数据片段都安排在同一个场地上。 分割式 所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。 全复制式 数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。混合式 这是一种介乎于分割式和全复制式之间的分配方式。 11.5 分布式数据库的体系结构11.5.1 体系结构(一)全局外模式 全局概念模式分片模式分配模式局部概念模式局部内部式11.5.1 体系结构(二)11.5.1 体系结构(三)数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。数据冗余的显式控制。数据在各个场
20、地的分配情况在分配模式中一目了然,便于系统管理。局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。11.5.2 分布透明性(一)11.5.2 分布透明性(二)分片透明性 位置透明性局部数据模型透明性11.5.3 分布式数据库管理系统 (一)nDDBS的组成框架 11.5.3 分布式数据库管理系统 (二)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。访问网络数据字典,了解如何请求和使用其中的信息。如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。通信接口功能。在用户、局部DB
21、MS和其他计算机的DBMS之间进行协调。在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在着差别。11.5.3 分布式数据库管理系统 (三)11.5.4基于半联接的优化策略(一)n数据在网络中传输时,都是以整个关系(也可以是片段)传输,显然这是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都参与联接操作或都有用。因此,不参与联接的数据或无用的数据不必在网络中来回传输。这个思想引出了基于半联接的优化策略。n这个方法的基本原理是采用半联接操作,在网络中只传输参与联接的数据。11.5.4基于半联接的优化策略(二)假设关系R在场地1,关系
22、S在场地2,在场地2需要获得 RS的结果。如果在场地2直接计算R S的值,那么需要先把关系R从场地1传输到场地2,其执行示意图见图11.16。显然,传输R的数据量较大。可以采用半联接方法计算联接操作的值。方法如下(设R和S的公共属性为B): R S =(R B(S) S =(R S) S 等式右边的式子称为“半联接程序”。 11.5.4基于半联接的优化策略(三) 本章小结(一)n“分布计算”概念突破了集中式DBS的框架,数据分布使系统走上分布式DB的道路,功能分布使系统走上CS道路。这是DBS的两个发展。nCS系统包括一个计算机网络,通常用一个局域网连结。几乎在所有情况下,客户机都是微机;服务
23、器有时用小型机或大型机,但多数情况下也使用微机或高档微机。应用程序在客户机上处理,DBMS和OS的数据管理分放在服务器上。n分布式系统是在集中式系统的基础上发展而来的。DDB是数据库技术与网络技术结合的产物。随着计算机网络技术的飞速发展,DDBS日趋成为数据库领域的主流方向。 本章小结(二)nDDB具有数据分布性和逻辑整体性的特点。DDBS能够支持涉及多个场地的全局应用。DDB的数据存储有数据分片和数据分配两种策略。nDDB的模式结构为理解DDBS提供了一种通用的概念结构。分布透明性是DDBS追求的目标。DDBMS是负责管理分布环境下,逻辑集成数据的存取、一致性、有效性和完备性的软件系统。nD
24、DBS中数据分布在各个场地,系统中压倒一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半联接的优化策略是常用的技术。小 结(三)分布式分布式DBMS集中式集中式DBMS存取方式存取方式用户用户DDBMS分布式网络分布式网络OS网络网络通信通信局部局部DBMS局部局部OSDB用户用户DBMSOSDB数据冗余性数据冗余性有控制的冗余有控制的冗余最小的冗余最小的冗余数据表示级别数据表示级别(四级)用户试图,全局视图,分片视图,(四级)用户试图,全局视图,分片视图,分配视图分配视图(三级)外部视图,概念视图,(三级)外部视图,概念视图,内部视图内部视图数据存放方式数据存放方
25、式复制在多个场地,模式分散化,处理程序复制在多个场地,模式分散化,处理程序也分散化也分散化集中在一个地点集中在一个地点DBA分布在各场地,分布在各场地,进行局部控制进行局部控制集中在一起集中在一起同步同步由全局由全局DBMS和和网络网络OS组成组成由由OS完成完成封锁封锁分散控制分散控制集中控制集中控制实际资源实际资源多个多个CPU,多个多个DBMS一个一个CPU,一个一个DBMS操作方式操作方式当前方式,响应方式两种当前方式,响应方式两种一种方式(当前方式)一种方式(当前方式)数据一致性数据一致性 所有主场地的逻辑结果是一致的,但所有主场地的逻辑结果是一致的,但各个场地的复制中数据可能不一致各个场地的复制中数据可能不一致任何时候都需要保持任何时候都需要保持数据的一致性数据的一致性