Query Optimizer

The Query Optimizer is responsible for the validation, optimization, and placement of an input query for its efficient execution on the NES infrastructure. Before a query is submitted for optimization, a unique identifier, called QueryId, is assigned to it. The input for the optimizer is a Logical Directed Acyclic Graph (DAG) representation of the input query, as shown below.

Following are the phases executed during the Query optimization process:

  • Query Validation Phase: The query validation phase is responsible for checking any kind of syntactic or semantic discrepancies within an input query plan. [More Info]
  • Query Re-Write Phase: The query re-write phase is executed to optimize the input query plan for execution by changing the order of operators without changing the semantic information of the query or by adding new operators to the original query plan. [More Info]
  • Query Merging Phase: The query merging phase is responsible for identifying data and operator sharing opportunities among a set of concurrently running query plans. [More Info]
  • Query Placement Phase: The query placement phase is executed to perform the placement of the operators of a given query plan on the NES infrastructure. This phase decides which operator will be executed where in the NES infrastructure. [More Info]
query_optimizer.txt · Last modified: 2022/02/23 07:35 by
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki