Cost-Based Optimization of Integration Flows - Datenbanken ...
Cost-Based Optimization of Integration Flows - Datenbanken ...
Cost-Based Optimization of Integration Flows - Datenbanken ...
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5 Multi-Flow <strong>Optimization</strong><br />
partition b1.3<br />
[“[10,200)“]<br />
msg4 [„CustA“]<br />
msg8 [„CustA“]<br />
msg10 [„CustA“]<br />
Message Partition<br />
partition b1<br />
partition b1.2<br />
[“>200“]<br />
msg3 [„CustA“]<br />
msg7 [„CustA“]<br />
[“CustA“]<br />
partition b1.1<br />
[“ 200<br />
Translation (o7)<br />
[in: msg2, out: msg4]<br />
ba2:<br />
@totalprice<br />
< 10<br />
Translation (o5)<br />
[in: x1(m), out: y1(m)]<br />
Switch (o4)<br />
[in: x1(m)]<br />
@totalprice<br />
[10,200]<br />
Translation (o6)<br />
[in: x1(m), out: y1(m)]<br />
PMerge (o-3)<br />
[in: y1, out: msg4]<br />
@totalprice<br />
> 200<br />
Translation (o7)<br />
[in: x1(m), out: y1(m)]<br />
(a) Original Plan P<br />
(b) Rewritten Plan P ′<br />
Figure 5.9: Example Plan Rewriting Using the Split and Merge Approach<br />
If we use the partitioning scheme (ba 1 , ba 2 ), we rewrite the plan as shown in Figure 5.9(b).<br />
First, we insert a PSplit and an Iteration operator just before the Switch operator. As<br />
a result, o 2 and o 3 benefit from the top-level partition, while o 4 is executed for each subpartition<br />
<strong>of</strong> the top-level partition. Second, right after this Switch operator, a PMerge is<br />
inserted as well, because subsequent operators benefit from the top level partition.<br />
Algorithm 5.2 illustrates the plan rewriting. For simplicity <strong>of</strong> presentation, we use a<br />
linear representation <strong>of</strong> the algorithm, while the realization <strong>of</strong> this is recursive according<br />
to the hierarchy <strong>of</strong> sequences <strong>of</strong> complex and atomic operators. Essentially, this algorithm<br />
consists <strong>of</strong> two parts. First, there is the dependency analysis that we have already described<br />
in Subsection 3.2.1. Second, plan rewriting requires as input the operator sequence<br />
140