What is the Execution model of a HP Vertica query

Execution model of Vertica query When you submit a query, the initiator (the on who will receive the connection) chooses the projections to be used, it will optimize and plan the execution of the query, and records the SQL statement for your log. The process of planning and optimization are fast, requiring at most a few milliseconds. Based on the tables and chosen projections, the query plan that the optimizer will produce is decomposed into "mini-plans", these mini-plans are distributed to other nodes, known as performers. (The initiator node typically acts as executor also) the we will process the mini-plans in parallel, interleaved with data handling operations. The query execution continues in the data flow style, with intermediate result sets (lines) flowing through network connections between nodes as needed. Some, but not all the tasks associated with a query are written to log files of performers. In the final phase of running a query plan, some finishing work is done on the initiator, such as:

  • Combining the results of a grouping operation
  • Merge multiple sets of partial results received from the executors
  • Format the results returned to the client
The initiator is doing a bit more work than the other nodes, but if the projections are well designed for the workload, the cluster nodes share most of the expensive queries execution of work. Some small queries, for example, may be executed locally (without making use of the concept of cluster or MPP). In these types of queries, the query plan avoids unnecessary network communication. query_plan