Hello Julian, It is very interesting that you point out the Volcano paper, is this means that Calcite use Volcano framework? There is Cascades framework after Volcano, so Calcite is not using Cascades but Volcano?
I am new to Calcite as well, so hope you can give some high level answer here and reading source code is last resort for me :-) Many thanks, Ming -----Original Message----- From: Julian Hyde [mailto:[email protected]] Sent: Wednesday, June 17, 2015 12:01 AM To: [email protected] Subject: Re: beginner in Calcite The tutorial [1] should help you understand the high level of how a query is processed and how to write an adapter. If you're interested in query optimization in particular, you could read [2]. This was the starting point of the optimizer (and gave it its name). Also [3] describes the classes and methods involved in writing a rule (it's out of date in places, but the concepts still hold). Julian [1] Calcite tutorial http://calcite.incubator.apache.org/docs/tutorial.html [2] The Volcano Optimizer Generator: Extensibility and Efficient Search, Goetz Graefe & William J. McKenna 1993 http://www.seas.upenn.edu/~zives/03s/cis650/P209.PDF [3] http://www.hydromatic.net/wiki/HowToWriteNewOptimizerRules On Jun 15, 2015, at 8:17 PM, wangzhenhua (G) <[email protected]> wrote: > Hi all, > > I'm focusing on query optimization recently, and find it very challenging. > I'm very interested in Calcite's query optimizer, since it's open source and > has been integrated in Hive, Drill, etc. > > But as a beginner (with basic knowledge in databases), I find it hard to > follow. > Are there any design documents or papers which may help me understand the > main procedures and data structures in Calcite? > > Thank you. > > ________________________________ > best regards, > -zhenhua
