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

Reply via email to