ActivePivot使用分区来改善并行性并加快查询执行速度。但是,在进行涉及后处理度量的查询时,我注意到后处理器的评估没有从分区中受益:并行性没有增加。
是否可以使后处理器评估分区更快,以便更快地查询?
答案 0 :(得分:2)
实际上,ActivePivot确实采用了分区的优势来实现多核可扩展性,加速查询和数据管理,并使NUMA(非统一内存访问)优化成为可能。
要同时进行后处理器评估,您需要在后处理器上创建AMapReducePostProcessor
。它在核心产品中存在这个map-reduce后处理器的简单实现:SimpleDistributedPostProcessor
。
假设您的后期处理器定义如下:
<measures>
<postProcessor name="PnL.MyPP" pluginKey="XXX" [...] />
</measures>
只需添加这个新的后处理器:
<postProcessor name="PnL.MyDistributedPP" pluginKey="SIMPLE_DISTRIBUTED" underlyingMeasures="PnL.MyPP.DIST"/>
请注意,underlyingMeasures属性等于PnL.MyPP.DIST
;后缀 .DIST 是必填。
将以分布式方式对每个分区执行PnL.MyDistributedPP
后处理器的评估,并将使用SUM
聚合函数结束聚合。如果要使用其他聚合函数,只需在xml后处理器声明中进行更改即可。