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?

Julian

[1] https://calcite.apache.org/community/#more-talks 
<https://calcite.apache.org/community/#more-talks> 

[2] 
http://www.cs.colorado.edu/department/publications/reports/docs/CU-CS-563-91.pdf
 
<http://www.cs.colorado.edu/department/publications/reports/docs/CU-CS-563-91.pdf>
 

[3] https://sigmod.org/sigmod-awards/ <https://sigmod.org/sigmod-awards/>

> On Apr 29, 2017, at 10:22 AM, Muhammad Gelbana <[email protected]> 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 ?

Reply via email to