《分布式数据库(新).ppt》由会员分享,可在线阅读,更多相关《分布式数据库(新).ppt(68页珍藏版)》请在优知文库上搜索。
1、分布式数据库系统分布式数据库系统主要内容n分布式数据库系统概述n分布式数据库系统的体系结构n分布式查询处理n客户/服务器结构的分布式系统主要参考资料nTEXTBOOKn邵佩英 分布式数据库系统及其应用 第二版 科学出版社nM.T. zsu and P. Valduriez. Principles of Distributed Database Systems, 2nd edition. Prentice Halln贾焰 分布式数据库技术. 国防工业出版社n周龙骧 分布式数据库管理系统实现技术 科学出版社1 分布式数据库系统概述n1.1 集中式系统和分布式系统n集中式数据库管理系统集中式数据库管
2、理系统的缺点:通信开销大;系统的坚固性差;性能差;可扩充性差;设计、管理困难。n分散式系统分散式系统:将数据库分成多个,建立在多台计算机上,数据库的管理、应用程序的研制都是分开并相互独立的,之间不存在数据通行联系。n分布式数据库系统的特点分布式数据库系统的特点:数据的分布性;统一性;透明性。统一性(两个方面:数据在逻辑上的统一性和数据在管理上的统一性)n分布式数据库与集中式数据库相比的优点:坚固性好;可扩充性好;可改善性能;自治性好。 n与集中式数据库相比,分布式DB具有:数据分布式的特点。n与分散式数据库相比,分布式DB具有:逻辑整体性的特点。背景 数据库系统+计算机网络1.2 分布式数据库
3、系统的定义DB1DB1DB1计算机计算机1计算机计算机2计算机3通讯网络通讯网络T1T2T3T1T2T3T1T2T31.2 分布式数据库系统的定义n一个分布式系统由通信网络联接起来的结点的集合。每个结点都是拥有集中式数据库的计算机系统。n分布式数据库的特点:数据库中的数据不是存储在同一场地,而是分布存储在多个场地。1.2 分布式数据库系统的定义n分布性:数据存储在不同场地上。与集中式数据库不同。n逻辑整体性:数据逻辑上是相互联系的一个整体。与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来。1.2 分布式数据库系统的定义n物理上是分布的,逻辑上是统一的物理上是分布的,逻辑上是统
4、一的n一组数据库的集合一组数据库的集合n要素要素n计算机网络计算机网络n数据库系统数据库系统DB1DB1DB1计算机1计算机1计算机1通讯网络北京重庆上海银行系统访问本地银行数据:局部应用通兑业务、转账业务:全局应用1.2 分布式数据库系统的定义n全局全局应用应用:指涉及到两个或两个以上场地中数据库的应用。n网络的每个站点具有独立处理能力,可以执行局部应用,同时也能通过网络执行全局应用。n分布式数据库是由一组数据库组成,这些数据库分布在计算机网络的不同站点上,逻辑上是属于同一个系统的。1.2 分布式数据库系统的定义n分布式数据库包含两个重要组成部分:n分布式数据库和分布式数据库管理系统。n分布
5、式数据库分布式数据库是计算机网络环境中各场地上数据库的逻辑集合。n分布式数据库管理系统分布式数据库管理系统是分布式数据库系统中的一组软件,它复杂管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。1.3 分布式数据库系统的透明性n位置透明性位置透明性用户或应用程序不必了解它所使用的数据的存储位置。举例:银行的借贷业务:要判断的情况有5种。n复制透明性复制透明性 有些数据并不存在一个场地,可能重复存放在不同的场地。本地数据库中也包含了外地数据库中的数据。 一个分布式系统有了这两种透明性后,用户看到的系统就如同一个集中式系统。分布式数据库系统具有以下特点n数据的物理分布性 数据的逻辑整体性
6、数据的分布独立性 场地自治性 场地之间的协调性 数据冗余及冗余透明性 事务管理的分布性1.4 分布式数据库系统的优缺点 DDBS的上述特点决定它具有以下优点:n具有灵活的体系结构数据库的使用单位组织上、地理上是分布的n适应分布式管理和控制机构。n经济性能优越n经济上和组织上的理由n系统的可靠性高,可用性好。n局部应用的响应速度快。n可扩展性好,易于集成现有系统。既有数据库互连,历史继承;数据资源共享系统规模逐步扩展增加结点,不影响现有系统运行1.4 分布式数据库系统的优缺点n缺点:n系统开销大开销大,主要花在通信部分。n复杂复杂的存取结构在集中式系统中是有效存取数据的重要基数,但在分布式系统中
7、不一定有效。n数据的安全性和保密性安全性和保密性较难处理。1.5 分布式数据库系统的分类n同构同质数据库同构同质数据库n每个场地都用同一类型的数据模型,并运行同一型号的DBMSn同构异质数据库同构异质数据库n每个场地都用同一类型的数据模型,但运行不同型号的DBMSn异构数据库异构数据库n场地上的数据库系统不尽相同nDBMS不同n数据模型不同练习:1、与集中式DB相比,分布式DB具有()特点,与分散式DB相比,又具有()特点。2、区别系统是分散式还是分布式就是判定系统是否支持().3、在分布式DB中,用户看到的系统如同一个集中式DBS,这是因为分布式系统具有()和()特点。4、如果各个场地都采用
8、同类型数据模型,但DBMS不同型号,这种系统属于()型DBMS.1、数据分布性,逻辑整体性2、全局应用 3、位置透明性 ,复制透明性4、同构异质型DDBS.数据库分布式的管理数据库分布式的管理-在技术上引起新问题在技术上引起新问题n是由一个节点来统一管理各分数据库呢?还是各节点在必要时,都挺身而出代行管理的职能呢?这是集中与分散的问题。n每个节点的数据只在本节点保留一份呢,还是存储备份于其他各节点以防数据的破坏丢失呢?这是可靠性与节约之间的矛盾。n当数据库操作涉及多个分数据库上的数据时,应该把这些数据传送到哪个节点上去进行操作最佳呢?这是运筹帷幄的优化问题,等等。关键问题关键问题分布式系统实现
9、考虑的核心问题:尽量将网络的使用减到最小,即尽量缩减消息的数量和大小。具体涉及到:n分布数据库设计n分布查询处理n分布目录管理n分布并发控制n分布死锁管理n分布DDBMS的可靠性n操作系统的支持-如何提供一致的操作系统支持2 分布式数据库系统的体系结构2.12.1分布式数据存储分布式数据存储(1)数据分配数据分配是指数据在计算机网络各场地上的分配策略。集中式:所有数据均安排在同一个场地上。分割式:所有数据只有一份,分布被安置在若干个场地。全复制式:数据在每个场地重复存储。混合式:数据库分成若干可相交的子集,每一子集安置在一个或多个场地上,但是每一场地未必保存全部数据。分布式数据存储n(2)数据
10、分片:分布式数据库中的数据可以被分割和复制在物理场地的各个物理数据库中。n优点将关系分片,有利于按用户需求组织数据的分布。如产品(内销产品,出口产品)。n分片方式n水平分片n垂直分片n导出分片n混合分片分布式数据存储分布式数据存储n1 1)水平分片)水平分片将关系r按行分为若干子集r1,r2,rn,每个子集ri称为一个水平片段。一个水平片段可以看成是关系上的一个选择。ri =P(i)(r)如M_S=sex=M(S)关系的重构可以通过并运算来实现。r= r1 r2rn分布式数据存储n(2 2)垂直分片)垂直分片将关系r按列分为若干属性子集r1,r2,rn,每个子集ri称为一个垂直片段。一个垂直片
11、段可以看成是关系上的一个投影。ri =Ri(r)其中Ri是r的一个属性子集。 如P_S = SNO,SNAME(S)关系的重构可以通过连接运算来实现。r= r1 r2 rn要求所有垂直分片的片段都包括关系的键。分布式数据存储n(3 3)混合分片)混合分片n关系按某种方式分片后,得到的片段再按另一种方式继续分片。n如SC(S#,C#,G,DNO)按学生系别分片,再对每个片段按成绩(及格,不及格)分片。分布式数据存储n定义各种分片时必须遵守下面三个条件:n1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许发生属于全局关系的某个数据不属于任何一个片段。n2)重构条件:划分所采用的方法
12、必须确保能够由各个分段重建全局关系。n3)不相交条件:要求一个全局关系被划分后得到的各个数据片段互相不重叠。目的是为了在数据分片时容易控制数据的复制。2.2 分布式数据库系统的体系结构n全局外模式全局应用的用户视图。n全局概念模式定义D-DBS中数据的整体逻辑结构,数据如同没有分布一样。n分片模式每一个关系可以分为若干互不相交的部分,每一部分称为一个片段。n分配(分布)模式定义片段的存放地点。用户视图用户视图用户视图用户视图全局视图全局视图分片视图分片视图分配视图分配视图局部概念视图局部概念视图局部概念视图局部概念视图局部内视图局部内视图局部内视图局部内视图局部局部DB局部局部DB分布式分布式
13、集中式集中式分片视图分片视图分片视图分片视图分配视图分配视图分配视图分配视图局部概念视图局部概念视图局部内视图局部内视图局部局部DB举例:RR1R2R3R4R11R21R12R22R23R33R43S1S2S3逻辑片段物理映像一个全局关系的片段所对应的存储片段组成两个物理映像可以相同。2.3 分布透明性n分布(网络)透明性n分片透明性分片透明性(全局视图和分片视图之间)用户或应用程序只对全局关系进行操作而不必考虑关系的分片。如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变。n位置透明性位置透明性(分片视图和分配视图之间)用户或应用程序不必了解片段的存储位置。n局部
14、数据模型透明性局部数据模型透明性(分配视图和局部概念视图之间)用户或应用程序不必了解局部场地上使用的是哪种数据模型。RR1R2R3R4R11R21R12R22R23R33R43S1S2S32.4 分布式数据库管理系统的功能及组成n1、DDBMS的主要功能:n 用户能够对网络上任意场地数据库的数据进行远程存取,执行全局应用 。n 支持透明存取,提供一定级别的分布透明性 。n 支持对分布式数据库的管理与控制 。n 支持对分布式事务的并发控制和恢复 。为一个典型DDBMS的结构图,包括四个部分:全局数据库管理系统GDBMS、全局数据字典GDD、局部数据库管理系统LDBMS、通信管理CM。网络网络场地
15、场地3 DDBMS结构图结构图场地场地1LDBMSGDBMSCM用户用户GDD场地场地2n1.全局数据库管理系统GDBMS n GDBMS是DDBMS的核心,负责提供分布透明性,协调全局事务的执行及协调各场地上的LDBMS共同完成全局应用。 GDBMS通常包括:n (1)用户接口层。提供一个用于检验用户身份的接口,用户的应用程序经用户接口处理,作为一个全局事务由DDBMS执行。 n (2)语言处理层。负责查询语言的语法、词法分析,把查询语句转换成某种内部表示形式,如用语法树表示查询。 n(3)分布式数据管理层。主要完成查询分解、优化和确定查询计划。 n (4)分布式事务管理层。用于对分布式事务
16、进行并发控制,并提供全局恢复功能。 n (5)全局数据与局部数据之间的转换层。对异构系统,需将数据转换成系统可接受的形式。具体的转换有:数据模型的转换;数字代码格式、字长、精度、单位等的转换;操作命令、完整性规则、安全性规则的转换等。n2.全局数据字典GDD n GDD负责提供系统的各种描述、管理和控制信息。如为系统提供各级模式描述、网络描述、存取权限、事务优先级、完整性约束与相容性约束、数据的分割及其定义、副本数据及其所在场地、存取路径、死锁检测、预防及故障恢复,与数据库运行质量有关的统计信息等。n 数据字典又称数据目录,是面向系统的。它由系统定义,在初始化时由系统自动生成并为系统所用。n 由于数据是分布的,因此数据字典也存在一个分布策略及管理问题 ,数据字典中的数据与冗余也需要进行优化。 n3.局部数据库管理系统LDBMS n LDBMS用来建立和管理各场地上的局部数据库LDB,提供场地的自治能力,可执行局部应用和全局查询的子查询 。n4.通信管理CM n CM遵循网络协议,实现各场地之间数据的可靠传送,完成系统的通信功能 。分布式数据库管理系统的分类分布式数据库管理系统的分类n1