分布式数据库复习要点第一章1、分布式数据库的定义(P4)物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统分布式数据库系统可以看成是计算机网络和数据库系统的有机结合2、分布式数据库的两种分类方法(P7)按局部DBMS的数据模型分同构型DDBS:各个站点上数据库使用同一数据模型同构同质型-数据模型相同,且是同一种DBMS(同一厂家)同构异质型-数据模型相同,不是同一种DBMS异构型DDBS:各站点上数据库的数据模型类型不同按DDBS的全局控制类型分全局控制集中型DDBS:全局控制机制和全局数据词典位于中心站点全局控制分散型DDBS:全局控制机制和全局数据词典分散在网络的各个站点上全局控制可变型DDBS:也称主从型DDBS分成两组站点,一组包含全局控制机制和全局控制词典,另外一组不包含3、分布式数据库的组成成分(两部分)(P9)数据:分布式数据库的主体,包括局部数据和全局数据数据目录:数据结构的定义、全局数据的分片、分布、授权、事务恢复等描述,包括局部和全局数据目录4、分布式数据库的数据分片的定义和类型(3种)(P10)数据分片:又称数据分割、数据分段,局部数据库是由全局数据库分割而成。
三种类型:水平分片:按特定条件把全局关系的所有元组划分成若干个互不相交的子集,对全局关系施加选择运算垂直分片:把全局关系的属性集分成若干个子集,对全局关系施加投影运算混合分片:以上两种方法的混合5、分布式数据库的分布策略(4条)(P11)数据分布:根据某种策略把数据分片所得的逻辑片断分散地存储在各个站点上^集中式:所有数据都安排在同一站点上分割式:所有数据只有一份,被分割成若干个逻辑片段,每个片段被放置在特定的站点复制式:所有数据有多个副本,每个站点都有一个完整的数据副本混合式:分割式和复制式的混合6、分布式数据库的模式结构(P13)分四层:全局外层:全局外模式-埃:局应用的用户视图全局概念层:全局概念模式一描述全局数据的逻辑结构和数据特性;分片模式-4苗述全局数据的逻辑划分;分配模式一根据数据分布策略,定义各片段的物理存放站点局部概念层:局部概念模式---各个站点上全部物理映像的集合局部内层:局部内模式-会局/本站点数据在本站点的存储描述7、分布式数据库的功能模块(P.16-17)查询处理模块:任务是减少查询处理的代价完整性处理模块:负责维护数据库的完整性和一致性调度处理模块:发布局部处理命令,管理数据传输可靠性处理模块:负责监视系统的各个部分是否有故障出现。
8、分布透明性的层次(三层P.25-26)分布透明性也叫分布独立性,包括三个层次:分片透明性:用户编写应用程序只对全局关系进行操作,不必考虑数据的逻辑分片位置透明性:也叫分配透明性用户编写应用程序需要了解数据分片情况,但不必了解副本和各片段的站点位置情况局部数据模型透明性:不必了解站点上数据库的数据模型及其数据对象的表示性质第二章DDB设计1、DDB设计的两个方法P39-40自顶向下:(对应于DDB创建方法中的重构法)从头开始设计分布式数据库根据系统的实现环境和用户需求,按照分布式数据库系统的设计思想和方法,采用统一的观点,从总体设计做起,包括各站点上的数据库系统,重新建立一个DDBS可以有效解决数据一致性、完整性和可靠性问题通常是同构异质或者同构同质的自底向上:(对应于DDB创建方法中的组合法)通过聚集现存数据库来设计分布式数据库利用现有的计算机网络和独立存在于各个站点上的现存数据库系统,通过建立一个分布式协调管理系统,将它们集成为一个统一的DDB&通常是异构或者同构异质2、DATAID-D方法P52这是自顶向下设计分布式数据库的一个典型方法,增加的两个阶段:分布要求分析阶段输入:用户分布要求、全局数据概念模型、全局数据操作模式;输出:频率表(各个站点每一应用激活次数)、划分表(各实体的潜在水平分片规则)、极化表(由一个站点发出的一给定应用访问一给定片段的频率)。
分布设计阶段分片设计:对实体进行水平分片和垂直分片非冗余分配:利用最佳适应法,把各片段映射到使用最多的站点上冗余分配:起初使用非冗余分配,在每次迭代时,计算因增加一副本使其变成本地访问的得益与为维护该副本一致性所需要附加远程修改的损失之差值,如果是个整数,就把该副本存储到该得益站点局部模式的重新构造:重新构造片段分配站点上的局部模式3、数据片断分配法P50,同时参见PPT相关部分4、DATAID方法的应用P55,同时参见PPT相关部分第三章分布式查询处理和优化1、关系代数知识,并能进彳f实例运算,类似习题3.6的运算要了解(重点PPT上例题)2、查询树,查询变换,限定关系等定义查询树:将一个查询的关系代数表达式进行语法分析得到一颗语法树:叶子节点是查询涉及的关系,各个节点是关系代数操作符,根节点是查询结果语法树又称查询树查询变换:从全局查询到片段查询的变换?限定关系:R:Qr称为R的限定关系,其中Qr表示查询逻辑片段就是一个限定关系city='londO&upplier)的限定关系:[Supplier:city='londOn'3、基于关系代数等价变换的查询优化实例(重点看P80-82)基本原理:把查询问题转换为关系表达式;关系表达式到查询树(语法树)的变换;全局查询到片段查询的变换(把全局查询树中的全局关系名,用重构该全局关系的各片段名替换,变换成相应片段上的查询树);利用关系代数等价变换规则的优化算法,尽可能先执行选择和投影操作。
4、基于半连接的算法的查询优化的操作过程和代价估算(83-84)(重点看PPT例题)5、基于直接连接算法的查询优化处理的四种方法,重点1、2、4算法重点看书P85)站点依赖:如果两个关系不同站点的分片在属性A上没有交集(说明它们之间连接结果为空,只进行本站点片段连接再合并就够了),则可以只在同一站点上做片段连接操作,然后合并连接结果分片和复制:如果不符合站点依赖的条件,则选择一组站点,把查询引用的某个关系的所有片段分布到这些站点上,其余被引用关系则复制到每个选定站点中去,这样在每个站点进行本地连接,再合并结果,必然会覆盖到所有该连接的元组(因为每一个站点都有另一个关系的完全副本)Hash划分:如果两个关系不符合站点依赖的条件,利用Hash函数对分片关系上的连接属性作站点依赖计算,再据此分片,比如按连接属性取值为奇偶数来把元组发送到不同站点,这样分片后两个关系必然就满足站点依赖条件,再进行本地连接这实际是构造站点依赖的一种方法第四章分布式数据库中的事务管理和恢复1、分布式事务的定义和特性P97定义:事务是访问数据库的最小逻辑工作单位,它是一个操作序列分布式事务是一个分布式操作的序列,被操作的数据分布在不同站点上。
ACID特性:原子性(Atomicity):事务的操作要么全部执行,要么全部不执行,保证数据库一致性状态一致性(Consistency):事务的正确性并发执行的多个事务,其操作的结果应与以某种顺序串行执行这几个事务所得的结果相同持久性(Durability):事务提交后,其操作的结果将永久化,与提交后发生的故障无关隔离性(Isolation):事务在提交前,决不允许把它对共享数据所作改变的结果提供给其他事务使用2、分布式事务的结构P99(一个应用由若干个分布式事务组成,每个分布式事务由不同站点的若干子事务组成)分布式事务的一般结构:BeginTransaction原语:开始一个事务T1口T2口:子事务或操作序列Tn口Commit原语:事务成功完成的结束Rollback或Abort原语:事务失败的结束3、分布式事务执行的控制模型(三种)P105分布式事务控制模型是指协调分布式事务中各成员DBMS执行其子事务的通用方法,有三种:主从模型:分布式事务管理器作为主控制器,局部事务管理器(LTM)作为从属控制器,LTM之间无通信三角模型:控制权是分布式事务管理器和LTM之间分享的LTM之间可以传递数据,避免了主从之间不必要的传输。
层次控制模型:LTM还可再创建Agent,控制其它LTM执行,比前两种复杂4、事务恢复的概念P108当发生故障时,保证事务原子性的措施称为事务故障恢复,简称事务恢复,主要依靠日志来实现5、事务的状态和状态转移P109事务在执行过程中的状态变化:事务开始后立即进入活动状态,可以进行读写操作;事务结束时进入部分提交状态;事务到达提交点时进入提交状态;如果检查出故障或者事务在活动状态期间被撤销,则进入故障状态;终止状态表明事务已经离开系统6、本地事务恢复的过程(P.112)本地事务恢复的过程类似于集中式数据库系统中事务的恢复:1)从“重启动文件"读出最近Checkpoint的地址,定出Checkpoint在Log文件中的位置找最近的检查点)2) 创建Redo表(初态为空);创建Undo表(即CheckpointRecord中的活动事务表)3) 从CheckpointRecord起沿log向前检索,遇到begintransaction的log记录,其对应的事务记入Undo表;遇到commit的10g记录,其对应事务从UNDO表移入Redo表,直至log完在Undo表和Redo表中加响应的事务)4)反向检索Log,将Undo表中事务,按10g记录的操作,做Undo,直到遇到对应的BeginTransactiono(执行Undo)5)从CheckpointRecord起正向检索Redo表中事务的Log记录,并执行之,直到对应的Commit记录。
执行Redo)7、两阶段提交协议定义和原则(P115-116)将本地原子性提交行为的效果扩展到分布式事务,保证了分布式事务提交的原子性基本思想是:坚持在分布式事务结果生效之前,所有参与执行分布式事务的站点都同意提交2PC把提交过程分为两个阶段:表决阶段一目的是形成共同的决定;执行阶段一目的是实现这个决定全局提交规则:只要至少有一个参与者撤销事务,协调者就必须做出全局撤销的决定;只有所有参与者都同意提交事务,协调者才能做出全局提交的决定8、两阶段提交协议的通信结构(P117,还是把ppt上图看一下)?集中式:通信只发生在协调者和参与者之间,参与者之间不交换信息?分层式:协调者是在树根的DTM代理者,协调者与参与者之间的通信不使用直接广播,而是使用报文在树中上下传播每个DTM代理是通信树的一个内部节点,它从下层节点处收集报文或向它们广播报文线性:参与者之间可以互相通信系统中的站点间要排序,消息串行传递分布式:允许所有参与者在第一阶段相互通信,从而可以独立做出事务终止决定9、主文本更新法分布式数据库中数据更新方法之一指定一个副本为主文本,更新时只对主文本进行;然后由主文本站点将主文本更新内容及时发送到各辅文本站点,各辅文本的更新可以并行进行。
问题-更新传播必须在短时间内完成,否则将获得“过时”数据;主文本不可用,将引起其它辅文本也不可用改进方法-移动主文本法第五章分布式数据库中的并发控制1、并发控制的定义P131并发控制就是负责正确协调并发事务的执行,保证并发存取操作不至于破坏数据库的完整性和一致性,确保并发执行的多个事务能够正确地运行并获得正确的。