分布式数据库系统概述.PPT

上传人:天*** 文档编号:360033 上传时间:2018-09-26 格式:PPT 页数:67 大小:835.50KB
下载 相关 举报
分布式数据库系统概述.PPT_第1页
第1页 / 共67页
分布式数据库系统概述.PPT_第2页
第2页 / 共67页
分布式数据库系统概述.PPT_第3页
第3页 / 共67页
分布式数据库系统概述.PPT_第4页
第4页 / 共67页
分布式数据库系统概述.PPT_第5页
第5页 / 共67页
点击查看更多>>
资源描述

1、分布式数据库系统概述,分布式数据库系统的由来,数据库应用需求的拓展计算机硬件环境的改变计算机网络与数字通信的飞速发展,卫星通信,蜂窝通信,计算机局域网,广域网,激增的Intranet及Internet得到了广泛应用,分布式数据库系统的发展,数据库系统与计算机网络系统相结合的产物20世纪70年代末进入成长阶段 例如:德国斯图加特大学研制的POREL系统等20世纪90年代进入商品化应用阶段 一些商品化数据库系统产品如:Oracle,Ingres,Sybase,Informix,IBM DB2 大都提供对分布式数据库的支持,银行的电子资金转移系统。假定一个分布式系统由三个节点组成,分别分布在北京,上

2、海,成都 ,其中不同区域的帐户记录保存在各自地区的数据库中,它们通过通信网络连接在一起,构成 个统一的分布式数据库。在这样的系统中任意一个节点可以存取该节点的帐户,称做局部查询,同时也可以存取另一个节点的帐户,称做远程查询。分布式数据库的一个主要的功能就是给用户提供进行复杂查询的操作,使用户就像在一个单一的数据库上操作一样。,什么是分布式数据库系统?,物理上分散而逻辑上集中的数据库系统使用计算机网络将物理位置分散而管理和控制又需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统 站点,场地,结点,特点,物理分布性 分散存储在多个站点,用户感觉不到分散逻辑整体性 分散的数据逻辑上

3、构成一个整体,可被全局用户共享站点自治性 各个站点上的数据由本地DBMS管理,具有自治处理能力,完成本站点的应用。,其他特点,数据分布透明性集中与自治相结合的控制机制存在适当的数据冗余度事务管理的分布性,分布式数据库系统的示意图,分布式数据库系统分类,按局部数据库管理系统的数据模型分类 同构同质型 同构型DDBS 同构异质型 异构型DDBS,按分布式数据库系统的全局控制系统类型 全局控制集中型DDBS 全局控制分散型DDBS 全局控制可变型DDBS,分布式数据库系统的体系结构,数据库分为局部DB和全局DB数据库管理系统分为局部DBMS和全局DBMS数据库管理员分为局部DBA和全局DBA,分布式

