分布式数据库(新).ppt

上传人:夺命阿水 文档编号:246518 上传时间:2023-03-21 格式:PPT 页数:68 大小:506.50KB
返回 下载 相关 举报
分布式数据库(新).ppt_第1页
第1页 / 共68页
分布式数据库(新).ppt_第2页
第2页 / 共68页
分布式数据库(新).ppt_第3页
第3页 / 共68页
分布式数据库(新).ppt_第4页
第4页 / 共68页
分布式数据库(新).ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《分布式数据库(新).ppt》由会员分享,可在线阅读,更多相关《分布式数据库(新).ppt(68页珍藏版)》请在课桌文档上搜索。

1、分布式数据库系统,主要内容,分布式数据库系统概述分布式数据库系统的体系结构分布式查询处理客户/服务器结构的分布式系统,主要参考资料,TEXTBOOK邵佩英 分布式数据库系统及其应用 第二版 科学出版社M.T.zsu and P.Valduriez.Principles of Distributed Database Systems,2nd edition.Prentice Hall贾焰 分布式数据库技术.国防工业出版社周龙骧 分布式数据库管理系统实现技术 科学出版社,1 分布式数据库系统概述,1.1 集中式系统和分布式系统集中式数据库管理系统的缺点:通信开销大;系统的坚固性差;性能差;可扩充性

2、差;设计、管理困难。分散式系统:将数据库分成多个,建立在多台计算机上,数据库的管理、应用程序的研制都是分开并相互独立的,之间不存在数据通行联系。分布式数据库系统的特点:数据的分布性;统一性;透明性。统一性(两个方面:数据在逻辑上的统一性和数据在管理上的统一性)分布式数据库与集中式数据库相比的优点:坚固性好;可扩充性好;可改善性能;自治性好。,与集中式数据库相比,分布式DB具有:数据分布式的特点。与分散式数据库相比,分布式DB具有:逻辑整体性的特点。,背景 数据库系统+计算机网络,1.2 分布式数据库系统的定义,1.2 分布式数据库系统的定义,一个分布式系统由通信网络联接起来的结点的集合。每个结

3、点都是拥有集中式数据库的计算机系统。分布式数据库的特点:数据库中的数据不是存储在同一场地,而是分布存储在多个场地。,1.2 分布式数据库系统的定义,分布性:数据存储在不同场地上。与集中式数据库不同。逻辑整体性:数据逻辑上是相互联系的一个整体。与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来。,1.2 分布式数据库系统的定义,物理上是分布的,逻辑上是统一的一组数据库的集合要素计算机网络数据库系统,DB1,DB1,DB1,计算机1,计算机1,计算机1,通讯网络,北京,重庆,上海,银行系统,访问本地银行数据:局部应用通兑业务、转账业务:全局应用,1.2 分布式数据库系统的定义,全局

4、应用:指涉及到两个或两个以上场地中数据库的应用。网络的每个站点具有独立处理能力,可以执行局部应用,同时也能通过网络执行全局应用。分布式数据库是由一组数据库组成,这些数据库分布在计算机网络的不同站点上,逻辑上是属于同一个系统的。,1.2 分布式数据库系统的定义,分布式数据库包含两个重要组成部分:分布式数据库和分布式数据库管理系统。分布式数据库是计算机网络环境中各场地上数据库的逻辑集合。分布式数据库管理系统是分布式数据库系统中的一组软件,它复杂管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。,1.3 分布式数据库系统的透明性,位置透明性用户或应用程序不必了解它所使用的数据的存储位置。举例

5、:银行的借贷业务:要判断的情况有5种。复制透明性 有些数据并不存在一个场地,可能重复存放在不同的场地。本地数据库中也包含了外地数据库中的数据。一个分布式系统有了这两种透明性后,用户看到的系统就如同一个集中式系统。,分布式数据库系统具有以下特点,数据的物理分布性 数据的逻辑整体性 数据的分布独立性 场地自治性 场地之间的协调性 数据冗余及冗余透明性 事务管理的分布性,1.4 分布式数据库系统的优缺点 DDBS的上述特点决定它具有以下优点:,具有灵活的体系结构数据库的使用单位组织上、地理上是分布的适应分布式管理和控制机构。经济性能优越经济上和组织上的理由系统的可靠性高,可用性好。局部应用的响应速度

