calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Hyde <>
Subject Re: Understanding the science and concepts behind Calcite
Date Sat, 29 Apr 2017 22:17:51 GMT
Adding dev@drill to the cc list, because Muhammad also asked the question there. But please
reply to dev@calcite only.

I gave a talk “Why you should care about relational algebra”[1], intended for an audience
of people who know SQL, but with a lot of details about algebra and algebraic transformations.

And you could do a lot worse than read Graefe & McKenna’s original Volcano planner paper[2].
Also Graefe's later Cascades paper. (Graefe just received the 2017 SIGMOD Edgar F. Codd Innovations
Award[3], well deserved. Frankly, you should read everything he ever wrote! I love his work
on hybrid hash join and comparing sort-based and hash-based algorithms.)

Most of the terms Graefe uses are the same as we use in Calcite. We say “filter” because
“select” confuses everyone who knows SQL. Graefe’s “physical properties” are our
“traits” and he has another term for what we call “importance”. Our “converter”
is his “enforcer”. Our “row type” is his “schema”. Our “set” is his “equivalence
class”, and our “subset” is an equivalence class combined with a particular set of physical
properties. We mix his “logical” and “physical” algebras into one algebra, and introduce
a new concept of “calling convention” so that you can mix logical algebra with multiple
physical algebras in hybrid plans. 

Does anyone know of a good undergraduate treatment of relational algebra and query optimization?


[1] <>

[2] <>

[3] <>

> On Apr 29, 2017, at 10:22 AM, Muhammad Gelbana <> wrote:
> I'm trying to understand the scientific concepts behind Calcite and I was
> wondering if anyone would kindly recommend articles\papers\books\topic-titles
> that would help me understand Calcite from the ground up.
> For instance, I'm not fully understanding what are:
>   - Relational expressions
>   - Row expressions
>   - Calling conventions
>   - Relational traits
>   - Relational traits definitions
> I'm currently looking for books about "Relational Algebra", but when look
> into one, I can't find anything about traits or calling conventions. Or am
> I not searching for the correct keywords ?

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message