I had exactly the same pointers with Michael in mind. @Lekshmi: Note also that traits used by Calcite are, I think, equivalent to the notion of "physical properties" which appears in the Volcano paper (so in Volcano terminology a "convention" trait == a physical property).
Στις Τρί, 5 Φεβ 2019 στις 11:30 μ.μ., ο/η Michael Mior <mm...@apache.org> έγραψε: > Calcite's optimizer is based off the Volcano optimizer[0]. In that > paper you'll find an outline of the algorithm which is basically > equivalent to what Calcite uses. Adding multiple systems doesn't > complicate things very much. The main addition used by Calcite is what > we call a "convention" trait that allows the optimizer to deal with > expressions across multiple systems. More details are available in a > recently published paper on Calcite [1]. > > One important caveat to note is that the cost model used is not likely > to reflect the actual cost of query execution in many cases. It's > generally "good enough" in that the ordering of plans by cost will be > approximately correct. So although the optimal plan will be selected > according to the cost model, the plan which is actually the best in > practice may not be selected. That said, I would expect Calcite will > pick a plan which is generally quite close to the optimal, but we > have no guarantee of this. > > [0] > https://pdfs.semanticscholar.org/a817/a3e74d1663d9eb35b4baf3161ab16f57df85.pdf > [1] https://arxiv.org/pdf/1802.10233.pdf > > -- > Michael Mior > mm...@apache.org > > Le mar. 5 févr. 2019 à 15:52, Lekshmi <lekshmib...@gmail.com> a écrit : > > > > Hi, > > I would like to know about the Calcite CBO in detail, including how it > > deals with global optimization when multiple processing systems are > > associated with it. Any documentation, pointers are much appreciated. > > > > > > Thanks and Regards > > > > Lekshmi B.G > > Email: lekshmib...@gmail.com >