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
