Query Processor Demonstration
The query processor is the component of the SeCo architecture devoted at the orchestration and execution of users' queries.
The component accepts queries in a datalog-like conjunctive syntax and develops an execution plan whose topology and execution parameters are set according to a set of heuristics. Heuristics take into account feasible topologies, service connections, invocation costs and expected number of combinations.
The query is translated in a logical plan, that is a specification of a workflow with quantitative estimates of the size of partial results and then refined in a physical plan expressed in the Panta Rhei languageand directly executable by the engine.
The aim of the demonstration video is to show what happens under the hood of the query processor. A Query Processor Workbench has been deployed to monitor the four phases of the execution of a query:
- Query design: the user specifies the query with a datalog-like conjuctive query and defines the optimization parameters to be applied.
- Logical query plan: a specification of a workflow with quantitative estimates of the size of partial results is determined by the planner; it exploits the available degrees of freedom to fix the topology, the number and sequence of service invocations, the join strategies, ...
- Physical query plan: it expresses both data and control flow in the execution of a query; the execution engine instantiates physical operators (units) of the compiled plan and the query is orchestrated accordingly.
- Query execution: the physical plan is bound to an execution session and the user specifies the input attributes; once the session is in place, the user can issue one or more execution tasks (which could be limited in terms of number of commands, resulting combinations or execution time).
The tool is not meant for final users but for administration and debug purposes.
More information can be found here and here.
Demonstration Video
Download Video: HD Quality (mov 1280x720 ~ 64Mb)
- Printer-friendly version