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

Reply via email to