25.01.2015 Views

Cost-Based Optimization of Integration Flows - Datenbanken ...

Cost-Based Optimization of Integration Flows - Datenbanken ...

Cost-Based Optimization of Integration Flows - Datenbanken ...

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!