6、快。可扩展性好,易于集成现有系统。既有数据库互连,历史继承;数据资源共享系统规模逐步扩展增加结点,不影响现有系统运行,1.4 分布式数据库系统的优缺点,缺点:系统开销大,主要花在通信部分。复杂的存取结构在集中式系统中是有效存取数据的重要基数,但在分布式系统中不一定有效。数据的安全性和保密性较难处理。,1.5 分布式数据库系统的分类,同构同质数据库每个场地都用同一类型的数据模型,并运行同一型号的DBMS同构异质数据库每个场地都用同一类型的数据模型,但运行不同型号的DBMS异构数据库场地上的数据库系统不尽相同DBMS不同数据模型不同,练习:,1、与集中式DB相比,分布式DB具有()特点,与分散式D

7、B相比,又具有()特点。2、区别系统是分散式还是分布式就是判定系统是否支持().3、在分布式DB中,用户看到的系统如同一个集中式DBS,这是因为分布式系统具有()和()特点。4、如果各个场地都采用同类型数据模型,但DBMS不同型号,这种系统属于()型DBMS.,1、数据分布性,逻辑整体性2、全局应用 3、位置透明性,复制透明性4、同构异质型DDBS.,数据库分布式的管理-在技术上引起新问题,是由一个节点来统一管理各分数据库呢?还是各节点在必要时,都挺身而出代行管理的职能呢?这是集中与分散的问题。每个节点的数据只在本节点保留一份呢,还是存储备份于其他各节点以防数据的破坏丢失呢?这是可靠性与节约之

8、间的矛盾。当数据库操作涉及多个分数据库上的数据时,应该把这些数据传送到哪个节点上去进行操作最佳呢?这是运筹帷幄的优化问题,等等。,关键问题,分布式系统实现考虑的核心问题:尽量将网络的使用减到最小,即尽量缩减消息的数量和大小。具体涉及到:分布数据库设计分布查询处理分布目录管理分布并发控制分布死锁管理分布DDBMS的可靠性操作系统的支持-如何提供一致的操作系统支持,2 分布式数据库系统的体系结构,2.1分布式数据存储(1)数据分配数据分配是指数据在计算机网络各场地上的分配策略。集中式:所有数据均安排在同一个场地上。分割式:所有数据只有一份,分布被安置在若干个场地。全复制式:数据在每个场地重复存储。

9、混合式:数据库分成若干可相交的子集,每一子集安置在一个或多个场地上,但是每一场地未必保存全部数据。,分布式数据存储,(2)数据分片:分布式数据库中的数据可以被分割和复制在物理场地的各个物理数据库中。优点将关系分片,有利于按用户需求组织数据的分布。如产品(内销产品,出口产品)。分片方式水平分片垂直分片导出分片混合分片,分布式数据存储,分布式数据存储,1)水平分片将关系r按行分为若干子集r1,r2,rn,每个子集ri称为一个水平片段。一个水平片段可以看成是关系上的一个选择。ri=P(i)(r)如M_S=sex=M(S)关系的重构可以通过并运算来实现。r=r1 r2rn,分布式数据存储,(2)垂直分

10、片将关系r按列分为若干属性子集r1,r2,rn,每个子集ri称为一个垂直片段。一个垂直片段可以看成是关系上的一个投影。ri=Ri(r)其中Ri是r的一个属性子集。如P_S=SNO,SNAME(S)关系的重构可以通过连接运算来实现。r=r1 r2 rn要求所有垂直分片的片段都包括关系的键。,分布式数据存储,(3)混合分片关系按某种方式分片后,得到的片段再按另一种方式继续分片。如SC(S#,C#,G,DNO)按学生系别分片,再对每个片段按成绩(及格,不及格)分片。,分布式数据存储,定义各种分片时必须遵守下面三个条件:1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许发生属于全局关系

11、的某个数据不属于任何一个片段。2)重构条件:划分所采用的方法必须确保能够由各个分段重建全局关系。3)不相交条件:要求一个全局关系被划分后得到的各个数据片段互相不重叠。目的是为了在数据分片时容易控制数据的复制。,2.2 分布式数据库系统的体系结构,全局外模式全局应用的用户视图。全局概念模式定义D-DBS中数据的整体逻辑结构,数据如同没有分布一样。分片模式每一个关系可以分为若干互不相交的部分,每一部分称为一个片段。分配(分布)模式定义片段的存放地点。,用户视图,用户视图,全局视图,分片视图,分配视图,局部概念视图,局部概念视图,局部内视图,局部内视图,局部DB,局部DB,分布式,集中式,分片视图,

