您的当前位置:首页正文

中间件异构数据库集成中基于半连接的查询优化算法

2021-06-26 来源:好走旅游网
第35卷 第2期 Vo1.3 5 No.2 西南师范大学学报(自然科学版) Journal of Southwest China Normal University(Natural Science Edition) 2010年4月 Apr. 2010 文章编号:1000—5471(2010)02—0107—04 中间件异构数据库 算法 集成中基于半连接的查询优化 吴俊霖, 余建桥 西南大学计算机与信息科学学院,重庆4007l5 摘要:全局查询效率一直是中间件异构数据库集成中的热点和难点问题,由于目前异构数据库绝大多数是关系型数 据库,所以采用半连接方法优化连接操作,并在半连接图的基础上提出了多个站点的半连接执行方案优化算法,该 算法根据半连接图生成有向无序树,使多个半连接操作能够并行执行,盎分析能有效地提高全局查询效率. 关键词:半连接;半连接图;有向无序树;查询优化 文献标识码:A 中图分类号:TP311 目前异构数据库集成方案中,中间件方式是使用较多的一种异构数据库集成方案,其目标是为用户提 供一个统一的查询接口,用户不必关心数据库的位置、数据库类型以及数据的存储格式,就像在本地查询 一样.中间件体系结构中的查询是将用户基于全局模式提交的查询动态分解为子查询到各异构数据库执 行.虽然中间件体系结构实现了信息共享,但其子查询语句的执行仍采用简单的顺序执行,且并未对子查 询语句进行优化,造成全局查询效率很低.如何提高全局查询效率一直是中间件异构数据库集成的热点和 难点问题….考虑到目前绝大多数异构数据库是关系型数据库 ,而在分布式查询中,连接操作是最常用 的且最费时间和空间的操作,而且多个关系的连接执行顺序优化也是整个查询处理的重点,直接影响全局 查询时间.传输费用是主要因素,而半连接操作从一个站点传送关系到另一个站点作连接之前,先除去了 与连接无关的数据,减少了作连接操作的关系数据量,从而减少了传输代价。。 .所以采用半连接方法,根 据半连接操作执行的优先级构造了半连接图,并在半连接图的基础上提出了一种多站点半连接执行方案的 优化算法,该算法根据半连接图构造有向无序树,使多个半连接能够并行执行. 1 中间件异构数据库与半连接 1.1 中间件异构数据库集成中的查询 在中间件的信息集成系统中,每个数据源都是独立自治的.其查询过程如下:用户提交的基于全局视 图的查询,由中间件的分解器分解为针对每个数据源的 子查询,然后按一定调度规则,顺序执行子查询,提交给 每个数据源执行,最后每个数据源将执行结果返回给中 用 全 子 户 全 局 查 询 局 查 询 分 船 查 r、、 询 1,1 优 卜、、 询 查 调 度 间件的集成器.其查询调度过程如图1. 1.2半连接操作 化 半连接(semi—join)操作 是由投影和连接操作导出 图1 查询调度图 收稿日期:2009—09—04 作者简介:吴俊霖(1985一),女,四川达州人,硕士研究生,主要从事数据库技术研究 通讯作者:余建桥,教授,博士,研究生导师. 108 西南师范大学学报(自然科学版) 投稿网址http://xbgjxt.SWU.cn 第35卷 的一种关系代数操作.假定有两个关系R和S,在属性R.a—S.b上作半连接操作可表示为: RCx: :bS—R∞ _Il(丌I](S))或Sac R—S。。 _Il(丌 (R)) 站点1的关系R与站点2的关系S在属性R.a和 S.b上的连接操作用半连接来实现的具体执行过程共5 个步骤(图2): 1)在站点2的关系S属性b上做投影操作得到丌b(S); 图2半连接执行过程 2)把丌h(S)送到站点1; 3)在站点1进行半连接,得到半连接结果R’一(Rooa=b(rrb(S))); 4)再把R’从站点1传送到站点2; 5)在站点2执行连接操作R’cw..DS得到最终的结果. 由半连接的执行过程可知,采用半连接实现连接操作需要两次数据传输:连接属性投影结果R'b(s)和 半连接结果R’.但在通常情况下,这两次数据传输的总量要远远小于整个R关系的数据量 ,所以选择半 连接方法优化连接. 2半连接图及查询优化算法 基于中间件的异构数据库集成中的全局查询的查询优化主要目标是使网络数据传输总和更小,查询响 应时间更短.半连接能够有效地缩减关系的大小进而节省传输开销,因此半连接方法能够有效地优化中问 件体系中的查询效率. 2.1 半连接图及相关定义 由于半连接操作不具有对称性(Roc SJ-Soc : R),所以选择合适的半连接方案能使连接的代价最 小.半连接图就是多个连接进行时根据半连接最优执行方案所构成的反映关系间优先级的图. 下面给出关于半连接的相关定义: (R,n):表示关系R中属性a不同值的个数; Vs(R,a):表示对V(R,a)的一个代价估算值(此代价估算值与V(R,Ct)成正比); 定义1 对于多个要进行半连接的关系,用半连接图G(V,E)来表示.G(V,E)是一个有向无循环图, 其中: 是节点的集合,代表待连接的关系;E是有向边的集合,代表两个关系之间存在半连接 . 有向边指向方法:设关系R的属性a与关系S的属性b之间存在连接,若满足Vs(R,a)≤Vs(S,6), 则该连接用有向边E(R,S)来表示,即R指向S,否则用有向边E(S,R)来表示,即S指向R. 例1 如果关系R1的属性“和关系R2的 属性b之间存在连接并且满足 (R2,6)≤ (R1,a),关系R1的属性c与关系R3的属性d g) 之间存在连接并且满足Vs(R3,d)≤Vs(R1, c),关系R1的属性 与关系R4的属性 之间 存在连接并且满足 (R1, )≤Vs(R4,_厂),关 系R2的属性g和关系R4的属性h之间存在连 接并且满足Vs(R2,g)≤Vs(R4,h),则可根据 定义1得到图3所示的半连接图: 定义2 如果关系R2半连接关系Rl(R2 图3半连接图 ocR1),可以减少R2的代价,而关系R1半连 接关系R2,不能减少R1的代价,则称R1的优先级高于R2的优先级,并用P(R1,R2)表示.如果半连接 图中存在由关系R 到关系R的一条路径,则有P(R ,R).半连接图中优先级关系存在传递性.即如果存 在优先级关系P(R1,R2)及P(R2,R3),可推出优先级关系P(R1,R3). 根据前面的定义可知:半连接图3中R3到R1的有向边表示关系R3与关系R1存在半连接操作,且 关系R3的优先级高于关系R1的优先级,选择半连接执行方案为R3ocR1. 第2期 2.2查询优化算法 吴俊霖,等:中间件异构数据库集成中基于半连接的查询优化算法 109 半连接图反映了执行半连接操作的关系之间的优先 级关系,这种优先级执行关系针对单个连接操作,减少 了网络通讯代价.而对于多个站点问连接的优化其基本 思想是:对多个半连接的执行顺序进行优化,在半连接 图的基础上进行整体优化,根据半连接图得到连接执行 方案图即有向无序图,以实现所有半连接的总执行时间 最小. 根据定义l、定义2可知,图4表示12个关系(分别 位于12个站点)之间的16个半连接的优先级关系图.因 为进行半连接的关系有优先级,所以要求出多个连接的 最优执行顺序需要根据半连接图求出其执行树. 由于半连接图是一个有向无环图,且有向边反映了 各个顶点之间的优先关系,可以认为半连接图是一个 图4半连接图 AOV网(Activity Orl Vertex NetWork).对于AOV网可以用拓扑排序来求得最优执行顺序.可以对拓扑 排序算法做一些改变就能形成一个求解半连接图中连接最优执行顺序的算法 .为了便于描述半连接图 的每条边,在有向边上加上一个唯一标示一条边(一个连接)的序号.注意这里必须保证半连接图中每个连 接都执行一次且只能执行一次.算法步骤如下: 1)在半连接图中找出所有没有前驱的顶点作为要构造的有向树的根节点. 2)依次访问从根节点出发的边,并将这些边和对应顶点添加到树中作为子节点. 3)分别从新加入的这些顶点出发,依次访问未曾访问过的边和对应的顶点并添加到树中作为子节点. 4)重复步骤3),使先被访问的顶点先于后被访问的顶点被访问,直至所有的有向边都被访问. 图5是根据图4的半连接图,采用此算法构造的两颗有向树: 图5 有向无序图 有向树组成的森林就是执行连接操作的顺序图.可以看到半连接图4中的16条边,在图5中都可以执 行到,即16个连接操作都能被执行到.以R1和R9为根节点的有向树是可以并行执行连接的方案图,如: R1与R2的半连接操作可以和R1与R3的半连接操作并行执行,其所有连接总执行时间是这两颗有向树 中执行时问最长的一条路径的执行时间. 3算法性能分析 由于采用了半连接方法,并优化了半连接操作执行的优先级关系,降低了网络上的数据传输量,从而 节省了传输开销,降低了网络代价.影响算法性能的另一个主要因素是全局查询响应时间.假设图4中16 个连接操作所用时问分别为t ,£ ,t。,…t t 优化前执行所有连接操作所用时间T—t +tz+t。+…+t s+t 优化后9条路径并行执行连接操作 110 西南师范大学学报(自然科学版) 投稿网址http://xbgjxt.SWU.cn 第35卷 所用时间分别为T1(R1--R2--R3)一t2+t6,T2(R1一R3--R5…R7)一t3+ 8+ 9,T3(R1~R3--R7)一 3+t7。T4(R1--R3--R8)一 3+tl0,7"5(R1 R4一一R5)一tl斗,£5,T6(R1…R12)一t4,T7(R9…R10 R12)一tl2+ 14,丁8(R9一一R11一R6一R8)一tl3+ 15+ 16,丁9(R9一尺12)-二tl1. 由于9条路径并行执行,所以执行所有连接所用时间为其中执行时间最长的一条路径的执行时间.由 于 < ( 一1,2,…,9),所以,优化后的执行时问大大小于优化前的执行时间. 参考文献: [1]卓国锋,罗 军.基于Mediator/Wrapper信息集成的查询优化研究[J].计算机工程与应用,2007,43(12): 159一l63. [2]代宇,程瑶,刘 莉.数字化校园网格信息集成方案研究[J].重庆邮电大学学报(自然科学版),20O8,增刊: 7O一72. E3]Pentaris F,Ioannidis Y.Query Optin,ization in Distributed Networks of Autonomous Database Systems EJ].ACM Transactions on Database Systems,2006,31(2):537—583. [4] 陈一栋.分布式数据库查询优化算法研究与实现LD].长沙:长沙理工大学,2008. Es]Bamha M.An Efficient Equi—semi join Algorithm for Distributed Architectures EJ].Computational Science,2005, 3515(2):755—763. E6]李慧芳.基于XMI 和中间件的异构数据库集成研究[D].长沙:长沙理丁大学,2008. [7]王意沽,王勇军,卢锡城.基于半连接的并行查询处理算法的研究[J].软件学报,2001,12(2):219—224. [8]许新华,谌颃,李春.并行数据库的语义查询优化研究:基于Agent[J].西南师范大学学报(自然科学版),2007, 32(4):77~81. Query Optimization Algorithm for Mediator Heter0gene0us Database Integration Based on Semi-j oin WU Jun-1in, YU Jian—qiao School of Computer and Informa tion Science, Southwest University,Chongqing 4007 15,China Abstract:Global query efficiency is the hot and difficult problem on mediator heter0geneous database inte— gration continuously.Since the vast majority of the current heterogeneous database is relational database, the authors optimize join query based on semi—join,and put forword query optimization algorithm for semi— jion execution plan on several databases on the basis of semi—jion graph.This algorithm produces directed and disordered tree based on semi—join graph,SO that number of semi—join operations can be executed in paralle1.After analysis,the algorithm can improve global query efficiency greately. Key words:semi—join;semi—join graph;directed and disordered tree;query optimization 责任编辑张构 

因篇幅问题不能全部显示,请点此查看更多更全内容