《分布式数据库系统PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《分布式数据库系统PPT讲稿.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分布式数据库系统第1页,共53页,编辑于2022年,星期五本章内容n分布式数据库系统概述n分布式数据库系统的体系结构n分布式查询处理n客户/服务器结构的分布式系统第2页,共53页,编辑于2022年,星期五9.1 分布式数据库系统概述n9.1.1 集中式系统和分布式系统n集集中中式式数数据据库库管管理理系系统统的缺点:通信开销大;系统的坚固性差;性能差;可扩充性差;设计、管理困难。n分分散散式式系系统统:将数据库分成多个,建立在多台计算机上,数据库的管理、应用程序的研制都是分开并相互独立的,之间不存在数据通行联系。n分分布布式式数数据据库库系系统统的的特特点点:数据的分布性;统一性;透明性。统一
2、性(两个方面:数据在逻辑上的统一性和数据在管理上的统一性)n分布式数据库与集中式数据库相比的优点:坚固性好;可扩充性好;可改善性能;自治性好。第3页,共53页,编辑于2022年,星期五9.1 分布式数据库系统概述n与集中式数据库相比,分布式DB具有:数据分布式的特点。n与分散式数据库相比,分布式DB具有:逻辑整体性的特点。第4页,共53页,编辑于2022年,星期五背景 数据库系统+计算机网络9.1.2 分布式数据库系统的定义DB1DB1DB1计算机计算机1计算机计算机2计算机3通讯网络通讯网络T1T2T3T1T2T3T1T2T3第5页,共53页,编辑于2022年,星期五9.1.2 分布式数据库
3、系统的定义n一个分布式系统由通信网络联接起来的结点的集合。每个结点都是拥有集中式数据库的计算机系统。n分布式数据库的特点:数据库中的数据不是存储在同一场地,而是分布存储在多个场地。第6页,共53页,编辑于2022年,星期五9.1.2 分布式数据库系统的定义n分布性:数据存储在不同场地上。与集中式数据库不同。n逻辑整体性:数据逻辑上是相互联系的一个整体。与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来。第7页,共53页,编辑于2022年,星期五9.1.2 分布式数据库系统的定义n物理上是分布的,逻辑上是统一的物理上是分布的,逻辑上是统一的n一组数据库的集合一组数据库的集合n要素
4、要素n计算机网络计算机网络n数据库系统数据库系统第8页,共53页,编辑于2022年,星期五DB1DB1DB1计算机1计算机1计算机1通讯网络北京重庆上海银行系统访问本地银行数据:局部应用通兑业务、转账业务:全局应用第9页,共53页,编辑于2022年,星期五9.1.2 分布式数据库系统的定义n全局全局应用应用:指涉及到两个或两个以上场地中数据库的应用。n网络的每个站点具有独立处理能力,可以执行局部应用,同时也能通过网络执行全局应用。n分布式数据库是由一组数据库组成,这些数据库分布在计算机网络的不同站点上,逻辑上是属于同一个系统的。第10页,共53页,编辑于2022年,星期五9.1.2 分布式数据
5、库系统的定义n分布式数据库包含两个重要组成部分:n分布式数据库和分布式数据库管理系统。n分布式数据库分布式数据库是计算机网络环境中各场地上数据库的逻辑集合。n分布式数据库管理系统分布式数据库管理系统是分布式数据库系统中的一组软件,它复杂管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。第11页,共53页,编辑于2022年,星期五9.1.3 分布式数据库系统的透明性n位置透明性位置透明性用户或应用程序不必了解它所使用的数据的存储位置。举例:银行的借贷业务:要判断的情况有5种。n复制透明性复制透明性 有些数据并不存在一个场地,可能重复存放在不同的场地。本地数据库中也包含了外地数据库中的数据
6、。一个分布式系统有了这两种透明性后,用户看到的系统就如同一个集中式系统。第12页,共53页,编辑于2022年,星期五9.1.4 分布式数据库系统的优缺点n具有灵活的体系结构数据库的使用单位组织上、地理上是分布的n适应分布式管理和控制机构。n经济性能优越n经济上和组织上的理由n系统的可靠性高,可用性好。n局部应用的响应速度快。n可扩展性好,易于集成现有系统。既有数据库互连,历史继承;数据资源共享系统规模逐步扩展增加结点,不影响现有系统运行第13页,共53页,编辑于2022年,星期五9.1.4 分布式数据库系统的优缺点n缺点:n系统开销大,主要花在通信部分。n复杂的存取结构在集中式系统中是有效存取
7、数据的重要基数,但在分布式系统中不一定有效。n数据的安全和行保密性较难处理。第14页,共53页,编辑于2022年,星期五9.1.5 分布式数据库系统的分类n同构同质数据库同构同质数据库n每个场地都用同一类型的数据模型,并运行同一型号的DBMSn同构异质数据库同构异质数据库n每个场地都用同一类型的数据模型,但运行不同型号的DBMSn异构数据库异构数据库n场地上的数据库系统不尽相同nDBMS不同n数据模型不同第15页,共53页,编辑于2022年,星期五练习:1、与集中式DB相比,分布式DB具有()特点,与分散式DB相比,又具有()特点。2、区别系统是分散式还是分布式就是判定系统是否支持().3、在
8、分布式DB中,用户看到的系统如同一个集中式DBS,这是因为分布式系统具有()和()特点。4、如果各个场地都采用同类型数据模型,但DBMS不同型号,这种系统属于()型DBMS.1、数据分布性,逻辑整体性2、全局应用 3、位置透明性,复制透明性4、同构异质型DDBS.第16页,共53页,编辑于2022年,星期五9.2 分布式数据库系统的体系结构9.2.19.2.1分布式数据存储分布式数据存储(1)数据分配数据分配是指数据在计算机网络各场地上的分配策略。集中式:所有数据均安排在同一个场地上。分割式:所有数据只有一份,分布被安置在若干个场地。全复制式:数据在每个场地重复存储。混合式:数据库分成若干可相
9、交的子集,每一子集安置在一个或多个场地上,但是每一场地未必保存全部数据。第17页,共53页,编辑于2022年,星期五分布式数据存储n(2)数据分片:分布式数据库中的数据可以被分割和复制在物理场地的各个物理数据库中。n优点将关系分片,有利于按用户需求组织数据的分布。如产品(内销产品,出口产品)。n分片方式n水平分片n垂直分片n导出分片n混合分片第18页,共53页,编辑于2022年,星期五分布式数据存储第19页,共53页,编辑于2022年,星期五分布式数据存储n1 1)水平分片)水平分片将关系r按行分为若干子集r1,r2,rn,每个子集ri称为一个水平片段。一个水平片段可以看成是关系上的一个选择。
10、ri=P(i)(r)如M_S=sex=M(S)关系的重构可以通过并运算来实现。r=r1 r2rn第20页,共53页,编辑于2022年,星期五分布式数据存储n(2 2)垂直分片)垂直分片将关系r按列分为若干属性子集r1,r2,rn,每个子集ri称为一个垂直片段。一个垂直片段可以看成是关系上的一个投影。ri=Ri(r)其中Ri是r的一个属性子集。如P_S=SNO,SNAME(S)关系的重构可以通过连接运算来实现。r=r1 r2 rn要求所有垂直分片的片段都包括关系的键。第21页,共53页,编辑于2022年,星期五分布式数据存储n(3 3)混合分片)混合分片n关系按某种方式分片后,得到的片段再按另一
11、种方式继续分片。n如SC(S#,C#,G,DNO)按学生系别分片,再对每个片段按成绩(及格,不及格)分片。第22页,共53页,编辑于2022年,星期五分布式数据存储n定义各种分片时必须遵守下面三个条件:n1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许发生属于全局关系的某个数据不属于任何一个片段。n2)重构条件:划分所采用的方法必须确保能够由各个分段重建全局关系。n3)不相交条件:要求一个全局关系被划分后得到的各个数据片段互相不重叠。目的是为了在数据分片时容易控制数据的复制。第23页,共53页,编辑于2022年,星期五9.2.2 分布式数据库系统的体系结构n全局外模式全局应用
12、的用户视图。n全局概念模式定义D-DBS中数据的整体逻辑结构,数据如同没有分布一样。n分片模式每一个关系可以分为若干互不相交的部分,每一部分称为一个片段。n分配(分布)模式定义片段的存放地点。第24页,共53页,编辑于2022年,星期五用户视图用户视图用户视图用户视图全局视图全局视图分片视图分片视图分配视图分配视图局部概念视图局部概念视图局部概念视图局部概念视图局部内视图局部内视图局部内视图局部内视图局部局部DB局部局部DB分布式分布式集中式集中式分片视图分片视图分片视图分片视图分配视图分配视图分配视图分配视图局部概念视图局部概念视图局部内视图局部内视图局部局部DB第25页,共53页,编辑于2
13、022年,星期五举例:RR1R2R3R4R11R21R12R22R23R33R43S1S2S3逻辑片段物理映像一个全局关系的片段所对应的存储片段组成两个物理映像可以相同。第26页,共53页,编辑于2022年,星期五9.2.3 分布透明性n分布(网络)透明性n分片透明性分片透明性(全局视图和分片视图之间)用户或应用程序只对全局关系进行操作而不必考虑关系的分片。如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变。n位置透明性位置透明性(分片视图和分配视图之间)用户或应用程序不必了解片段的存储位置。n局部数据模型透明性局部数据模型透明性(分配视图和局部概念视图之间)用户或
14、应用程序不必了解局部场地上使用的是哪种数据模型。第27页,共53页,编辑于2022年,星期五RR1R2R3R4R11R21R12R22R23R33R43S1S2S3例子9.4第28页,共53页,编辑于2022年,星期五9.2.4 分布式数据库管理系统的功能及组成n1、DDBMS的主要功能:n接收用户请求;n访问网络数据字典;n如果目标数据存储于系统的多个计算机上,就必须进行分布式处理;n通信接口功能;n在一个异构型分布式处理环境中,还需要提供数据和进程移植的支持。n2、DDBMS的组成:n查询处理子系统、完整性子系统、调度子系统和可靠性子系统。第29页,共53页,编辑于2022年,星期五9.2
15、.5 分布式数据库系统中存在的问题n1、不同场地的通信速度,与局部DBS的存储部件的存取速度相比,是非常慢的。n2、通信系统有较高的存取延迟时间。n3、在CPU上处理通信的代价很高。n4、不同通信系统有不同意义的字符,数据转换速度也不一样,可以相差1000倍,存取延迟时间可能相差106倍。第30页,共53页,编辑于2022年,星期五9.3 分布式查询处理n分布式数据库系统中由于数据分布在各个场地,因此,查询的处理比集中式数据库复杂。第31页,共53页,编辑于2022年,星期五9.3.1 查询处理的传输代价Site-1Site-2EMPLOYEE104个记录个记录每个记录每个记录100字节字节D
16、EPARTMENT100个记录每个记个记录每个记录录100字节字节检索每个职工的姓名、地址及工作部门名select ENAME,ADDRESS,DNAME ENAME,ADDRESS,DNAME from EMPLOYEE,DEPARTMENT EMPLOYEE,DEPARTMENTwhere DNO=DNUMBER DNO=DNUMBER网络网络传输速度传输速度104字节字节/秒秒第32页,共53页,编辑于2022年,星期五分布式查询处理把把关系关系EMPLOYEEEMPLOYEE和和DEPARTMENTDEPARTMENT分布从场地分布从场地1 1和场地和场地2 2传到场传到场地地3 3,
17、然后在场地,然后在场地3 3站进行查询站进行查询传送时间传送时间T=(104 100+100 35)/104=100s32传送时间T=总传输延迟+总数据量/传输速度1第33页,共53页,编辑于2022年,星期五分布式查询处理把关系EMPLOYEEEMPLOYEE传送到场地2,在场地2作联接,再把操作结构从场地2传到场地3:传送时间T=(104 100+400000)/104=140s132第34页,共53页,编辑于2022年,星期五分布式查询处理3.把关系DEPARTMENTDEPARTMENT传送到场地1,在场地1作联接,再把操作结构从场地1传到场地3:传送时间T=(3500+400000)
18、/104=40s132第35页,共53页,编辑于2022年,星期五分布式查询处理n2)在场地3有一个查询“检索每个部门的名字和其经理的姓名、地址”。select DNAME,ENAME,ADDRESS DNAME,ENAME,ADDRESS from EMPLOYEE,DEPARTMENT EMPLOYEE,DEPARTMENTwhere MGRENO=ENO MGRENO=ENO第36页,共53页,编辑于2022年,星期五分布式查询处理把把关系关系EMPLOYEEEMPLOYEE和和DEPARTMENTDEPARTMENT分布从场地分布从场地1 1和场地和场地2 2传到场地传到场地3 3,然
19、后在场地,然后在场地3 3站进行查询站进行查询传送时间传送时间T=(104 100+3500)/104=100s32传送时间T=总传输延迟+总数据量/传输速度1第37页,共53页,编辑于2022年,星期五分布式查询处理把关系EMPLOYEEEMPLOYEE传送到场地2,在场地2作联接,再把操作结构从场地2传到场地3:传送时间T=(104 100+4000)/104=100s132第38页,共53页,编辑于2022年,星期五分布式查询处理3.把关系DEPARTMENTDEPARTMENT传送到场地1,在场地1作联接,再把操作结构从场地1传到场地3:传送时间T=(3500+4000)/104=0.
20、75s132第39页,共53页,编辑于2022年,星期五分布式查询处理3)如果在场地如果在场地2提出上述两个查询提出上述两个查询Q1和和Q2,可以有两种方,可以有两种方法:法:4、把关系EMPLOYEEEMPLOYEE传送到场地2,在场地2作联接,此时Q1和Q2的传输量都是1000000,时间都是100秒。12Q1Q2第40页,共53页,编辑于2022年,星期五分布式查询处理5.5.把关系DEPARTMENTDEPARTMENT传送到场地1,在场地1作联接,再把结果从场地1传到场地2,此时Q1的传输量为:3500+400000=403500,时间是40秒。Q2的传输量都是3500+4000=7
21、500,时间是0.75秒。12第41页,共53页,编辑于2022年,星期五9.3.2基于半联接的查询优化策略n数据在网络中传输,如果都以整个关系传输,显然是一种冗余。不参与联接的值或无用的值不必在网络中来回传输。n(1 1)、基于半联接的查询实例:)、基于半联接的查询实例:如果在场地如果在场地2 2提出上述两个查询提出上述两个查询Q1Q1和和Q2Q2,可以有两种方法:,可以有两种方法:n把关系DEPARTMENTDEPARTMENT传送到场地1,在场地1作联接,再把结果从场地1传到场地2。可以改进:n1)在场地2,用投影求得关系DEPARTMENTDEPARTMENT中参与联接操作的属性值,把
22、投影结果传输到场地1。nQ1:数据传输量是400字节(DEPARTMENTDEPARTMENT在DNUMBER上的投影)。nQ2:数据传输量是900字节(DEPARTMENTDEPARTMENT在MGRENO上的投影)。第42页,共53页,编辑于2022年,星期五9.3.2基于半联接的查询优化策略n2)在场地1,执行联接操作,并用投影求出所需的属性值,把结果送到场地2。nQ1:数据传输量是340000字节。nQ2:数据传输量是3900字节。n3)在场地2,执行联接操作,把结果给用户。nQ1:总的数据传输量是340400字节,传输时间为40秒。nQ2:总的数据传输量是4800字节,传输时间为0.
23、75。n显然,本方法采用的查询处理方法是有效的。第43页,共53页,编辑于2022年,星期五(2)半联接操作的定义n半连接运算n定义半连接R S=R(R S)=第44页,共53页,编辑于2022年,星期五(2)半联接操作的定义n半连接作用找出R中能够与S中元组相连接的元组来,类似于在连接之前先做选择和投影。R S=(R S)SR S=(S R)Rn半连接的非对称性R S (S R)n定义R S R(R S)A=B A=B第45页,共53页,编辑于2022年,星期五(2)半联接操作的定义n半连接在分布式数据库中的应用R与S位于不同场地S1,S2上,其属性组分别为A,B,要作联接操作。在场地2对S
24、做投影,然后把B(S)传输到场地1在场地1执行半联接,设结果为R,然后把结果送到场地2。R=R S A=B在场地2执行R与S的联接操作,得到最后结果。R S=R S第46页,共53页,编辑于2022年,星期五ABC123456889357BCD234578864238计算R S;R S;S R 3=2 3=1RS第47页,共53页,编辑于2022年,星期五ABC123357ABC123456357BCD234578864238计算R S;R S;S R 3=2 3=1第48页,共53页,编辑于2022年,星期五9.3.3 基于联接的查询优化策略n在分布式查询处理时,究竟用半联接还是用联接方案,
25、取决于数据传输和局部处理的相对费用。第49页,共53页,编辑于2022年,星期五9.4 客户/服务器结构的分布式系统n9.4.1 客户/服务器式DBSn在计算机中网络中,有一些计算机扮演客户,另一些扮演服务器,客户统通过计算机网络向服务器提出计算请求,服务器经过计算,将结果返回客户机。这样的计算机网络称为客户/服务器计算机网络。第50页,共53页,编辑于2022年,星期五9.4.1 客户/服务器式DBSClientServer客户发出请求同意连接请求客户发出服务请求服务器给出响应连接建立连接建立Client客户发出请求同意连接请求客户发出服务请求服务器给出响应连接建立连接建立第51页,共53页,编辑于2022年,星期五9.4.1 客户/服务器式DBSn在客户/服务器式DBS中,数据库应用的功能分为两部分:n1、前端部分:由应用程序构成n2、后端部分:包括存取结果、查询优化、并发控制、恢复等系统程序。第52页,共53页,编辑于2022年,星期五9.4.2客户/服务器结构的分布式DBSn1、分布式DBS的物理级客户/服务器结构n2、客户机和服务器的功能划分方法n3、分布式DBS的逻辑级客户/服务器体系结构第53页,共53页,编辑于2022年,星期五
限制150内