《分布式数据库总结.doc》由会员分享,可在线阅读,更多相关《分布式数据库总结.doc(8页珍藏版)》请在三一办公上搜索。
1、%第一章:分布式数据库系统概述数据库:长期存储在计算机内的有组织的,可共享的相关数据的集合。数据库管理系统:DBMS是介于用户与操作系统之间的一层数据管理软件。为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS基于某种数据模型。数据库系统:数据库系统DBS通常是指带有数据库的计算机应用系统。包括数据库、相应的硬件、软件和各类人员。数据库技术:数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科;是一门综合性较强的学科。数据抽象:视图抽象外模式;概念抽象概念模式;物理抽象内模式数据模型:数据模型三要素:数据结构;数据操作;完整性约束模式/内模式映
2、象:该映象存在于模式与内模式之间,用于定义模式与内模式之间的对应性。本映象一般在内模式中描述。外模式/模式映象:该映象存在于外模式与模式之间,用于定义外模式和模式之间的对应性。本映象一般在外模式中描述。物理独立性:在数据库系统的三级模式结构中,存在模式/内模式的映 象,当内模式发生变化时,只要修改模式/内模式的映象,就可以保持模式不变,从而保证程序与数据的物理独立性。逻辑独立性:在数据库系统的三级模式结构中,存在外模式/模式的映象,当模式发生变化时,只要修改外模式/模式的映象,即可保持外模式不变,从而保证程序和数据的逻辑独立性。DDBS具有如下四个根本特点:物理分布性 逻辑整体性 场地自治性
3、场地之间协作性计算机网络:定义为相互联接、彼此独立的计算机系统的集合。相互联接指两台或多台计算机通过信道互连,从而可进行通信;彼此独立那么强调在网络中,计算机之间不存在明显的主从关系,即网络中的计算机不具备控制其他计算机的能力,每台计算机都具有独立的操作系统。 计算机网络的组成:通信子网和资源子网分布式数据库定义:物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位通常是集中式数据库系统连接起来,共同组成一个统一的数据库系统。分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。分布式数据库系统的特点:物理分布性:数据不是存放在一个站点
4、上 逻辑整体性:是与分散式数据库系统的区别 站点自治性:是与多处理机系统的区别 数据分布透明性集中与自治相结合 存在适当的数据冗余度 事务管理的分布性分布式数据库的分类:按局部DBMS的数据模型分类同构型DDBS:各个站点上数据库的数据模型都是同一数据模型。同构同质型:同一类型,同一种DBMS同构异质型:同一类型,不是同一种DBMS异构型DDBS:各个站点上数据库的数据模型的类型是各不相同的。按DDBS的全局控制类型分类全局控制集中型DDBS:全局控制机制和全局数据词典位于中心站点全局控制分散型DDBS:全局控制机制和全局数据词典分散在网络的各个站点上。全局控制可变型DDBS:也称主从型DDB
5、S。分成两组站点,一组包含全局控制机制和全局控制词典,另外一组不包含。分布式数据库的组成成分:应用数据库,它是分布式数据库的主体,关于应用所需要的数据的集合;1、局部数据只提供本站点的局部应用所需要的数据;2、全局数据虽然物理上存储在个站点上,但是参与全局应用描述数据库数据字典、数据目录或元数据关于数据库中该数据结构的定义,以及全局数据的分片、分布的描述。1、局部数据目录局部站点上的数据词典2、全局数据目录提供全局数据的描述和管理相关信息数据分片要准守的原那么:完备性原那么:要把所有的数据映射到各个片断中;可重构原那么:关系分片后的各个片断可重构整个关系;不相交原那么:关系分片后的各个片断不能
6、重叠分布式数据库是多层的:全局外层全局外模式 全局概念层:全局概念模式、分片模式和分配模式描述分布式数据库总全局数据的逻辑结构和数据结构。 局部概念层:局部概念模式 局部内层:局部内模式DDBS的体系结构自上而下有六个层次:全局外模式;全局概念模式;分片模式;分配模式; 局部概念模式;局部内模式模式结构:全局外模式,全局概念模式,分片模式,分配模式,局部概念模式,局部内模式。分布式数据库管理系统的功能模块:要保证数据库的共享性、可用性、平安性、完整性、分布透明性等功能的实现,应该包括如下四个根本功能模块:查询处理模块:查询分析和查询优化 完整性处理模块 调度处理模块 可靠性处理模块 DDBMS
7、在物理硬件层和集中式系统的主要区别是:各种各样被称为站点或节点的计算机必须通过通信网络连接起来,在站点间传输数据和命令。分布式数据库管理系统的参考模型的主要成分:处理器和模式。分布式数据库中的数据独立性:逻辑独立性物理独立性 分布独立性分布透明性:分三个层次:分片透明性完全分布透明性;位置透明性中级分布透明性;局部数据模型透明性低级分布透明性; 无分布透明性:异构数据分布透明性的定义:指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况,各站点数据库的数据模型等情况对用户和用户程序是透明的。分布透明性的三个
8、层次:分片透明性:分布透明性中的最高层,位于全局概念模式与分片模式之间。位置透明性:分布透明性的中间层,位于分片模式和分配模式之间。局部数据模型透明性:分布透明性的最底层,位于分配模式与局部概念模式之间。%第二章:分布式数据库系统的设计设计集中式数据库的一般方法包括四个阶段:需求分析,概念设计,逻辑设计,物理设计分布式数据库加一阶段:分布设计,包括数据的分片设计和pain段的位置分配设计。需求分析阶段输出:应用的频率表,实体的划分表,数据与应用的方案表。DDBS设计方法:自顶向下重构法;自底向上组合法;混合法分片应遵守的原那么:(1)完整性条件; (2)可重构条件; (3)不相交条件分片的方式
9、:(1)水平分片:是对全局关系执行“选择操作。分为根本分片和基于到处分片。(2)垂直分片;是通过“投影操作把它的属性分成假设干组。导出分片 ;混合分片分布式查询策略:代价公式: QC = I/O 代价 + CPU 代价 + 通讯代价通讯代价: TC = 传输延迟时间C0 + (传输数据量X * 数据传输速率C1)%第三章:分布式数据库的查询处理与优化分布式查询分类:局部查询,远程查询,全局查询1层次结构:分布式数据库查询处理的层次结构,查询处理可分为四个层次:查询分解:将查询问题转换成一个定义在全局关系上的关系代数式;数据本地化:把一个在全局关系上的查询,进行具体化,落实到适合片段上的查询;全
10、局优化:寻找最优策略;局部优化:每个子站点上执行的子查询; 2查询优化的方式:基于关系代数等价变换的查询优化处理; 基于半连接算法的查询优化处理; 基于直接连接算法的查询优化处理基于半联接的查询优化策略的主要思想是不参与联接的值或无用的值不必在网络中来回传输半连接表示连接的代价估算:Card(R)片段关系R的元组数目 Size(A)属性A的大小(即字节数)Size(R)片段关系的大小, 属性大小之和 Val(AR)属性A在R中出现的不同值的个数选择操作 S= FRCard(S)= *Card(R) Size(S)=Size(R) Val(BS)是Val(BR), Card(S), Card(R
11、)的函数并操作 T=RSCard(T) Card(R)+Card(S) Size(T)=Size(R)=Size(S) Val(AT)Val(AR)+Val(AS)连接操作 T=RSCard(T) =(Card(R)*Card(S)/Val(AR) Size(T) = Size(R)+Size(S) Size(A)Val(AT) Min(Val(AR), Val(BS) A 是连接属性Val(AT) Val(AR)+Val(BS) A不是连接属性 半连接 T=RS =Val(AS)/Val(Dom(A) Card(T) = *Card(R)Size(T) = 第一个操作数SizeR Val(A
12、T) = *Val(AR)采用半连接的总代价T半R= 2C0+C1* (size (R)* card( R) +size (B)* val( BS)T半S= 2C0+C1* (size (S)* card( S) +size (A)* val( AR)比拟T半R 与T半S, 取最优者例:举例:R1分段F11和F12的大小为: |F11|=|F12|=50,R2分段F21和F22的大小为: |F21|= 100 |F22|=200设数据通讯C0=0, C1=1, 本地连接Cost=J(x1, x2)=5*(x1+x2)并操作Cost = U(x1, x2) = 2*(x1+x2)令R1保持分片状
13、态, 那么: 站点S1的完成时间 FT(Q, S1, R1) = 200+2*(100+200)+5*(50+300)=2550同理: FT(Q, S2, R1) = 100+2*(100+200)+5*(50+300)=2450因此, 查询响应时间在R1保持分片状态为 2550.令R2保持分片状态, 那么: 站点S1的完成时间FT(Q, S1, R2) = 50+2*(50+50)+5*(100+100)=1250同理: FT(Q, S2, R2) = 50+2*(50+50)+5*(200+100)=1750因此, 查询响应时间在R2保持分片状态为 1750.因为: R1保持分片状态的响应
14、时间R2保持分片状态的响应时间所以: 选择R2保持分片计算查询设关系RA,B,C在场地1,关系SC,D,E在场地2,现欲在场地2得到RS的操作结果。1用联接的方法,如何执行上述操作。2用半联接的方法,如何执行上述操作。1用联接的方法执行,就是直接把关系R从场地1传输到场地2,在场地2执行自然联解得:1用联接的方法执行,就是直接把关系R从场地1传输到场地2,在场地2执行自然联接。2 在场地2,求CS的值; 把CS的值从场地2传输到场地1; 在场地1执行RCS操作; 把RCS的值从场地1传输到场地2; 在场地2执行RCSS操作,即求得RS的值。即RS=RCSS =R SS%第四章:分布式数据库中的
15、事务管理和恢复事务概念:事务是访问或更新各种数据项的最小逻辑工作单位。它是一个操作序列它可以使数据库从一个一致状态到另外一个一致状态 事务必须保证数据库的一致性事务执行期间数据库可能不一致分布式数据库中的事务 分类:全局事务 局部事务分布式事务特性ACID特性原子性Atomicity:事务的操作要么全部执行, 要么全部不执行 ,保证数据库一致性状态一致性Consistency:事务的正确性,串行性,并发执行的多个事务,其操作的结果应与以某种顺序串行执行这几个事务所得的结果相同. 持久性Durability:当事务提交后, 其操作的结果将永久化, 而与提交后发生的故障无关 隔离性 Isolati
16、on:虽然可以有多个事务同时执行,但是单个事务的执行不应该感知其他事务的存在,因此事务执行的中间结果应该对其他并发事务隐藏 进程:系统中可以并行执行的一段操作序列,分布式事务中的子事务序列是进程方式完成的进程说明:定义进程的行为模式,数据和数据上的操作,功能等进行执行:按模式来启动这个进程,执行其中的操作过程:不可并行执行的操作序列事务代理Agent:应用在各个Site上执行的假设干进程,称作应用在该Site上的代理。代理可以执行应用程序员写的程序,也可以执行系统的原语函数,不同代理间通过报文实现通讯根代理Root Agent 应用启动Site上的代理。根代理所在的Site称作原发Site.
17、一般,根代理负责发系统原语,只有根代理可以请求创立新代理。分布式事务管理目标:维护事务的ACID性质;获得最小的主存和CPU开销,降低报文数目,加快响应时间;获得最大限度的可靠性和可用性目的:事务能有效、可靠、并发的执行分布式事务执行的控制模型:是指协调分布式事务中各成员DBMS执行其子事务的通用方法,有三种:主从模型:主、从控制器,LTM之间无通信三角模型:LTM之间可以传递数据,防止了主从之间不必要的传输层次控制模型:LTM还可再创立Agent,控制其它LTM执行,比前两种复杂分布式数据库系统中的故障:事务恢复:当发生故障时,保证事务原子性的措施称为事务故障恢复,简称事务恢复2PC: 将本
18、地原子性提交行为的效果扩展到分布式事务, 保证了分布式事务提交的原子性, 并在不损坏Log的情况下, 实现快速故障恢复, 提高DDB系统的可靠性.第一阶段:表决阶段 第二阶段:执行阶段两类代理:协调者(Coordinator):提交和撤销事务的决定权,一般是总代理参与者(Participants):负责在本地数据库中执行写操作,并且向协调者提出提交和撤销子事务的意向%第五章:分布式数据库中的并发控制锁的相容矩阵:在如下R, S的概貌上计算 RA=B S Size(R)=50, Card(R)=100, Val(AR)=50, Size(A)=3 Size(S)=5, Card(S)=50, V
19、al(BS)=50, Size(B)=3 RA=B S 的选择度 = 0.2 SA=B R 的选择度 = 0.8C0=0,C1=1问: 1. 使用 简化程序在R的站点执行 2. 使用 简化程序在S的站点执行 3. 使用直接连接在R站点执行 4. 使用直接连接在S站点执行 那种方案较优?解:1 CostT1 = 2C0+C1(Size(A)*Val(AR)+Size(S)*Card(S)*SR) = 2C0+C1(3*50+5*50*0.8) = 2C0+350C1 = 3502 CostT2= 2C0+C1(Size(B)*Val(BS)+Size(R)*Card(R)*RS) = 2C0+C1(3*50+5*100*0.2) = 2C0+1150C1 =11503 CostT3=C0+C1* size (S)* card(S) 4 CostT4=C0+C1* size (R)* card( R) = C0+C1*5*50 = C0+C1*50*100 = C0+250C1 = C0+5000C1 =250 =5000 综上,第三种方案最好
链接地址:https://www.31ppt.com/p-4247309.html