4、数据库系统的体系结构,组成成分,应用数据库:应用所需要的数据的集合描述数据库:关于数据库中数据结构的定义及全局数据的分片,分布的描述(数据字典,数据目录,元数据),数据分片,将全局数据库进行逻辑分割分片方法 (1)水平分片 (2)垂直分片 (3)混合分片,关系S(S#,SNAME,AGE,SEX),定义关系S的两个水平分片DEFINE FRAGMENT SHF1 AS SELECT * FROM S WHERE SEX=MDEFINE FRAGMENT SHF2 AS SELECT * FROM S WHERE SEX=F,关系S(S#,SNAME,AGE,SEX),定义关系S的两个垂直分片D

5、EFINE FRAGMENT SVF1 AS SELECT S#,AGE,SEX FROM S DEFINE FRAGMENT SVF2 AS SELECT S#,SNAME FROM S 全局关系的每个属性至少影射到一个垂直片段中,且每个垂直片段都包含该全局关系的键,关系S(S#,SNAME,AGE,SEX),定义关系S的两个混合分片DEFINE FRAGMENT SF1 AS SELECT S#,SNAME FROM SHF1DEFINE FRAGMENT SF2 AS SELECT * FROM SVF1 WHERESEX,分片遵循规则,完备性条件可重构条件不相交条件,数据的分布,分布式

6、数据库中的数据不是存储在一个站点的计算机存储设备上,而是根据需要将数据划分成逻辑片段,按某种策略将这些片段分散地存储在各个站点上。 数据分布的策略有:集中式分割式复制式混合式,分布式数据库的模式结构,四层模式结构,全局外层:全局外模式全局概念层:全局概念模式,分片模式,分配模式局部概念层:局部概念模式局部内层:局部内模式,全局外模式,是全局应用的用户视图,也称全局视图是从一个由各局部数据库组成的逻辑集合中抽取,即全局外模式是全局概念模式的子集。,全局概念模式,描述分布式数据库中全局数据的逻辑结构如果采用关系数据模型,则包括一组全局关系的定义(如关系名、关系中的属性、每一属性的数据类型和长度等等

7、)完整性定义(关系的主键、外键及完整性其他约束条件等),分片模式,描述全局数据的逻辑划分描述数据分片或定义片段,以及全局关系与片段之间的映象这种映象是一对多的。即一个全局关系可对应多个片段,而一个片段只能来自一个全局关系。,分配模式,根据选定的数据分布策略,定义各片段的物理存放站点。即定义片段映象的类型,确定分布式数据库是冗余的还是非冗余的,以及冗余的程度。如果一个片段分配在多个站点上,则片段的映象是一对多的,分布式数据库是冗余的。,局部概念模式,一个全局概念模式经逻辑划分成一个或多个逻辑片段,每个逻辑片段被分配在一个或多个站点上,称为该逻辑片段在某站点上的物理映象或称物理片段对每个站点来说,

8、在该站点上全部物理映象的集合称为该站点上的局部概念模式,局部内模式,分布式数据库中关于物理数据库的描述描述的内容不仅包含只局部于本站点的数据的存储描述,还包括全局数据在本站点的存储描述,DDBMS的功能结构,除提供集中式DBMS提供的功能还有:数据跟踪分布式查询处理分布式事务管理复制数据的管理安全性分布式目录管理,DDBMS的功能模块,查询处理模块完整性处理模块调度处理模块可靠性处理模块,分布式数据库管理系统的一般功能结构,介绍DDBMS的一种参考模型,主要成分是处理器和模式处理器模式,参考模型,用户处理器,它把数据操纵语言中的用户命令,翻译成为规范化命令它把来自数据处理器的数据,翻译成用户理

9、解的格式,用户处理器的组成,用户处理器提供的功能,数据模型独立性语义完整性约束,数据处理器,数据处理器负责存取数据库的数据,它主要包括规范化命令翻译器、规范化结果格式器和运行时支持处理器,数据处理器的组成,数据处理器提供的功能,数据处理器支持集中式和分布式DBMS共同要求:程序与数据的独立性并发独立性事务的原子性,运行时支持处理器,模式层次,数据库的三级模式一个或几个外部模式:每个外部模式包含了数据库的一部分的描述,供用户使用概念模式:包含了整个数据库的逻辑描述,供数据库管理员和用户使用内部模式:包含了物理数据结构的描述,表示物理数据的存放位置和格式数据库管理员使用内部模式来调整数据库以提高其

10、执行效率 这三个模式以及它们之间的映射,指导着各个处理器执行各自的任务,全局数据库控制及通信子系统,负责通信和控制分布式的执行分解器(分布式执行策略)合并器分布式执行监视器(事务原子性,复制独立性,分布式并发控制)通信子系统本地执行监视器,全局数据库控制及通信子系统的组成,本地模式 全局模式,要与其他站点共享数据的每个站点具有一个或几个本地模式。本地模式描述了站点中可由某类用户访问的数据子集,每个站点的DBA通过建立本地模式来控制谁可以访问本地的数据。不同类型的用户使用同一数据的不同子集可以用不同的本地模式来描述。允许用户访问数据的每个站点包含一个或多个全局模式。全局模式描述了用户可从一个或多

11、个站点访问的数据。在一个站点中,可以存在几个不同的全局模式,每个对应于一类用户这种方法非常灵活,因为它可以允许一类用户访问全部数据,也可以允许几类用户访问数据的不同子集。还提供了高度的可靠性,这就是说,如果某个站点出了故障只有该站点的本地模式所描述的数据不可使用,不会影响其他站点的继续使用。,全局模式与本地模式,分布式数据库系统数据的独立性,用户或用户程序使用分布式数据库,不必关心全局数据的分布情况包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况。也称为分布透明性。分布透明性包括三个层次:分片透明性位置透明性局部数据模型透明性,三个层次的比较,三个层次的比较,分布式数据库简单查询与分布透

12、明性,例子:全局关系SUPPLIER(SNO,SNAME,CITY)被划分为两个逻辑片段1和2,,1存放在站点1上。片断2有一个副本,分别存放在站点2和站点3上。现编写一个名为SUPQUIRY的简单查询应用程序它将从终端接受一个供应商号,查询该供应商号相应的供应商名,将它显示在屏幕上,分片透明性不同级别下的只读应用I,Read(teminal,$SNO);Select SNAME into $SNAME From SUPQUIRY Where SNO= $SNO;Write(terminal, $SNAME ); (a)分段透明性(级别1),站点,站点,站点,分片透明性不同级别下的只读应用II

13、,Read(teminal,$SNO);Select SNAME into $SNAME From SUPQUIRY1 Where SNO= $SNO;If not #FOUND thenSelect SNAME into $SNAME From SUPQUIRY2 Where SNO= $SNO;Write(terminal, $SNAME );(b)位置透明性(级别),站点,站点,站点,分片透明性不同级别下的只读应用III,Read(teminal,$SNO);Select SNAME into $SNAME From SUPQUIRY1 AT SITE1 Where SNO= $SNO;

14、If not #FOUND thenSelect SNAME into $SNAME From SUPQUIRY2 AT SITE3 Where SNO= $SNO;Write(terminal, $SNAME );(c)本地映射透明性(级别),站点,站点,分片透明性不同级别下的只读应用IV,问题:假定DDBMS不提供任何级别的分布透明性,用户如何编写应用程序SUPQUIRY呢?设站点1上的本地DBMS为IMS,站点3上的本地DBMS为codasy1。此时,应用程序员必须编写实现所需功能的IMS程序和codasy1程序,并把这些辅助程序安装在相应的站点上如下图所示,分片透明性不同级别下的只读应

15、用IV,(d)无分布透明性,分布式数据库复杂查询与分布透明性,例子:考虑应用SUPOFPART,该应用根据用户输入的零件号查询供应该零件的供应商姓名,若全局关系SUPPLIER(SNO,SNAME,SADDR)被划分为两个逻辑片段S1和S,全局关系SUPPLIER(SNO,NO,QUANTITY)也被划分为两个逻辑片段SP1和SP2.它们的站点位置分配如下: S1存放在站点L1上, S存放在站点L上, SP1存放在站点L上, SP存放在站点L上这里假设:每种零件仅由一家供应商供给;SUPPLY的分片模式基于这样的事实:由S1中供应商供应的零件号在SP1中,由S中供应的零件号在SP中,最高级别:

16、分片透明性,:Read(terminal,$pno);Select sname into $sname from supplier s,supply sp where s.no=sp.no and sp.pno=$pno ;Write(terminal,$sname);,2.中等级别:位置透明性,:Read(terminal,$pno);Select sname into $sname from s1,sp1 where s1.no=sp1.no and sp1.pno=$pno ;If not #found thenSelect sname into $sname from s2,sp2 w

17、here s2.no=sp2.no and sp2.pno=$pno ;Write(terminal,$sname);,3.最低级别:局部数据模型透明性,:Read(terminal,$pno);Select sno into $sno from sp1 at l3 where pno=$pno;If #found then begin send $sno from l3 to l1; select sname into $sname from s1 at l1 where sno=$sno;endElse begin Select sno into $sno from sp2 at l4 w

18、here pno=$pno; send $sno from l4 to l2; select sname into $sname from s2 at l2 where sno=$sno;end Write(terminal,$sname);,分布式数据库更新应用与分布透明性,注意:查询操作只对数据片段或任一副本进行而更新操作必须最数据片段及其全部副本进行位置透明性对更新应用很重要若DDBMS不提供位置透明性,就由应用程序来完成片段及全部副本的更新当更新属性恰好是作为分片模式定义中使用的属性值时,可能引起元组从一个片段移到另一个片段,这会产生相当复杂的影响,例子,全局关系EMP(ENO,ENA

19、ME,DNO,SAL,TAX,MGRNO)经混合分片:先按DNO的值小于10来进行水平分片,分为两个片段Ea和b,后又经垂直分片,划分为如下四个逻辑片段:EMP1=Ea(ENO,ENAME,SAL,TAX)EMP2=Ea (ENO,MGRNO,DNO)EMP3=Eb(ENO,ENAME,DNO)EMP4=Eb (ENO,SAL,TAX,MGRNO),全局关系EMP的分片树,EMP,h,Ea,Eb,V,V,EMP1,EMP2,EMP3,EMP4,例子-更新操作,对EMP2片段做如下更新:将ENO=100的元组中属性DNO=3改变为15.这个更新结果将上边EMP1和EMP2片段的元组ENO=100

20、重新组合后,移到了下边EMP3和EMP4片段中如下图所示,图表,EMP1,EMP,更新前,更新后,EMP,EMP4,级别1:分片透明性,Update emp set dno=15 where eno=100 应用程序如同数据库不是分布的那样来执行更新操作,编程人员不必知道被更新的属性是否是分片模式的定义中使用的属性,级别:位置透明性,Select ename,sal,tax,into $ename,$sal,$tax from emp1 where eno=100;Select mgrno into $mgrno from emp2 where eno=100;Insert into emp3

21、 (eno,ename,dno)values(100,$ename,15);Insert into emp4(eno,sal,tax,mgrno)values(100, $sal,$tax,$mgrno);Delete emp1 where eno=100;Delete emp2 where eno=100;,级别:本地映象透明性,若EMP的各片段的分布如下:EMP1:站点L1和站点5; EMP2:站点L2和站点6EMP3:站点L3和站点7; EMP1:站点L4和站点8编程如下:Select ename,sal,tax,into $ename,$sal,$tax from emp1 at l1

22、 where eno=100;Select mgrno into $mgrno from emp2 at l2 where eno=100;Insert into emp3 (eno,ename,dno) at l3 values(100,$ename,15);Insert into emp3 (eno,ename,dno) at l7 values(100,$ename,15);Insert into emp4(eno,sal,tax,mgrno)at l4 values(100, $sal,$tax,$mgrno);Insert into emp4(eno,sal,tax,mgrno)at

23、 l8 values(100, $sal,$tax,$mgrno);Delete emp1 at l1 where eno=100;Delete emp1 at l5 where eno=100;Delete emp2 at l2 where eno=100;Delete emp2 at l6 where eno=100;,分布式数据库系统的优点,良好的可靠性和可用性提高系统效率,降低通信费用较大的灵活性和可伸缩性经济性和保护投资适应组织的分布式管理和控制数据分布具有透明性和站点具有较好的自治性,分布式数据库系统中存在的技术问题,数据分片、分布与冗余度异构数据库的互联分布式数据库的查询处理分布式数据库的更新处理分布式数据库的并发控制分布式数据库的恢复控制目录管理,小结,分布式数据库系统的由来和发展分布式数据库系统的定义和分类分布式数据库系统的体系结构和组成成分分布式数据库系统中数据的独立性与分布透明性分布式数据库系统的优点和存在的技术问题,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。