12、分片视图,分配视图,分配视图,局部概念视图,局部内视图,局部DB,举例:,逻辑片段,物理映像,一个全局关系的片段所对应的存储片段组成两个物理映像可以相同。,2.3 分布透明性,分布(网络)透明性分片透明性(全局视图和分片视图之间)用户或应用程序只对全局关系进行操作而不必考虑关系的分片。如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变。位置透明性(分片视图和分配视图之间)用户或应用程序不必了解片段的存储位置。局部数据模型透明性(分配视图和局部概念视图之间)用户或应用程序不必了解局部场地上使用的是哪种数据模型。,2.4 分布式数据库管理系统的功能及组成,1、DDBMS

13、的主要功能:用户能够对网络上任意场地数据库的数据进行远程存取,执行全局应用。支持透明存取,提供一定级别的分布透明性。支持对分布式数据库的管理与控制。支持对分布式事务的并发控制和恢复。,为一个典型DDBMS的结构图,包括四个部分:全局数据库管理系统GDBMS、全局数据字典GDD、局部数据库管理系统LDBMS、通信管理CM。,1.全局数据库管理系统GDBMS GDBMS是DDBMS的核心,负责提供分布透明性,协调全局事务的执行及协调各场地上的LDBMS共同完成全局应用。GDBMS通常包括:(1)用户接口层。提供一个用于检验用户身份的接口,用户的应用程序经用户接口处理,作为一个全局事务由DDBMS执

14、行。(2)语言处理层。负责查询语言的语法、词法分析,把查询语句转换成某种内部表示形式,如用语法树表示查询。,(3)分布式数据管理层。主要完成查询分解、优化和确定查询计划。(4)分布式事务管理层。用于对分布式事务进行并发控制,并提供全局恢复功能。(5)全局数据与局部数据之间的转换层。对异构系统,需将数据转换成系统可接受的形式。具体的转换有:数据模型的转换;数字代码格式、字长、精度、单位等的转换;操作命令、完整性规则、安全性规则的转换等。,2.全局数据字典GDD GDD负责提供系统的各种描述、管理和控制信息。如为系统提供各级模式描述、网络描述、存取权限、事务优先级、完整性约束与相容性约束、数据的分

15、割及其定义、副本数据及其所在场地、存取路径、死锁检测、预防及故障恢复,与数据库运行质量有关的统计信息等。数据字典又称数据目录,是面向系统的。它由系统定义,在初始化时由系统自动生成并为系统所用。由于数据是分布的,因此数据字典也存在一个分布策略及管理问题,数据字典中的数据与冗余也需要进行优化。,3.局部数据库管理系统LDBMS LDBMS用来建立和管理各场地上的局部数据库LDB,提供场地的自治能力,可执行局部应用和全局查询的子查询。4.通信管理CM CM遵循网络协议,实现各场地之间数据的可靠传送,完成系统的通信功能。,分布式数据库管理系统的分类,1.按LDBMS类型分类(1)同构型DDBMS(Ho

16、mogeneous DDBMS)同构型(也称均质型)系统是指系统中每个场地的LDBMS类型都相同,即它们支持相同的数据模型、访问方法、优化策略、并发控制算法,以及相同的命令语言和查询语言等。(2)异构型DDBMS(Heterogeneous DDBMS)异构型(也称异质型)系统是指系统中每个场地可以有不同类型的LDBMS。它们可以是不同的数据模型,也可以是同一数据模型但由不同厂商提供的产品。,2.按全局控制方式分类(1)全局集中控制的DDBMS 这种方式的GDBMS和GDD集中在一个中心场地上,由该场地完成全局事务的协调和局部数据库转换等一切控制问题。(2)全局控制分散的DDBMS GDBMS

