您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 分布式数据库系统概述
分布式数据库系统概述分布式数据库系统的由来数据库应用需求的拓展计算机硬件环境的改变计算机网络与数字通信的飞速发展,卫星通信,蜂窝通信,计算机局域网,广域网,激增的Intranet及Internet得到了广泛应用分布式数据库系统的发展数据库系统与计算机网络系统相结合的产物★20世纪70年代末进入成长阶段例如:德国斯图加特大学研制的POREL系统等★20世纪90年代进入商品化应用阶段一些商品化数据库系统产品如:Oracle,Ingres,Sybase,Informix,IBMDB2大都提供对分布式数据库的支持银行的电子资金转移系统。假定一个分布式系统由三个节点组成,分别分布在北京,上海,成都,其中不同区域的帐户记录保存在各自地区的数据库中,它们通过通信网络连接在一起,构成个统一的分布式数据库。在这样的系统中任意一个节点可以存取该节点的帐户,称做局部查询,同时也可以存取另一个节点的帐户,称做远程查询。分布式数据库的一个主要的功能就是给用户提供进行复杂查询的操作,使用户就像在一个单一的数据库上操作一样。什么是分布式数据库系统?物理上分散而逻辑上集中的数据库系统使用计算机网络将物理位置分散而管理和控制又需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统站点,场地,结点特点◆物理分布性分散存储在多个站点,用户感觉不到分散◆逻辑整体性分散的数据逻辑上构成一个整体,可被全局用户共享◆站点自治性各个站点上的数据由本地DBMS管理,具有自治处理能力,完成本站点的应用。其他特点数据分布透明性集中与自治相结合的控制机制存在适当的数据冗余度事务管理的分布性分布式数据库系统的示意图分布式数据库系统分类按局部数据库管理系统的数据模型分类同构同质型同构型DDBS同构异质型异构型DDBS按分布式数据库系统的全局控制系统类型全局控制集中型DDBS全局控制分散型DDBS全局控制可变型DDBS分布式数据库系统的体系结构数据库分为局部DB和全局DB数据库管理系统分为局部DBMS和全局DBMS数据库管理员分为局部DBA和全局DBA分布式数据库系统的体系结构组成成分应用数据库:应用所需要的数据的集合描述数据库:关于数据库中数据结构的定义及全局数据的分片,分布的描述(数据字典,数据目录,元数据)数据分片将全局数据库进行逻辑分割分片方法(1)水平分片(2)垂直分片(3)混合分片关系S(S#,SNAME,AGE,SEX)定义关系S的两个水平分片DEFINEFRAGMENTSHF1ASSELECT*FROMSWHERESEX=’M’DEFINEFRAGMENTSHF2ASSELECT*FROMSWHERESEX=’F’关系S(S#,SNAME,AGE,SEX)定义关系S的两个垂直分片DEFINEFRAGMENTSVF1ASSELECTS#,AGE,SEXFROMSDEFINEFRAGMENTSVF2ASSELECTS#,SNAMEFROMS全局关系的每个属性至少影射到一个垂直片段中,且每个垂直片段都包含该全局关系的键关系S(S#,SNAME,AGE,SEX)定义关系S的两个混合分片DEFINEFRAGMENTSF1ASSELECTS#,SNAMEFROMSHF1DEFINEFRAGMENTSF2ASSELECT*FROMSVF1WHERESEX=‘M’分片遵循规则完备性条件可重构条件不相交条件数据的分布分布式数据库中的数据不是存储在一个站点的计算机存储设备上,而是根据需要将数据划分成逻辑片段,按某种策略将这些片段分散地存储在各个站点上。数据分布的策略有:集中式分割式复制式混合式分布式数据库的模式结构四层模式结构全局外层:全局外模式全局概念层:全局概念模式,分片模式,分配模式局部概念层:局部概念模式局部内层:局部内模式全局外模式是全局应用的用户视图,也称全局视图是从一个由各局部数据库组成的逻辑集合中抽取,即全局外模式是全局概念模式的子集。全局概念模式描述分布式数据库中全局数据的逻辑结构如果采用关系数据模型,则包括一组全局关系的定义(如关系名、关系中的属性、每一属性的数据类型和长度等等)完整性定义(关系的主键、外键及完整性其他约束条件等)分片模式描述全局数据的逻辑划分描述数据分片或定义片段,以及全局关系与片段之间的映象这种映象是一对多的。即一个全局关系可对应多个片段,而一个片段只能来自一个全局关系。分配模式根据选定的数据分布策略,定义各片段的物理存放站点。即定义片段映象的类型,确定分布式数据库是冗余的还是非冗余的,以及冗余的程度。如果一个片段分配在多个站点上,则片段的映象是一对多的,分布式数据库是冗余的。局部概念模式一个全局概念模式经逻辑划分成一个或多个逻辑片段,每个逻辑片段被分配在一个或多个站点上,称为该逻辑片段在某站点上的物理映象或称物理片段对每个站点来说,在该站点上全部物理映象的集合称为该站点上的局部概念模式局部内模式分布式数据库中关于物理数据库的描述描述的内容不仅包含只局部于本站点的数据的存储描述,还包括全局数据在本站点的存储描述DDBMS的功能结构除提供集中式DBMS提供的功能还有:数据跟踪分布式查询处理分布式事务管理复制数据的管理安全性分布式目录管理DDBMS的功能模块查询处理模块完整性处理模块调度处理模块可靠性处理模块分布式数据库管理系统的一般功能结构介绍DDBMS的一种参考模型主要成分是处理器和模式处理器模式参考模型用户处理器它把数据操纵语言中的用户命令,翻译成为规范化命令它把来自数据处理器的数据,翻译成用户理解的格式用户处理器的组成用户处理器提供的功能数据模型独立性语义完整性约束数据处理器数据处理器负责存取数据库的数据,它主要包括规范化命令翻译器、规范化结果格式器和运行时支持处理器数据处理器的组成数据处理器提供的功能数据处理器支持集中式和分布式DBMS共同要求:程序与数据的独立性并发独立性事务的原子性运行时支持处理器模式层次数据库的三级模式一个或几个外部模式:每个外部模式包含了数据库的一部分的描述,供用户使用概念模式:包含了整个数据库的逻辑描述,供数据库管理员和用户使用内部模式:包含了物理数据结构的描述,表示物理数据的存放位置和格式数据库管理员使用内部模式来调整数据库以提高其执行效率这三个模式以及它们之间的映射,指导着各个处理器执行各自的任务全局数据库控制及通信子系统负责通信和控制分布式的执行分解器(分布式执行策略)合并器分布式执行监视器(事务原子性,复制独立性,分布式并发控制)通信子系统本地执行监视器全局数据库控制及通信子系统的组成本地模式全局模式要与其他站点共享数据的每个站点具有一个或几个本地模式。本地模式描述了站点中可由某类用户访问的数据子集,每个站点的DBA通过建立本地模式来控制谁可以访问本地的数据。不同类型的用户使用同一数据的不同子集可以用不同的本地模式来描述。允许用户访问数据的每个站点包含一个或多个全局模式。全局模式描述了用户可从一个或多个站点访问的数据。在一个站点中,可以存在几个不同的全局模式,每个对应于一类用户这种方法非常灵活,因为它可以允许一类用户访问全部数据,也可以允许几类用户访问数据的不同子集。还提供了高度的可靠性,这就是说,如果某个站点出了故障.只有该站点的本地模式所描述的数据不可使用,不会影响其他站点的继续使用。全局模式与本地模式分布式数据库系统数据的独立性用户或用户程序使用分布式数据库,不必关心全局数据的分布情况.包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况。也称为分布透明性。分布透明性包括三个层次:分片透明性位置透明性局部数据模型透明性三个层次的比较分片透明性位置透明性局部数据模型透明性层次最高层(完全分布透明性)中间层(中级分布透明性)最底层(低级分布透明性)位置全局概念模式与分片模式之间分片模式与分配模式之间分配模式与局部概念模式之间三个层次的比较全局数据的逻辑分片逻辑片段的副本逻辑片段及副本的站点位置分配各站点数据库的数据模型分片透明性位置透明性√局部数据模型透明性√√√分布式数据库简单查询与分布透明性例子:全局关系SUPPLIER(SNO,SNAME,CITY)被划分为两个逻辑片段S1和S2,,S1存放在站点L1上。片断S2有一个副本,分别存放在站点L2和站点L3上。现编写一个名为SUPQUIRY的简单查询应用程序.它将从终端接受一个供应商号,查询该供应商号相应的供应商名,将它显示在屏幕上.分片透明性不同级别下的只读应用IRead(teminal,$SNO);SelectSNAMEinto$SNAMEFromSUPQUIRYWhereSNO=$SNO;Write(terminal,$SNAME);(a)分段透明性(级别1)SUPPLIER2SUPPLIER1SUPPLIER2DDBMS站点1站点2站点3分片透明性不同级别下的只读应用IIRead(teminal,$SNO);SelectSNAMEinto$SNAMEFromSUPQUIRY1WhereSNO=$SNO;Ifnot#FOUNDthenSelectSNAMEinto$SNAMEFromSUPQUIRY2WhereSNO=$SNO;Write(terminal,$SNAME);(b)位置透明性(级别2)SUPPLIER2SUPPLIER1SUPPLIER2DDBMS站点1站点2站点3分片透明性不同级别下的只读应用IIIRead(teminal,$SNO);SelectSNAMEinto$SNAMEFromSUPQUIRY1ATSITE1WhereSNO=$SNO;Ifnot#FOUNDthenSelectSNAMEinto$SNAMEFromSUPQUIRY2ATSITE3WhereSNO=$SNO;Write(terminal,$SNAME);(c)本地映射透明性(级别3)SUPPLIER2SUPPLIER1DDBMS站点1站点3分片透明性不同级别下的只读应用IV问题:假定DDBMS不提供任何级别的分布透明性,用户如何编写应用程序SUPQUIRY呢?设站点L1上的本地DBMS为IMS,站点L3上的本地DBMS为codasy1。此时,应用程序员必须编写实现所需功能的IMS程序和codasy1程序,并把这些辅助程序安装在相应的站点上.如下图所示.分片透明性不同级别下的只读应用IV站点L1IMSSUPQUIRY:Read(terminal,$SNO);Execute:$SUPIMS($SNO,$FOUND,$SNAME)atL1:IfNot$FOUNDExecute$SUPCODASYL($SNO,$FOUND,$SNAME)atL3;Write(terminal,$SNAME);DDBMSSUPCODASYL($SNO,$FOUND,$SNAME);findSUPPLIER_RECODE::SUPIMS($SNO,$FOUND,$SNAME);getuniqueSUPPLIER_DEGMENT::本地DBMS(codasl)本地DBMS(IMS)codasl站点L3(d)无分布透明性分布式数据库复杂查询与分布透明性例子:考虑应用SUPOFPART,该应用根据用户输入的零件号查询供应该零件的供应商姓名,若全局关系SUPPLIER(SNO,SNAME,SADDR)被划分为两个逻辑片段S1和S2,全局关系SUPPLIER(SNO,PNO,QUANTITY)也被划分为两个逻辑片段SP1和SP2.它们的站点位置分配如下:S1存放在站点L1上,S2存放在站点L2上,SP1存放在站点L3上,SP2存放在站点L4上.这里假设:每种零件仅由一家供应商供给;SUPPLY的分片模式基于这样的事实:由S1中供应商供应的零件号在SP1中,由S2中供应的零件号在SP2中.1.最高级别:分片透明性:Read(terminal,$pno);Select
本文标题:分布式数据库系统概述
链接地址:https://www.777doc.com/doc-3850824 .html