WEB开发网
开发学院数据库DB2 在 WebSphere Federation Server V9.1 中异步执行... 阅读

在 WebSphere Federation Server V9.1 中异步执行联邦查询

 2009-12-24 00:00:00 来源:WEB开发网   
核心提示:异步的动机在 WebSphere Federation Server(WFS,之前叫做 WebSphere Information Integrator)发布之前,在 WebSphere Federation Server V9.1 中异步执行联邦查询,很多联邦查询是以单线程方式执行的,这意味着即使有多个远程数据源参与

异步的动机

在 WebSphere Federation Server(WFS,之前叫做 WebSphere Information Integrator)发布之前,很多联邦查询是以单线程方式执行的。这意味着即使有多个远程数据源参与到一个查询当中,在任意一个时刻也只能有一个远程数据源或联邦服务器是活动的。同时涉及本地表和远程(昵称)数据的查询特别适合于允许本地和多个远程查询片段并发和异步执行的执行计划。但是只涉及昵称的查询不大适合那样的异步方式。 1 这里所描述的增强,其目的是将允许在大大扩展的环境中异步执行多个远程查询的查询计划引入到 WFS V9.1 中。这种异步方式可以显著提高查询的性能。

考虑下面一个例子,有一家公司在美国、欧洲和亚洲都有销售办事处。每个销售办事处保存本地区的销售记录。对于每个地区的所有分公司,董事会想要一份 2005 年的年度销售数字报告。用于获得这些数字的查询如下:

Select 'US', division_name, sum(sales) from US.Sales where ... 
Union All 
Select 'Euro', division_name, sum(sales) from Europe.Sales where ... 
Union All 
Select 'Asia', division_name, sum(sales) from Asia.Sales where ...; 



图 1. 上述查询的访问计划
在 WebSphere Federation Server V9.1 中异步执行联邦查询

在执行计划中,UNION 的几条 '分支' 是按照从左到右的顺序一个一个地处理的。因此,在任意时刻 UNION 都只有一个分支在执行。例如,在上面的图中,首先完成对访问 US.Sales 表的最左边那个分支的处理,接着执行对 Europe.Sales 表(中间那个分支)的查询。当中间那条查询执行完毕并且已经将整个结果集提交给联邦服务器时,才开始执行对远程表 Asia.Sales 的查询。

1 2 3 4 5 6  下一页

Tags:WebSphere Federation Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接