在 WebSphere Federation Server V9.1 中异步执行联邦查询
2009-12-24 00:00:00 来源:WEB开发网Select US.prod_id, sum(US.sales)
from US.Sales as US, Europe.Sales as EU
where US.prod_id = EU.prod_id
and US.category = 'Beauty';
访问计划可以建模为两个销售表的合并连接(Merge Join,MGJN)。
图 4. 连接查询的访问计划
该访问计划假设,生成按 prod_id 排序的数据流的排序操作被推至(push down)到两个数据源。如果不采用异步方式,则访问计划中的 SHIP 操作符顺序地执行,分别访问对应的昵称并生成排序后的数据流。而 WFS 的异步执行特性则可以同时开始处理与 SHIP1 和 SHIP2 相关联的远程请求,从而帮助减少该查询的执行时间。
和 UNION 操作符一样,连接操作符本身是同步的,每次只能处理来自连接操作符某一个分支的输入。异步的优点是通过在远程数据源上重叠执行查询而取得的。
联邦查询要从异步中获益,下推到远程数据源并在远程数据源上异步执行的操作(查询)必须有以下特征:
远程查询比较复杂,需要消耗较多时间,必须在执行较长时间之后才能返回第一行数据。
远程查询返回相当少的行。
此外,如果远程查询都是执行大约相同一段时间之后返回第一行数据,那么异步带来的好处就可以实现最大化。
如何实现异步?
可以通过将操作符添加到支持可独立开始和处理的远程查询的执行计划来实现异步。在 DPF 系统中,修改后的 'Table Queue' (TQ) 操作符(称作 Asynchrony Table Queue,ATQ)操作符可用于同时发出远程请求。在运行时,执行计划中 ATQ 之下的任何操作符都是由一个单独的 db2agent 执行的,这个单独的 db2agent 被称作子代理(被实现为一个进程或一个线程,这取决于操作系统)。这种子代理允许 SHIP/RPD 在主查询开始的同时开始它的执行,从而可以实现远程查询的异步执行。ATQ 还提供有限的缓冲,以便 ATQ 可以将其下的 SHIP 或 RPD 操作符产生的部分结果存储在缓冲区,直到 ATQ 的消费者需要这些结果。
Tags:WebSphere Federation Server
编辑录入:爽爽 [复制链接] [打 印]- ››WebSphere Application Server 7.0 XML Feature P...
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››Websphere MQ v6集群的负载均衡新功能
- ››WebSphere Process Server V6.0.2 集群,第 2 部分...
- ››WebSphere Process Server V6.0.2 集群,第 1 部分...
- ››WebSphere MQ性能调优浅谈
- ››WebSphere配置资源库管理
- ››WebSphere中的SSL/TLS:用法、配置和性能
- ››websphere ejb远程/本地调用总结
- ››WebSphere Application Server对SIP的支持
- ››WebSphere Process Server V6 体系结构概述
更多精彩
赞助商链接