《分布式数据库概念.ppt》由会员分享,可在线阅读,更多相关《分布式数据库概念.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、分布式数据库分布式数据库计算机科学与技术系计算机科学与技术系姚全珠姚全珠第2章 分布式数据库基本概念一、分布式系统一、分布式系统分布式系统的定义分布式系统的定义 总结了分布式系统的五个基本原则总结了分布式系统的五个基本原则 分布性的刻画分布性的刻画 几个典型的非分布式系统几个典型的非分布式系统 分布式系统面对的问题分布式系统面对的问题 分布式系统设计上的一些重要原则分布式系统设计上的一些重要原则二、分布式数据库系统二、分布式数据库系统 分布式数据库的定义分布式数据库的定义 分布式数据库管理系统概述分布式数据库管理系统概述 分布式数据库系统的组成分布式数据库系统的组成 分布式数据库的分类分布式数
2、据库的分类一、分布式系统1、分布式系统的定义 美国电工电子学会下属的计算机学会给出的分布式系统定义为:“包含多个相连的处理资源,这些资源能在系统的控制下,对单一问题进行合作,而且最少依赖集中过程,数据或硬件。”英国计算机学会给出的描述为:“包含多个独立的但又交互作用的计算机,它们可以对公共问题进行合作,这个系统的特点是包含多个控制路径,他们执行一个程序的不同部分而且相互作用。”2 2、总结了分布式系统的五个基本原则总结了分布式系统的五个基本原则(1)资源的重复性 指分布式系统中硬件,软件以及数据的冗余配置。(2)物理上的分布性 从硬件,软件以及数据上看都是相互独立地分布。(3)高层操作系统(或
3、者分布式操作系统)高层操作系统负责对分布性的资源进行统一的控制,它使一个简单的硬件堆积转变为一个统一协调的工作系统。(4)系统的透明性 透明性是分布式系统的灵魂,实现不同层次的透明性是分布式系统必须解决的关键问题之一。(5)协作的自治性 每一节点都是一个完整的处理系统,同时又是合作的。简而言之:分布式系统是一个多节点的,处理或数据分布的,在统一下提高综合处理能力的协作体。3、分布性的刻画从三维空间来表征处理系统的分布特征(1)硬件构成层次 以处理器为核心划分为:A 单CPU:单一控制器,单一运算器,单一内存 B 多执行部件:单一控制器,多运算器或存储器 C 具有专用功能部件:单一通用控制器,多
4、运算 器或存储器,配有通道/输入输出处理机/向量运算部件/辅助数学运算部件等专用功能部件。D多处理机:多个控制器,多运算器或存储器,单一输入输出系统。E多计算机:多台通用计算机 (D E:分布式硬件环境)(2 2)控制方式层次)控制方式层次 多节点系统中按控制方式划分为:A 单个控制点:物理上的或概念上的一个控制节点 B 固定主从关系:有一个节点是主节点,其他的是从节 点 C 动态主从关系:可以通过程序修改主从关系 D 多个控制节点独立工作:例多个计算机最多是在I/O级 别上交换信息 E 多个控制节点在某个层次上(如任务分割)协同工作 F 多个同构控制点完全协同工作 G 多个同构或异构控制点完
5、全协同工作(EFG:分布式系统)计算机学院HPC系统结构(3 3)、数据分布层次)、数据分布层次根据数据的分布性特点,可划分为:A 集中式数据库:在文件及目录上只有单一的拷 贝。B 文件分布式但中央集中式目录:没有本地目录,所有访问都要通过这个中央集中式目录。C 重复的数据库拷贝:在每个节点都有一份完整的数据 拷贝D 主节点存放完整数据,其他节点存放所需的数据或数 据分片。E 主节点存放数据分布图或目录,其他节点存放所需的 数据或数据分片。F 所有节点都存放最重要的数据或数据分片,而且任何节 点都能形成对其他节点的访问。参见 图1图1 分布特征示意图控制方式硬件构成数据分布4、几个典型的非分布
6、式系统A 系统中引入专用处理部件B 系统中主从关系明显。(例 具有智能终 端的系统)C 简单网络互连结构:简单互连网络具有 很好的自治性,且可交换信息但不能协 同工作。(例 双机或多机备份系统)5、分布式系统面对的问题A 不完整系统状态信息B 时间延迟C 通信的代价D 负载均衡6、分布式系统设计上的一些重要原则A 内核较小:重点集中在通信控制,任务 分割,透明访问等全局工作上B 充分利用节点信息:不完整甚至是不精 确的状态信息。C 通信方法和协议:通信参数都必须通过 完善的定义而且有严格执行的接口。二、分布式数据库系统2.1 分布式数据库的定义1.分布式数据库的发展 始于20世纪70年代,主要
7、是应用的需要 (1)符合现代企业管理方式:企业跨地区,跨国家经营。(2)提高性能价格比:集中存放要求性能提高,甚至无法满 足。(3)硬件的发展:为DDBS奠定了物质基础 (4)网络技术的发展:为DDBS提供了必要条件 (5)数据库应用系统的普及:为DDBS提供了技术与经验2.分布式数据库的定义 分布式数据库是一个物理上分散的而逻辑上集中的数据集。它有三大特点:数据分布性 逻辑关联性 站点自治性2.2 分布式数据库管理系统概述1、DDBMS应具有如下功能分布式数据库定义功能:提供定义数据结构及其数据分布等功能分布式查询处理功能:提供分布化环境下的查询处理及优化功能。分布式数据库维护功能:数据的完
8、整性及一致性,并发控制,安全检查以及版本控制等诸多方面都需要有效合理的机制保证,还要有转移任务的能力。调度处理功能:DDBMS必须具有分解全局事务并转换成对应数据交换的能力。还必须解决并发控制等问题。2、分布式数据库管理系统应遵循的12条原则1987年,CJDate提出了完全的分布式数据库管理系统应遵循的12条原则:场地自治性 不依靠中心站点持续操作性 位置透明和独立性数据分割独立性 分布式独立性分布式查询处理 分布式事务管理硬件独立性 操作系统独立性网络独立性 数据库管理系统独立性2.3 分布式数据库系统的组成1 硬件:CPU、内存、外存、通信设备。2 数据:LDB、GDB、分散在各个站点上
9、3软件:LOS LDBMS 高层DDBMS 以及与的接口程序4人员:全局用户、局部用户、全局数据库管理员()、局部数据库管理员、系统分析员、应用程序员。2.4分布式数据库的分类按照各节点的结构来划分:同构型和异构型两类 异构型表现在:硬件的异构:CPU或硬件体系结构不同。网络结构的异构:不同网络的结构有所差异。软件的异构:不同站点的操作系统或DBMS不同2 从分布式数据库系统控制方式的角度可划分为:紧耦合式DDBMS:全局控制信息放在一个称为中心站点的站点上。所有的全局访问都必须通过中心站点来确定远程数据片的位置。优点:容易实现数据的一致性和完整性。缺点:易产生访问瓶颈,系统效率不高,可靠性较
10、差。集中式控制的紧耦合式DDBMS结构示意图DDBMS/DD全局用户LDBMS1LDBMSnLDB1LDBn局部用户局部用户联邦式DDBMS:每个站点都包含全局控制信息的一个副本,都可以接受全局访问。任何对远程数据的请求,都可以通过广播方式传播到其他节点。优点:具有较好的可靠性和可用性,并行性好,更容易适应旧有的系统集成和异构分布式数据库系统的建立。缺点:保持数据的一致性很困难,实现难度大。分布式控制联邦式DDBMS结构示意图DDBMSLDBMS1DDBMS/DDLDBMSn全局用户全局用户局部用户局部用户LDB1LDBN 组合式DDBMS:是上述方案的折衷,它把站点分为两类,一类具有全局控制
11、信息,称为主节点,可以接受全局任务,另一类没有全局信息,只能为主节点提供数据服务。优点:灵活性较好,易于实现层次控制结构。缺点:设计复杂。第3章 分布式数据库设计3.1 分布式数据库的构成方式 分布式数据库可以以单层结构(SL)和多层结构(ML)两种基本方式进行数据组织。单层分布式数据库(SL DDB)它只有一个独立的逻辑数据库,它们分布在相联的数据节点上,每个节点没有独立的数据库,SL DDB 对应的DDBMS是一个单层次的全局总控制系统,任何访问都必须通过它来完成,节点的自治性完全丧失。节点可以是同构的或异构的,典型的例子是POREL 和 VND。多层次分布式数据库(ML DDB)每个节点
12、都有自己的独立数据库(LDB),而它们(或其中的部分)又构成一个逻辑上统一的全局数据库(GDB)。ML DDB 需要为每个节点配备局部DBMS,同时DDBMS进行全局处理总控工作。本节点数据的局部访问通过本地DBMS完成,而全局访问要通过DDBMS来完成。节点可以是同构的,也可以是异构的。ML DDB 的典型例子是R*和DATANET。分布式数据库的模式结构GAS1GAS2GAS3GAS5GRS1GRS2NAS1NAS2NAS3NAS4NRS1NRS3NRS2LAS1 LAS2LRS1 LRS2 SS1 SS2LDB1LDB2DDB1LAS3LAS4LAS5LAS6LRS3 LRS4 LRS5
13、SS3 SS4 SS5LDB3LDB4LDB5DDB2DDB3分布式数据库参考模型全局应用模式(GAS)它是面向特定应用用户的GDB数据视图全局表示模式(GRS)它是GDB的逻辑描述,它需要刻画GDB涉及的所有实体(关系),同时它也描述GDB中数据在节点的分布,还应描述完整性约束。节点应用模式:(NAS)它是面向本节点特定用户的LDB数据视图。节点表示模型(NRS):它主要是本地LDB的逻辑描述,如果本节点包含LDB以外的数据,还需要对这些外部数据和GDB的关联加以描述。存储模式(SS)它主要是本地LDB的存储描述。如果本节点包含LDB以外的数据,还需要对这些外部数据的存储加以描述。模式间的映
14、射 1 GAS/GRS的映射:把用户通过外视图对GDB的访问和它的GRS描述对应起来,完成所涉及数据的逻辑定位。2 GRS/NRS映射:GRS/NRS映射把GDB的统一逻辑描述转换成对应相关节点数据的逻辑描述,完成所涉及的数据在节点上的逻辑定位。3 NAS/NRS 映射:NAS/NRS 映射是针对基于LDB的局部访问的,它完成节点的局部访问到LDB的逻辑描述的转换。4 NRS/SS映射:NRS/SS映射把来自全局或局部的应用所转换的NRS对应到相应的存储表示上,以完成对节点数据的物理存取。各部分功能介绍:3个(分布式)全局数据库DDB1、DDB2、DDB3,它们分别由GRS1、GRS2、NRS
15、3实现全局的逻辑描述。5个局部数据库(LDB1 LDB2 LDB3 LDB4 LDB5)它们通过局部表示模式LRS1LRS5来完成逻辑定义,通过存储模式SS1SS5实现物理组织,并通过不同的局部应用模式LASn来完成局部访问。3.2分布式数据库系统中的透明性分布透明性:即在分布式数据库系统中用户不必关心数据的分布情况。分为三个层次:分片透明性(FragmentationTransparence)位置透明性 (Location Transparence)数据模型透明性 (Data model Transparence).1.分片透明性 它是分布式数据库系统的最高透明性层次,它向用户完全屏蔽了DD
16、B的分片信息。这样的透明性保持了高水平的数据独立性。例如 有一个关系EMP(ENUM,ENAME,EAGE,ESEX),它被分成两个数据片EMP1 和EMP2,分别存储在站点site1和site2。若系统满足分布透明性,则可用如下语句完成给定职工号查询。SELECT ENAME FROM EMP WHERE ENUM=¥ENUM2.位置透明性 用户的应用程序不需要关心数据分片的具体存储站点,当数据库的数据片的存储站点发生改变时,只需改变对应的GRS/NRS映射就可以保持全局表示模式不发生改变。例如:作如下查询:SELECT ENAME FROM EMP1 WHERE ENUM=¥ENUMIF
17、NOT FOUND()THEN SELECT ENAMEFROM EMP2 WHERE ENUM=¥ENUN3.本地透明性 它向用户屏蔽的只是本站点的具体数据库存储及其管理情况。在异构的情况下,这种透明性避免了用户对不同数据模型的转换的实现。例 SELECT NAME FROM EMP1 AT SITE1 WHERE ENUM=¥ENUM IF NOT FOUND()THEN SELECT ENAME FROM EMP2 AT SITE2 WHERE ENUM=¥ENUM 这个查询只关心数据分片及其存放位,但不关心数据的具体组织形式。本地透明性是3种透明方式中最低的。3.3分布式数据库的数据分
18、割方法 1、关系代数集合 (1)选择F(R)(2)投影 A(R)(3)连接 RT 等价连接,自然连接RT (4)半连接 RT=R(RT)A(R)R TTT R2、数据分割法 水平分割:把全局关系的元组分割成一些子集,这些子集被称为数据分片或段(Fragment)。水平分割可以通过关系运算“选择”来定义.(2)(2)垂直分割垂直分割(vertical aplitting)(vertical aplitting)垂直分割就是把全局关系按照属性组(纵向)分隔成一些数据分片或段。垂直分割可以通过关系运算“投影”来定义。(3)(3)混合分割混合分割 可把水平分割和垂直分割这两种方法结合起来使 用,产生混
19、合式数据分片。(1 1)水平分割)水平分割3、数据分片应遵循的、数据分片应遵循的原则原则若若若若R=RR=R1 1,RR2 2,RnRn满足:满足:满足:满足:1)1)完整性完整性完整性完整性(completeness)(completeness)条件:条件:条件:条件:如果分片如果分片如果分片如果分片 a aRR,则必有,则必有,则必有,则必有a aRRi i,i=li=l,2 2,n n 2)2)可重构可重构可重构可重构(reconstructed)(reconstructed)条件:条件:条件:条件:R=R=R Ri i,(水平分片水平分片水平分片水平分片)或或或或R=R=RRi i,(
20、垂直分片垂直分片垂直分片垂直分片)3)3)不相交不相交不相交不相交(disjoint)(disjoint)条件:条件:条件:条件:R Ri i R Rj j=,i=,ij,I,jj,I,j:=1,2,=1,2,,n(n(水平水平水平水平 分分分分片片片片)R Ri iRRj j=主键属性主键属性主键属性主键属性,I,j=1,I,j=1,2,n(2,n(垂直分片垂直分片垂直分片垂直分片)4水平分片水平分片是对全局关系执行“选择”操作,把具有相同性质的元组进行分组,构成若干个不相交的子集.水平分片的方法可归为初级分片(primary fragmentation)和导出分片(derivation f
21、ragmentation)两类。(1)初级分片以关系自身的属性性质为基础,执行“选择”操作,将该关系分片成若干个不相交的片段。例3.1 s(S#,SNAME,AGE,SEX)define fragment S1 as select*from s where sex=M define fragment S2 as select*from s where sex=F限定语:可把初级分片对片段的定义中,执行选择操 作 的 条 件(或 称 谓 词),叫 做 限 定 语(qualification)。如例3.1中的:SEX=F和SEX=M是限定语 那么,水平分片正确性原则的三个条件可以这样来实现:1)完
22、整性条件。各片段定义中的限定语集合必须是完整的,即至少是它们允许值的集合。例如:SEX=M,F)季节=春,夏,秋,冬)2)可重构条件。如果限定语集合是完整的,则通过并操作总能重构全局关系。3)不相交条件。如果限定语之间是互斥的,它们的片段必不相交。表征合适分片的两个性质表征合适分片的两个性质:令P:P1,P2,Pn)是一简单谓词的集合,为了正确而有效地进行分片,则P必须是“完整的”和“最小的”。满足:1)只有当属于同一分片中的任意两个元组被任一应用以同等概率进行访问时,称谓语集合P是完整的。2)如果集合P的全部谓词与应用密切相关,称P是最小的。例如,设:全局关系EMP(E#,NAME,DEPT
23、,JOB,SAL,TEL,)DEPT=1,2),JOB=(P,一P)若假定应用经常查询的内容是属于部门1且是程序员的雇员。P=DEPT=1)不是完整的。因为这样分片之后,在DEPT=1的片段中的元组,有程序员和非程序员,而应用经常只查询是程序员的元组。所以,是程序员的元组的查询概率必大于非程序员的元组的查询概率。P=DEPT=1,JOB=P)是正确的也是合适的。因为这样分片得到的四个片段:DEPT=1,JOB=P,DEPT=1,JOB=一P),DEPT=2,JOB=P),DEPT=2,JOB=一P)。每一片段中元组被访问的概率是相等的,因此是完整的;每一限定语都与应用密切相关,因此是最小的;限
24、定语之间互斥,因此片断之间必不相交。P=DEPT=1,JOB=P,SAL500。是完整的,但不是最小的。因为SAL500与应用无关。(2)导出分片全局关系的导出式水平分片不是以其自身的属性性质为基础,而是从另一个关系的属性性质或水平片段推导出来的。采用导出分片可使片段与片段之间的“连接”(join)变得更容易。例如,设全局关系SC(S#,C#,GRADE),S(S#,SNAME,AGE,SEX)若要将SC划分为男生的各门课成绩和女生的各门课成绩。这就不可能从SC本身的属性性质来执行选择,必须从关系S的属性性质或水平片段来导出。define fragment SC1 as select SC.S
25、#,C#,GRADE from SC,Swhere SC.S#=S.S#and SEX=Mdefine fragment SC2 asselect SC.S#,C#,GRADE from SC,Swhere SC.S#=S.S#and SEX=F define fragment SC1 as Select*from SC where S#in(select SF.S#from SF)define fragment SC2 as Select*from SC where S#in(select SM.S#from SM)(3)连接图35、垂直分片垂直分割可以通过关系运算“投影”来定义。例如,有:
26、WINE(YEAR,NAME,PRODUCER,AREA,COUNTRY)和WEATHER(YEAR,AREA,COUNTRY,SUN,RAIN)对 WEATHER 可定义两个垂直分片WEATHER-R:YEAR,AREA,COUNTRY,RAIN(WEATHER)WEATHER-S:YEAR,AREA,COUNTRY,SUN(WEATHER)6、混合分割可把水平分割和垂直分割这两种方法结合起来使用,产生混合式数据分片。例如 定义由法国生产的葡萄酒的名称和区域 WINE-F:NAME,AREA(country=France(WINE)3.4分布式数据库的设计方法1.DDB 设计(1)数据分片的
27、逻辑设计:从逻辑层面上决定数据分割的原则和方法,并加以实现。(2)数据分片的位置设计:决定数据分片的物理存放站点,并应该考虑副本的使用及其相关问题。(3)LDB 设计 与集中式数据库相同 完全指派方法对应的处理调度举例给定一个系统环境,有2个物理场所phs1,phs2和3个虚拟场所vs1,vs2,vs3。根据应用特点设计了3个数据分片F1,F2,F3。他们被首先放在虚拟场所VS1,VS2,VS3中,涉及的操作有O1,O2,O3,O4,O5。具体定义为VS1=,VS2=,VS3=。包括3个主要事务:事务1描述为:在VS1上做O1,把结果传到VS2;在VS2上做O2,把结果传到PHS1。事务2描述
28、为:在PHS1上做O4,把结果传到VS3。事务3描述为:在VS3上做O5,把结果传到PHS2。则构造处理调度图如下:未指派下的处理调度示意图 phs1Phs2Vs1Vs2Vs31,10,2001,10,8002,6,8003,20,1000注:边上的数字(i,f,d)分别表示事务、频率和数据传输量 如何指派以减少传输费用呢?可有8种指派。指派1的费用计算如下:Phs1vs11,10,2001,10,8002,6,80010200108006800=14800Phs2(3,20,1000)Vs3 VS2Vs1(1,10,200)vs2指派2 Phs1 VS2Phs2Vs3(2,6,800)680
29、0=4800(1,10,800)(3,20,1000)8种指派可能Phs1 0指派 (vs1,vs2,vs3)(vs1,vs2);(vs1,vs3);(vs2;vs3)vs1;vs2;vs3 共计8种可能。2.分布式数据库设计的原则 对用户来说,分布式系统看起来应当就像非分布式系统一样。本地自主性 分布式系统中节点应当是自主的,具体含义为:本地数据是本地占有且本地管理的。本地操作保持其纯本地性。所有在指定结点上的操作都是由该结点控制的。对中心结点没有依赖性 系统中任何结点对于系统的运作都不是必须的,即系统中不应该存在一台中心服务器来提供诸如事务管理,死锁检测,查询优化和全局系统目录之类的服务。
30、连续操作 理想状况下,进行诸如以下情况的操作应该不需要安排关闭系统:在系统中添加或删除节点;一个或多个节点中动态创建或删除分段。位置独立 位置独立等价于位置透明,用户可以访问所有的数据,就像是存储在用户结点上一样。分段独立性 用户访问数据和数据分段无关复制独立性 用户应该意识不到数据复制。这样用户就不能直接访问某个数据项的指定副本,也不需要用户的特意去更新数据项的所有副本分布式查询处理 系统应该能够处理从多个结点上引用数据的查询分布式事务处理 系统支持事务作为恢复单元,系统必须保证全局事务和本地事务与事务的ACID规则相一致,即原子性,一致性,隔离性和持久性。事件独立性 DDBMS应该可以在不
31、同的硬件平台上运行。操作系统独立性 DDBMS应该在不同的操作系统上运行。网络独立性 DDBMS应该可以在多种全异的通信网络上运行3.分布式数据库的设计方法(1)自顶向下设计需求分析企业模式定义分布设计LDBs设计(2)自底向上设计 LDB分析与全局数据模型的选择构造全局模式全局数据模型与本地数据模型的映射设计扩展实体联系方法EER在不同情况下更为突出(3)Dataid-d的设计方法 Dataid-d方法是意大利米兰工业大学提出的,它把DDB设计划分成如下五个阶段:需求分析概念设计全局逻辑设计分布设计局部逻辑设计局部物理设计数据字典全局数据(/操作)模式简化全局模式/逻辑访问表站点逻辑模式/站点访问表局部逻辑模式局部物理模式思考题一、分布式数据库与集中式的区别有哪些?二、常用的数据分片方法有哪些?三、设计一个全校机房计费系统。