17、和GDD分散存放在各个场地上,即每个场地都有控制信息的一个副本,都能完成全局事务的协调和局部数据库转换的控制问题。,(3)全局控制部分分散的DDBMS 这种方式根据应用的需要将GDBMS和GDD分散在某些场地上,即只在部分场地包含控制信息的副本,性能介于以上两种类型之间。,分布式数据库管理系统的分类,3.按数据在逻辑上集中/分布分类:(1)物理上分布、逻辑上集中的DDBMS 这种方式数据库在逻辑上是集中的,用户感觉不到数据的分布,看到的似乎是一个数据模式为全局数据模式的集中式数据库。(2)物理上分布、逻辑上分布的DDBMS 这种分布式数据库系统又称联邦分布式数据库系统(Federated Di

18、stributed Database Systems)。系统中每个场地所看到的数据模式是不同的,好像有多个逻辑数据库存在。,分布式数据库管理系统的分类,4.按功能分类(1)综合型体系结构 设计一个全新的DDBMS时,设计人员可综合权衡用户需求,采用自顶向下的设计方法,设计一个完整的DDBMS,然后把系统的功能按一定的策略分散配置在一个分布式环境中,这种结构称为DDBMS。(2)联合型体系结构 在原有DBMS基础上建立分布式DBMS,按照使用LDBMS类型的不同又分为同构型和异构型DDBMS。,分布式数据库管理系统的分类,5.按层次分类法分类(1)单层结构DDBMS 指一个分布式数据库中,在同一

19、全局DBMS控制管理下,其数据物理分布在网络的多个场地上,每个场地不存在独立的DBMS,但可以包含全局DBMS的子部件。(2)多层结构DDBMS 如果一个分布式数据库是来自一些相互连接的场地上的数据库中数据的逻辑集合,则称该系统为多层结构的DDBMS。在这种系统中,每个场地都有一个独立的DBMS,而且每个场地可以是另一个单层或多层结构的DDBMS。,2.5 分布式数据库系统中存在的问题,1、不同场地的通信速度,与局部DBS的存储部件的存取速度相比,是非常慢的。2、通信系统有较高的存取延迟时间。3、在CPU上处理通信的代价很高。4、不同通信系统有不同意义的字符,数据转换速度也不一样,可以相差10

20、00倍,存取延迟时间可能相差106倍。,3 分布式查询处理,分布式数据库系统中由于数据分布在各个场地,因此,查询的处理比集中式数据库复杂。,3.1 查询处理的传输代价,Site-1,Site-2,EMPLOYEE104个记录每个记录100字节,DEPARTMENT100个记录每个记录100字节,检索每个职工的姓名、地址及工作部门名select ENAME,ADDRESS,DNAME from EMPLOYEE,DEPARTMENTwhere DNO=DNUMBER,网络传输速度104字节/秒,分布式查询处理,把关系EMPLOYEE和DEPARTMENT分布从场地1和场地2传到场地3,然后在场地

21、3站进行查询传送时间T=(104 100+100 35)/104=100s,3,2,传送时间T=总传输延迟+总数据量/传输速度,1,分布式查询处理,把关系EMPLOYEE传送到场地2,在场地2作联接,再把操作结构从场地2传到场地3:传送时间T=(104 100+400000)/104=140s,1,3,2,分布式查询处理,3.把关系DEPARTMENT传送到场地1,在场地1作联接,再把操作结构从场地1传到场地3:传送时间T=(3500+400000)/104=40s,分布式查询处理,2)在场地3有一个查询“检索每个部门的名字和其经理的姓名、地址”。select DNAME,ENAME,ADDR

