分布式数据库第三章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式数据库第三章

分布式数据库 第三章 分布式查询处理 3.1分布式查询优化概述 查询优化的意义 3.2查询优化基础 查询表达式 SQL语言 关系数据库一般采用SQL作为接口语言 关系代数表达式 关系模型有三类查询语言 用关系代数表达式可以方便地表示查询要求 关系代数表达式可以表示出各操作的执行顺序,可以利用等价变换,实现查询优化 3.3查询的分类与处理步骤 查询的分类 局部查询查询 只涉及本地站点的数据 优化策略与集中式数据库类似 1.先做选择和投影 2.选择合适的连接策略,按连接属性建索引 3.将一些操作组合起来,减少扫描次数 4.找出公共表达式 3.4 基于关系代数等价变换的优化算法 思路 3.5 基于半连接运算的优化算法 思路 半连接可以缩减关系的大小,以减少数据传输量 3.6 基于直接连接算法的查询优化 思路 半连接增加通信次数和本地处理时间,但可以减少数据传输量 在高速局网的环境中,本地处理费用是主要的,一般采用直接连接方式作为查询处理的策略 相关算法 利用站点依赖信息的算法 分片和复制算法 站点依赖与数据复制结合 Hash划分算法 利用站点依赖信息的算法 假设两个关系R1和R2,其分片和分配情况如下: 可能的处理策略 同一个站点上的关系分别做连接运算,再合并连接结果,即: (F11 ∞ F12 ) ∪ (F12 ∞ F22) 站点依赖 两个关系Ri和Rj的每个片段在属性A上满足条件 Fis ∞A Fjt = φ(s≠t),则称Ri和Rj在属性A上站点依赖。 若关系站点依赖,则 Ri ∞A Rj =U(Fis ∞A Fjs ) 无数据传输连接的判定算法 Placement_Dependency(Q,P,S) 其中:R={R1, R2…}是查询Q引用的一组关系,P是站点以来信息,S可无数据传输连接的最大关系集合 算法结束时,若S=R,则Q可无数据传输执行 例 有查询R1 ∞A R2 ∞B R3 ∞C R4 ,假设关系R1和R2在属性A上站点依赖, R2和R3在属性B上站点依赖, R3和R4在属性C上站点依赖。 分片和复制算法 思路: 选择一组站点,包含查询所涉及的关系的全部物理片段,将某些关系的各片段复制到全部站点,在各站点上做本地连接,得到的结果做并运算,得到最终结果。 假设两个关系R1和R2,其分片和分配情况如下: 分析: 结果是正确的 各个站点的运算可以并行执行,且每站点的执行时间均小于直接连接的时间 可以应用于涉及多个关系的查询 代价估算: 各个站点的运算可以并行,总代价为: max(FT(Q, S1, R1), FT(Q, S2, R1)) 片段与复制算法 算法比较 假设两个关系R1和R2,其分片和分配情况如下: 站点依赖 片段与复制算法 ? name,sal Emp ? name,sal Emp1 Emp2 ? name,sal Emp1 Emp2 ? Eno, name,sal ? Eno,Ename,sal ? name,sal Emp2 R∞A=BS=(R∝A=B πB (S) ) ∞A=B S =(S∝A=BπA (R) )∞A=B R 代价估算 Site1: R Site2: S ① 计算S’=πB (S) ② 传输 S’ ③ 计算R’=R∝A=B S’ ④传输 R’ ⑤ 计算R’ ∞ A=B S R∞A=BS=(R∝A=B πB (S) ) ∞A=B S ① 在Site2上计算S’=πB (S) 传输代价:T=c0+c1*X ② 将S’从Site2传输到Site1: T1=c0+c1*Size(B)*Val(S[B]) ③在Site1上计算R’=R∝A=B S’ ④ 将R’从Site1传输到Site2: T2=c0+c1*Size(R)*Card(R’) ⑤ 在Site2上计算R’ ∞ A=B S 半连接的传输代价: T半=2*c0+c1*(Size(B)*Val(S[B]) +Size(R)*Card(R’)) 直接计算的传输代价: T全=c0+c1*(Size(R)*Card(R)) ? S1 S2 R1 ? F11 F12 R2 F21 F22 两个关系R1和R2在属性A上进行连接操作 存在问题? 是否可能? R1 ∞ R2 = (F11 ∞ F12 ) ∪ (F12 ∞ F22) 站点依赖的性质 如果Ri和Rj在属性A上站点依赖,则Ri和Rj在任何包含属性A的属性集B上也站点依赖。 如果Ri和Rj在属性A上站点依赖,则Ri和Rj在属性集B上也站点依赖,其中A ? B, A≠φ 。 如果Ri和Rj在A上站点依赖, Rj和Rk在B上站点

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档