第4 章分布式数据查询处理及优化.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章分布式数据库 查询处理与优化 计算机科学与技术系 4.1问题的提出 假设葡萄酒WINE(YEAR ,NAME,PRODUCT, AREA, COUNTRY)和天气WEATHER(YEAR,AREA,COUNTRY,SUN,RAIN)的有关数据存放为:WINE-F存放在巴黎,WINE-I存放在罗马,WINE-U存放在旧金山,WEATHER-R存放在奥斯陆,WEATHER-S存放在罗马。另外,还在纽约存放WEATHER整个数据,现在的查询为:在阿姆斯特丹检索RAIN 800mm的葡萄酒的NAME,YEAR 和SUN,可选的查询方案: 4.2 关系代数的等价变换 一 、算符树 用算符树来表示对应地查询: 例如,对关系供应商S(S#,SNAME),产品P(P#,PNAME),采购B(B#,P#,S#,NUM)作如下查询: Q1:∏PNAME,SNAME,NUM(σNUM 20(B)∞(S∞P)); Q2:∏PNAME,SNAME,NUM(σNUM 20(B∞S∞P)); 二、关系代数的等价变换 设关系代数的两个表达式为E1,E2,如果两个表达式的相同关系具有相同的值时,总是得到相等的结果,那么就说这两个表达式是等价的,并用E1 E2来表示。 令 U和B分别代表一元和二元关系代数运算,则有: 三、在分布式数据库中为简化查询而应用于等价变换的一般准则 准则1: 使用选择和投影的幂等来为每个关系产生相应的选择和投影。 准则2: 把树中的选择和投影运算尽可能地向下推移(在算符树中)。 例 Q:∏PNAME,SNAME,NUM(σNUM 20(B∞S∞P)); 可优化为Q*:(σNUM 20 (∏PNAME,SNAME,NUM B)) ∞(∏PNAME,SNAME,NUM S) ∞(∏PNAME,SNAME,NUM P) 4.3把全局查询变换成段查询 1. 限定关系的代数学 限定关系(Qualified Relation)是一种带有限定语的关系。用[R:qR]来表示一个限定关系,这里R是一个关系,而qR是一个限定语。通常qR相应于一个分片谓语。 限定关系转换规则: 3.水平分段关系的化简 例4-1 对EMP(ENUM,ENAME,SAL,TAX,DNUM)建立水平分段如下: EMP1 =σ ENUM =10(EMP) EMP2 =σ 10 ENUM=20(EMP) EMP3 =σ ENUM20(EMP) 给出查询Q1:σ ENUM=1(EMP) 4.分段连接问题 设有已分段关系R,S,实现R,S连接有两种策略,第一是先合并,后连接,第2 是先连接后合并(称之为分布连接) 如果有关段的条件是高度选择的话,则采用第一种方法好;如果段与段之间的连接能达到消除大量无关段的目的,则采用第二种方法好。 4.4垂直分段的化简 化简的原理是在全部段中决定出足以回答给定查询的一个适当子集,然后从查询表达式中删除所有其他的片。以及删除在分段模式的逆反中用来重构全局关系的若干连接操作。 4.5 分布式分组和聚集函数求值的查询 一 、关系代数的扩充 利用GBG,AFR操作来扩充关系代数,其中各符号的含义为: G 是一些属性,它们决定了R的分组方法; AF 是要对每个求值分组的聚集函数; G和AF可以不指定。 GBG,AFR是一个关系,它是由G的属性和AF的聚集函数组成的一个关系模式。元组数与R中的组数一样多,G的属性取分组的值,而AF的属性取对此组求出的聚集函数的值。 例如供应商供应某种产品的情况表(SUPPLY) 二 、参数性查询 1 . 参数性查询的化简 Q4:σSNo = $X OR SNo = $ Y(SUPPLY) 对于含有参数性的化简则在编译时只能进行一部分,而另一部分要等到运行时才能完成,由于效率方面的考虑,在运行时不采用过于复杂的优化技术。运行时的优化常采用简单的测试来完成。即在编译的时候通过对一些限定语和选择条件进行的代数操作来获得测试的表达式,然后在执行时通过对可能的数据段进行永假式测试,如成立则简化查询的执行。 4.6、基于等价变换的查询优化 基于等价变换的查询优化就是利用查询对应的关系代数并转换成算符树形式,再利用前面介绍的优化准则,达到数据查询的优化目的。 基于等价变换的查询优化的一般步骤如下: 把查询语言对应的命令转换成关系代数对应的算符树。 如果是分布式透明系统,则需要把全局查询转换成段查询对应的算符树。 3.7 基于半连接程序的查询优化 所谓半连接程序是指通过半连接运算来生成等价的处理序列。设A,B分别是R和S的属性组,它的半连接程序可以有如下两种刻画形式。 S ∞A=B (R∝A=

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档