Calcite's planner engine (or I should say, main planning engine -- there is
also the Hep planning engine) was based on the Volcano paper, but we have
since incorporated a lot of improvements, including just about all of the
improvements in the Cascades paper. These improvements were made
independently (I only read the Cascades paper a few months ago) but we were
using the planner in serious applications and they just made sense.

On Wed, Jun 17, 2015 at 5:39 PM, wangzhenhua (G) <[email protected]>
wrote:

>
> As far as I know, Calcite's query planner is based upon Volcano,
> but I also wonder why Calcite chooses Volcano instead of Cascades, which
> is an improvement on Volcano.
>
> ________________________________
> best regards,
> -zhenhua
>
> From: Liu, Ming (HPIT-GADSC)<mailto:[email protected]>
> Date: 2015-06-17 09:18
> To: [email protected]<mailto:
> [email protected]>
> Subject: RE: beginner in Calcite
>
> 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