从数据库里检索数据所涉及的活动称为查询处理。对于一个高级查询,DBMS可以使用不同的技术处理、优化和执行。在高级查询语言里,任何一个给定的查询可以有不同的处理方式,每个查询需要的资源也是不同的。图6.1SQL查询命令的执行步骤......
2023-10-28
首先我们讨论离网优化。由于最初的优化不涉及网络问题,所以称为离网优化。在POREL/C-POREL系统中,它处于NUA(离网分析)层。
下面讨论查询分解和数据定位问题。
查询分解是把分布演算查询映射到一个全局关系的代数查询上。在这个层面上,查询分解使用的还是集中式DBMS上的技术,因为此时还不考虑关系分布问题。
从代数优化看,使用直接分步骤的算法可以获得一个“好的”结果,但是,进一步看未必是最佳的。换句话说,每次选最好的,不见得最终结果是最佳的。就像有一筐苹果,每天选一个质量最好的苹果吃,不见得是最好的吃法。因为随着时间的流逝,苹果的质量在不断地变坏,有些最初符合食用标准的苹果老轮不上吃,最后变得不符合食用标准而被丢弃。
数据定位的工作是分析输入,然后将全局关系上的查询进行分解。数据定位是将全局关系上分解后的查询作为输入,再将数据分布信息应用到查询上,并绑定到确切的数据上。数据定位决定查询涉及哪些数据片,并将分布查询转化成分片查询。
查询分解是查询处理的第一个阶段,它把关系演算查询转换成关系代数查询。这里的输入/输出都是指全局关系,不涉及数据分布。因此,查询分解在集中式系统和分布式系统中是一样的。我们先假设查询的语法都是正确的,当这个阶段成功完成时,输出的查询语义也是正确的。
我们把查询分解分成如下步骤。(www.chuimin.cn)
第一步:查询规范化(normalization)。
第二步:查询分析(analysis)。
第三步:约简冗余(elimination of redundancy)。
第四步:重写(rewriting)。
第一步、第三步、第四步与等价变换相关,前三步的查询基本上可以用关系演算(如SQL)描述,最后一步变换成关系代数形式。
有关分布式数据库技术的文章
从数据库里检索数据所涉及的活动称为查询处理。对于一个高级查询,DBMS可以使用不同的技术处理、优化和执行。在高级查询语言里,任何一个给定的查询可以有不同的处理方式,每个查询需要的资源也是不同的。图6.1SQL查询命令的执行步骤......
2023-10-28
尽量要求事务执行能够并行化。图14.16Teradata DBC的事务处理是并行的图14.16中,每个竖放的矩形表示处理器,分别记为AMP1、AMP2、AMP3和AMP4,横放的矩形表示事务。图14.18算符内并行注:为算符,为算符实例i,n=并行度2.算符间并行算符间并行指的是不同的算符并行计算。图14.19中的两个选择算符是独立并行的。算法14.2是并行关联连接算法。......
2023-10-28
查询优化的本地化分层聚焦于将查询转换成本地数据。一个全局关系可以通过应用重构规则来重构,从而导出一个关系代数程序,其操作数是数据片,这个程序称为本地化程序。将分布查询分配到节点上的自然办法是生成查询,让每个全局关系使用本地化程序来代替。这可以看成是在一棵分布查询的算符树上将叶子用与本地化程序对应的子树来替代。数据水平分片关系的连接也可以简化。......
2023-10-28
表7.8分布查询优化算法比较①统计内容分别为:1=关系的基,2=每个属性的不同值个数,3=连接选择系数,4=每个连接属性上投影的大小,5=属性大小和元组大小。......
2023-10-28
查询分解的最后一步是将查询重新写成关系代数的形式。重构关系代数查询以改进性能。树根则代表查询结果。其次,根节点是关于结果属性的投影操作,显示在Select子句中。 查询“那些在CAD/CAM项目中工作了1年或2年的名字不叫李林的雇员”,其SQL语句如下:Select enamef rom PROJ,EMP_PROJ,EMPwhere EMP_PROJ.eno=EMP.enoAND EMP_PROJ.pno=PROJ.pnoAND ename≠"李林"AND PROJ.pname="CAD/CAM"AND这可以映射成图7.2所示的算符树。应用变换规则,从这棵算符树可以派生出许多不同的树。如何重写,请看下面即将介绍的等价变换。图7.2算符树的例子......
2023-10-28
涉网查询优化的问题主要包括三部分,其过程简述如下。查询优化器可以由三个成分构成:搜索空间、成本模型和搜索策略。图7.17查询优化过程1.搜索空间查询执行计划是算符树的一种表现形式,对执行序有更明确的表示,有丰富的附加信息,如为每个操作选择最佳实施方法。图7.19连接树的两种主要形态2.搜索策略查询优化器最常用的搜索策略是动态规划,称为确定策略。......
2023-10-28
几乎所有的对象查询处理器都使用关系型系统定制开发的优化技术。通过继承层次存取对象的优化也是面向对象和关系查询处理相区别的问题。图15.8对象查询处理方法对象的复杂结构及其上面提及的那些与关系查询的四点主要差异导致对象查询的优化和关系查询比较有很大不同。查询优化器可以计算整棵处理树的成本。......
2023-10-28
因为服务供应商并不可信,所以关系以加密形式存储。假设数据在记录级加密,即每个表的每个记录加密成一个数据块。这样,加密关系表示由一个加密记录集合构成。反之,使用DAS的本意是直接在服务器端处理查询,而无需解密数据。在关系型表示的数据进行加密后,要对其实施SQL查询,即开发出一种能在加密数据上支持比较运算和算术运算的机制。......
2023-10-28
相关推荐