22、ESS from EMPLOYEE,DEPARTMENTwhere MGRENO=ENO,分布式查询处理,把关系EMPLOYEE和DEPARTMENT分布从场地1和场地2传到场地3,然后在场地3站进行查询传送时间T=(104 100+3500)/104=100s,3,2,传送时间T=总传输延迟+总数据量/传输速度,1,分布式查询处理,把关系EMPLOYEE传送到场地2,在场地2作联接,再把操作结构从场地2传到场地3:传送时间T=(104 100+4000)/104=100s,1,3,2,分布式查询处理,3.把关系DEPARTMENT传送到场地1,在场地1作联接,再把操作结构从场地1传到场地3:

23、传送时间T=(3500+4000)/104=0.75s,分布式查询处理,3)如果在场地2提出上述两个查询Q1和Q2,可以有两种方法:4、把关系EMPLOYEE传送到场地2,在场地2作联接,此时Q1和Q2的传输量都是1000000,时间都是100秒。,1,2,Q1,Q2,分布式查询处理,5.把关系DEPARTMENT传送到场地1,在场地1作联接,再把结果从场地1传到场地2,此时Q1的传输量为:3500+400000=403500,时间是40秒。Q2的传输量都是3500+4000=7500,时间是0.75秒。,3.2基于半联接的查询优化策略,数据在网络中传输,如果都以整个关系传输,显然是一种冗余。

24、不参与联接的值或无用的值不必在网络中来回传输。(1)、基于半联接的查询实例:如果在场地2提出上述两个查询Q1和Q2,可以有两种方法:把关系DEPARTMENT传送到场地1,在场地1作联接,再把结果从场地1传到场地2。可以改进:1)在场地2,用投影求得关系DEPARTMENT中参与联接操作的属性值,把投影结果传输到场地1。Q1:数据传输量是400字节(DEPARTMENT在DNUMBER上的投影)。Q2:数据传输量是900字节(DEPARTMENT在MGRENO上的投影)。,3.2基于半联接的查询优化策略,2)在场地1,执行联接操作,并用投影求出所需的属性值,把结果送到场地2。Q1:数据传输量是

25、340000字节。Q2:数据传输量是3900字节。3)在场地2,执行联接操作,把结果给用户。Q1:总的数据传输量是340400字节,传输时间为40秒。Q2:总的数据传输量是4800字节,传输时间为0.75。显然,本方法采用的查询处理方法是有效的。,(2)半联接操作的定义,半连接运算定义半连接R S=R(R S),(2)半联接操作的定义,半连接作用找出R中能够与S中元组相连接的元组来,类似于在连接之前先做选择和投影。R S=(R S)SR S=(S R)R半连接的非对称性R S(S R)定义R S R(R S)A=B A=B,(2)半联接操作的定义,半连接在分布式数据库中的应用R与S位于不同场地

26、S1,S2上,其属性组分别为A,B,要作联接操作。在场地2对S做投影,然后把B(S)传输到场地1在场地1执行半联接,设结果为R,然后把结果送到场地2。R=R S A=B在场地2执行R与S的联接操作,得到最后结果。R S=R S,R,S,3.3 基于联接的查询优化策略,在分布式查询处理时,究竟用半联接还是用联接方案,取决于数据传输和局部处理的相对费用。,4 客户/服务器结构的分布式系统,4.1 客户/服务器式DBS在计算机中网络中,有一些计算机扮演客户,另一些扮演服务器,客户统通过计算机网络向服务器提出计算请求,服务器经过计算,将结果返回客户机。这样的计算机网络称为客户/服务器计算机网络。,4.1 客户/服务器式DBS,Client,Server,客户发出请求,同意连接请求,客户发出服务请求,服务器给出响应,连接建立,Client,客户发出请求,同意连接请求,客户发出服务请求,服务器给出响应,连接建立,4.1 客户/服务器式DBS,在客户/服务器式DBS中,数据库应用的功能分为两部分:1、前端部分:由应用程序构成2、后端部分:包括存取结果、查询优化、并发控制、恢复等系统程序。,4.2客户/服务器结构的分布式DBS,1、分布式DBS的物理级客户/服务器结构2、客户机和服务器的功能划分方法3、分布式DBS的逻辑级客户/服务器体系结构,

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号