paul-rogers commented on issue #12262:
URL: https://github.com/apache/druid/issues/12262#issuecomment-1184715839

   > We can't drop support for the current monolithic native queries, which 
means ... we need to be able to convert them to operator trees that can run 
just-as-well.
   
   Exactly. That's what the operator prototype does: it uses the native query 
as the "plan" and generates operators for the pipeline operators outside of the 
parts that work with segments. That is, the merges, limits, offsets, sorts, 
exchanges, distributions, retries, etc. This proof-of-concept shows that a DAG 
model works just as well for SQL as for native queries.
   
   The planner could be of the form:
   
   ```text
   native query  --> native query planner
                                          --> logical plan --> optimizer --> 
physical plan --> operators
   sql           --> sql planner
   ```
   
   The above is a pretty typical way that query engines handle this kind of 
thing. The prototype uses an abbreviated path to keep things simple:
   
   ```text
   native query --> native query planner --> operators
   ```
   
   But, the prototype isn't distributed (yet), so could omit the physical plan 
stage. The prototype does some optimization (omit a merge if there is only one 
input, say, or omit steps which don't apply to the query). A "real" optimizer 
would also do the distribution planning of the kind done in the present ingest 
MSQE.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to