Copying or distributing in print or electronic forms without written permission
of Idea Group Inc. is prohibited.
divided into N nodes and processed independently, each node would process its part
(1/N) independently with a speedup of approximately N, and only the merge part
of the query would represent extra overhead.
More generically, the typical query processing cycle implemented by the query
processing middle layer is shown in Figure 2(b) and an example is given in Figure
3. A query is executed in steps. Step 1 ???Rewrite Query??? prepares the node and
merge query components from the original submitted query. Step 2 ???Send Query???
forwards the node query into all nodes, which process the query locally in step 3.
Each node then sends its partial result into the submitter node (step 4), which applies
the merge query in step 5. Step 6 redistributes results into processing nodes
if required (for some queries containing subqueries, in which case more than one
processing cycle may be required). The query processing middle layer transforms
queries into node queries and controls repartitioning requirements for processing
operations such as parallel join.
In steps 1 and 2 of Figure 3 we can see that query aggregation expressions are replaced
by aggregation primitives to be computed at each node and merged afterwards
to obtain the results.
Pages:
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405