Sybase 15.3横向扩展查询性能使用PlexQ分布式查询平台、全共享的MPP架构(二)
2011-08-07
2.3 Sybase IQ15中对Intra-Operator的增强
Sybase IQ 15.0版本显著的增强了Intra-operator并行化。许多查询操作现在可以使用多个线程并行执行。
多数的表Join操作
(1)Group By操作。
(2)排序(Oder By 与 Merge Joins)。
(3)表中的谓词执行:例如:“WHERE last_name like “%som%”,范围谓词,IN条件,“Top N”操作,以及更多。
在Sybase IQ 15.3之前,一个单独的查询的节点间(Inter-nodes)和节点内(Intra-Nodes)并行化仅能使用一个单一服务器上的CPU资源。当时,Multiplex配置在扩展支持越来越多的并发用户或者查询上非常有效,但是对于利用跨Multiplex的所有计算带宽而减少查询执行时间上无所作为。新的Sybase IQ 15.3 PlexQ分布式查询处理功能消除了这种限制,允许一个查询使用Sybase IQ Multiplex中所有机器上的可能的CPU资源。
现在,让我们详细探索Sybase IQ 15.3 PlexQ全共享MPP架构中的DQP如何工作?
3 理解分布式查询处理
3.1 什么是DQP?
分布式查询处理(DQP)将查询处理分散到Sybase IQ Multiplex中的多个服务器上。一个Sybase Multiplex是一组服务器,每个都运行Sybase IQ。Multiplex中的服务器连接到一个中心存储,比如一个共享的磁盘阵列,永久共享数据。Sybase IQ Multiplex有一个混合的集群架构,包含永久的IQ数据的共享存储、存储目录元数据的独立的节点存储、私有的临时数据、事务日志。
当Sybase IQ查询优化器认为一个查询可能需要利用多个节点上更多的可用CPU资源的时候,它会将查询分为并行的“碎片”,这些“碎片”可以在Multiplex中的其他服务器上并行执行。DQP是这样一个过程:将查询分解为多个独立的任务部分,将这些任务分布到Multiplex中的其他节点上,将结果及时的收集和组织并生成最终的查询结果集。
需要重点强调的是,如果一个查询不能完全利用一个单一机器上的CPU资源的话,它通常不会被分布。……
