《分布式数据库总结.docx》由会员分享,可在线阅读,更多相关《分布式数据库总结.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 分布式数据库总结 分布式数据库系统及其应用复习大纲 第一章 分布式数据库系统概述 1、理解分布式数据库系统的特点 分布式数据库系统的定义: 分布式数据库系统,通俗地说,是物理上分散而规律上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而治理和掌握又需要不同程度集中的多个规律单位(通常是集中是数据库系统)连接起来,共同组成一个统一的数据库系统。 分布式数据库系统的特点:物理分布性:数据不是存放在一个站点上规律整体性:是与分散式数据库系统的区分站点自治性:是与多处理机系统的区分数据分布透亮性集中与自治相结合的掌握机制存在适当的数据冗余度事务治理的分布性 2、能够根据不同标准描述分
2、布式数据库系统的分类 按局部数据库治理系统的数据模型分类:同构性(homogeneous)(分为同构同质型和 同构异质型)DDBS和异构性(heterogeneous)DDBS 按分布式数据库系统的全局掌握系统类型分类:全局掌握集中型DDBS,全局掌握分散型DDBS,全局掌握可变型DDBS。 3、理解分布式数据库中数据的独立性和分布透亮性 所谓数据独立性是指用户或用户程序使用分布式数据库犹如使用集中式数据库那样,不必关怀全局数据的分布状况,包括全局数据的规律分片状况、规律片段站点位置的安排状况,以及各站点上数据库的数据模型等。也就是说,全局数据的规律分片、片段的物理位置安排,各站点数据库的数据
3、模型等状况对用户和用户程序透亮。所以,在分布式数据库中分布独立性也称为分布透亮性。 分布透亮性包括三个层次:分片透亮性(完全分布透亮性):映像2 位置透亮性(中级分布透亮性):映像3 局部数据模型透亮性(低级分布透亮性):映像4 无分布透亮性:异构数据 其次章 分布式数据库系统设计 1、理解分布式数据库的设计目标 分布式数据库设计的目标1分布式数据库的本地性或近地性2掌握数据的适当冗余3工作负 荷分布4存储的力量和费用 2、理解水平分片的定义、分类和应用 水平分片是对全局关系执行“选择操作”,把具有一样性质的元组进展分组,构成若干个不相交的子集。水平分片的方法可归为初级分片和导出分片两类。 初
4、级分片:以关系自身的属性性质为根底,执行“选择”操作,将关系分为若干个不相交的片段。例子2.1 S(S#,SNAME, AGE, SEX) Define fragment S1 as select * from where sex=M Define fragment S2 as select * from where sex=F 导出分片:全局关系的导出分片不是以其自身的属性性质为根底,而是从另一个关系的属性性质或水平片段推导出来的。采纳导出分片可片可使片段与片段之间的“连接”变得更简单。 例2.3 设全局关系SC(,GRADE),S(S#,SNAME, AGE, SEX)若要将划分 为男生的
5、各门课成绩和女生的各门课成绩,这就不行能从SC本身的属性性质来执行选择,必需从关系S的属性性质或水平片段来导出。 Define fragment SC1 as select SC.S#,C#,GRADE from SC,S where SC.S#=S.S# and SEX=M Define fragment SC2 as select SC.S#,C#,GRADE from SC,S where SC.S#=S.S# and SEX=F 假如S已经进展水平分片,分为SF和SM,分别为男生全体和女生全体,则上述的片段定义可以基于片段SF和导出: Define fragment SC1 as se
6、lect * 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、理解垂直分片的定义和应用 一个全局关系的垂直分片是通过“投影”操作把它的属性分为若干组。确定一个全局关系R的垂直分片需要依据应用以“同样方式”(例如具有一样的使用频率)访问的属性来进展分组。 例2.4全局关系EMP(E#,NAME,SAL,TEL,MAGNUM,DEPT),主码为E#。主要应用有:集中在站点3上的治理性应用要求查询雇员的:NAME,
7、SAL,TEL;和从其他站点发出的应用要求查询雇员的:NAME,DEPT,MAGNUM。 解:假如使用垂直分片:EMP(E#,NAME,SAL,TEL)和EMP(E#,MAGNUM,DEPT) 则NAME属性只属于一个片段,对于上述的应用,必需进展连接操作和非本地访问。 假如使用垂直群集:EMP(E#,NAME,SAL,TEL)和EMP(E#,NAME,MAGNUM,DEPT) 则对于上述应用,不需要执行连接操作,且可实现较好的本地性。 4、能够描述分片的根本原则 完备性原则:要把全部的数据映射到各个片断中 可重构原则:关系分片后的各个片断可重构整个关系 不相交原则:关系分片后的各个片断不能重
8、叠 5、把握数据片断安排的分类和常用方法 安排的简化模型有:读代价、写代价、存储代价和目标函数。 常用方法:非冗余安排设计方法(包含最正确适应法和其他方法)和冗余安排的设计方法(包含全部得益站点法和附加复制法) 6、把握最正确适应法和全部得益站点法的根本特点 最正确适应法是对每一种安排方式进展估算,然后选择最正确的站点。这种方法不考虑把一个片段与一个相关片段放在同一站点的“相互”影响。 特点:将片断Ri安排到访问Ri次数最多的那个站点上 Bij= kFkj*Nki 全部得益站点法:首先确定非复制为题的解,然后在全部站点中确定一组站点,给这组站点中的每一个站点安排片断的一个副本,这样做所得到的好
9、处要比为此而付出的费用合算。 特点:将片断Ri的副本安排到全部得益站点j上 Bij= kFkj*Rki -c*k jj Fkj*Uki 假如Bij0,则站点j是得益站点,放置Ri的一个副本 7、能够描述DATAID-D方法设计分布式数据库的各个阶段 需求分析,概念设计,分布要求分析,全局规律设计,分布设计,局部规律设计,局部物理设计。规律设计分为全局规律设计和局部规律设计 8、能够依据给出的条件对关系进展详细分片,给出正确的限定关系 上边的例子。 第三章 分布式数据库系统中的查询处理和优化 1、把握分布式数据库查询的分类 局部查询、远程查询和全局查询 2、理解关系代数运算的交换率 ?1 (2
10、(R) =2 (1 (R) 条件:1 2 是 选择操作 时总成立,1 2 是 投影操作 时要求其属性集合相等 1 与2 是投影和选择操作时:A1,?An(F(R) =F (A1,?An (R) 的条件是 F中的属性是 A1, ?. An 的子集。R S = S R R S = S R R S = S R R S = S R R S ? S R R - S ? S - R 3、把握直接连接优化算法的分类 利用站点依靠信息的算法,分片与复制算法,站点依靠和数据复制结合算法,Hash划分算法 4、把握半连接运算 见例子 5、把握半连接和直接连接查询优化算法的区分 取决于数据传输和局部处理的相对费用;
11、假如传输费用是主要的,采纳半连接;假如本地费用是主要的,采纳直接连接, 6、理解Hash划分算法的特点 数据传送量是R;索引方面, 比片段复制算法更低,每个站点的连接数据量同站点依靠 7、能够描述基于半连接算法查询优化的根本原理和步骤 根本原理是在传到另一个站点做连接前,消退与连接无关的数据,削减做连接操作的数据量,从而减小传输代价 步骤:计算每种半连接方案的代价,并从中选择一种最正确方案 选择传输代价最小的站点,计算采纳全连接的方案的代价 比拟两种方案,确定最优方案 8、能够描述基于关系代数等价变换的查询优化算法原理、算法实现步骤 原理:1查询问题关系代数表达式2分析得到查询树3进展全局到片
12、段的变换得到基于片段的查询树4利用关系代数等价变换规章的优化算法,尽可能先执行选择和投影操作 算法:1连接和合并尽可能上提(树根方向)2选择和投影操作尽可能下移(叶子方向) 实现步骤:转换一:1查询问题关系代数表达式。2转换二:关系代数表达式查询树。3转换三:全局查询树分拆成片段查询树。4优化:利用关系代数等价变换规章的优化算法,优化查询树,进而优化查询 9、能够依据供应的条件完成分片和复制算法应用,通过计算推断哪个关系保持分片最优 P88例3-6 考试 第四章 分布式数据库中的事务治理和恢复 1、把握事务的四大特性 原子性(Atomicity),全都性(Consistency),长久性(Du
13、rability).隔离性( Isolation) 2、能够描述两阶段提交协议的工作流程 两阶段提交协议的根本思想是:将本地原子性提交行为的效果扩展到分布式事务, 保证了分布式事务提交的原子性, 并在不损坏Log的状况下, 实现快速故障恢复, 提高DDB系统的牢靠性. 2PC把事务的提交过程分为两个阶段:第一阶段:表决阶段,目的是形成一个共同的打算 首先,协调者给全部参加者发送“预备”消息,进入等待状态 其次,参加者收到“预备”消息后,检查是否能够提交本地事务 如能,给协调者发送“建议提交”消息,进入就绪状态 如不能,给协调者发送“建议撤销”消息,可以单方面撤销 第三,协调者收到全部参加者的消
14、息后,他就做出是否提交事务的打算, 只要有一个参加者投了反对票,就打算撤销整个事务,发送“全局撤销”消息给全部参加者,进入撤销状态 否则,就打算提交整个事务,发送“全局提交”消息给全部参加者,进入提交状态 其次个阶段:执行阶段,实现表决阶段的打算,提交或者撤销 3、把握事务故障的分类 分布是数据库的故障 分布是数据库的故障分为站点故障和通信故障。站点故障包括事务故障、系统故障和介质故障。 事务故障包括计算溢出。完整性被破坏、操作员干预、输入或输出出错等。 通信故障分为报文故障和网络分割故障。 4、把握分布式数据库事务执行的掌握模型的分类 分为三类:主从模型,三角模型,层次掌握模型 5、理解日志
15、文件的特点 日志文件保存到磁盘上。日志 Log:记录全部对DB的操作 事务标识:每个事务给定一个具有惟一性的标识符 Log记录项 : start_transaction, T write_item, T, x, 旧值, 新值 read_item, T, x commit, T abort, T 写动作:写Log比写数据优先 Log存储:一般存在盘上, 还会定期备份到磁带上 6、理解分布式数据库数据更新常见方法 多站点数据更新、主文本更新法、快照方法 7、理解故障恢复时检查点学问 检查点(Checkpoint):设置一个周期性(时间/容量)操作点 a) Log Buffer内容写入Log数据集
16、b) 写检查点Log信息:当前活动事务表, 每个事务最近一次Log记录在Log文件中的位置 c) DB Buffer内容写入DB d) 将本次检查点Log项在Log文件中的地址记入“重启动文件” 8、能够描述两阶段提交协议的特点:2PC协议的重要特点:1允许参加者单方面撤销事务 2一旦参加者确定了提交或撤销协议,它就不能再更改它的提议3当参加者处于就绪状态时,依据协调者发出的消息种类,它可以转换为提交状态或者撤销状态4协调者依据全局提交规章做出全局终止打算5协调者和参加者可能进入相互等待对方消息的状态,使用定时器,保证退出消息等待状态 第五章 分布式数据库中的并发掌握 1、理解封锁的根本准则
17、1事务T在执行任何read_item(x)操作之前,必需先执行read_lock(x)或者write_lock(x)操作 2事务T在执行任何write_item(x)操作之前,必需先执行write_lock(x)操作 3假如事务T执行read_lock(x)操作,数据项x必需没有加锁或者已经加了读锁,否则事务T的这个操作不能进展 4假如事务T执行write_lock(x)操作,数据项x必需没有加锁,否则事务T的这个操作不能进展 5事务T在完成全部read_item(x)和write_item(x)操作之后,必需执行unlock(x)操作 6假如事务T已经持有数据项x上的一个读锁或者一个写锁,那
18、么它不能再执行read_lock(x)操作 7假如事务T已经持有数据项x上的一个读锁或者一个写锁,那么它不能再执行write_lock(x)操作 8假如事务T没有持有数据项x上的一个读锁或者一个写锁,那么它不能执行unlock(x)操作 2、理解基于时标的并发掌握方法 并发掌握方法包含全局时标和局部时标 3、把握死锁检测的方法分类 局部死锁:仅在一个站点上发生的死锁 全局死锁:涉及多个站点的死锁(即等待圈由多个站点组成) 4、理解全都性调度和可串行化调度的特点 全都性调度:调度可以使得数据库从一个全都性状态转变为另一个全都性状态,则称调度为全都性调度 可串行化调度:假如一个调度等价于某个串行调
19、度,则该调度称为可串行化调度。 也就是说,该调度可以通过一系列非冲突动作的交换操作使其成为串行调度 5、能够描述死锁发生的四个必要条件:会考试 互斥条件:事务恳求对资源的独占掌握 等待条件:事务已持有安排给它的资源, 又去申请并等待别的资源 非抢占条件:直到资源被持有它的事务释放前, 不行能将资源强制从持有它的事务夺去 循环等待条件:存在事务相互等待的等待圈 6、能够列举并发掌握算法 悲观并发掌握法和乐观并发掌握法 悲观并发掌握法有基于封锁的算法、基于时标排序的算法和混合算法。乐观的方法也可分为基于封锁或基于时标排序的算法。 第六章 分布式数据库中的牢靠性 1、理解牢靠性和可用性的含义与关系
20、牢靠性:指数据库在一给定时间间隔内不产生任何失败的概率。它强调数据库的正确性,要求数据库正确运行。通常用来描述不行修复的系统。 可用性:强调的是当需要访问数据库时,它是可用的。指在给定的时间点系统可以正常运行的概率。通常用于描述那些可以修复的系统。 两者关系:通常认为构建可用性的系统比牢靠性的系统简单。两者是统一的,牢靠性高的系统可用性自然是好的。 两者又是冲突的,增加错误风险的状况下,可提高可用性;采纳太慎重的策略会降低可用性 2、理解两阶段提交协议如何转为三阶段提交协议 2PC中的状态: C(提交)状态是可提交状态, 其它为不行提交状态。Ready 状态是不行提交状态。Wait状态是不行提
21、交状态。它们都侵害了非阻断协议的充要条件, 从而考虑转变2PC, 使其满意非阻断协议条件。在Wait 和 Commit 之间, 或者在Ready和Commit之间参加另一种状态作为缓冲状态, 从而有了3PC协议 3、把握分布式牢靠性协议的组成。简答 牢靠性协议组成 :包括提交、终结、恢复协议。提交和恢复协议具体说明提交命令和恢复命令是如何执行的。终结协议是分布式系统特有的协议。在执行一个分布式事务时,若一个Site故障,盼望其它Site也停顿该事务。处理这种状况的技术就称为终止协议。 4、理解发生网络分割时冗余分布式数据库和非冗余数据库采纳的处理协议 非冗余数据库:任何需要访问存储在另一网络区
22、域里的数据项的新事务都被阻断, 等待网络修复。位于同一区域里的数据项的并发访问由并发掌握算法处理。网络分割时由提交协议处理 冗余数据库:分割时, 副本可能位于不同的区域。由复制协议处理 5、能够描述三阶段提交协议中事务协调者和参加者的状态转换 P188页图6.4 考试 6、能够采纳版本号法进展不全都性检测,并且应用于实际。大题 需要首先发觉哪些数据局部已经不全都(不全都性检测) 然后依据发生的状况,给这些局部给予一个最合理的值(不全都性的解法) 检测方法:采纳版本号 P200页例子 第七章 分布式数据库的安全性与名目治理 1、理解分布式数据库的动态授权语句的形式 1用户对自己生成的关系拥有全权, 通过授权和收权语句完成对数据开放, 保密的存取权授予(Grant, Revoke)。授权语句授权语句:Grant To With Grant Option 2访问表(AT)法 2、理解数据库的安全性含义 数据库安全性包括两个方面的内容:数据库数据的保密性和安全性。