alamb commented on PR #24456:
URL: https://github.com/apache/datafusion/pull/24456#issuecomment-5373567136

   > The benchmark results are very promising and I am very excited to see work 
in this area!
   > 
   > I haven't had time to look into the details of the code, but since this is 
still a draft I'd like to mention 
[DpHyp](https://www.researchgate.net/publication/47862092_Dynamic_Programming_Strikes_Back)
 for the join ordering problem.
   
   Yes, this kind of observation is exactly why I think we need to have an 
extensible framework (to be able to swap different implementations in/out)
   
   > I feel that the algorithm itself wouldn't need customization points, as 
it's mostly cost-agnostic, what we would like to provide is a customization 
around statistics/cost-model.
   
   Yes, I think in general join optimization algorthms are all:
   1. A set of heuristics for choosing candidates / exploring the state space
   2. A cost model to pick between them 
   
   And there are 50 years of papers about different implementations of the above
   
   I think it is absolutely certain we will not be able to include any 
implementation in the core that will satisfy all use cases. 
   
   > For the former #23651 will probably suffice (paired with the improved 
version of #21122 which is next on my list).
   
   Great -- thank you. I'll try and look at them later
   
   > For the latter, I think it can be done via a physical planning rule 
"costing" alternatives coming from the hypergraph, to pick the cheapest, as 
physical rules are already a known customization point.
   
   yes, I agree -- I will try and propose an API for this
   
   


-- 
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