You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Muhammad Gelbana <m....@gmail.com> on 2017/04/29 17:22:37 UTC

Understanding the science and concepts behind Calcite

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 ?

Re: Understanding the science and concepts behind Calcite

Posted by Julian Hyde <jh...@apache.org>.
If someone submits a pull request for a change to the website, we will be happy to accept!

https://github.com/apache/calcite/tree/master/site/_docs <https://github.com/apache/calcite/tree/master/site/_docs>


> On May 9, 2017, at 3:15 AM, Γιώργος Θεοδωράκης <gi...@gmail.com> wrote:
> 
> Here http://www.redbook.io/index.html are also some interesting readings
> about database systems with references for relevant papers.
> 
> Chapter 7 is about Query optimization (it mentions Calcite), and in
> previous chapters, it also discusses System R, Volcano and some basic
> optimization concepts.
> 
> 2017-05-09 9:59 GMT+03:00 Ismaël Mejía <ie...@gmail.com>:
> 
>> This thread is really good, and considering that this is 'common' question
>> in
>> the mailing list, maybe it would be a good idea to create a section for
>> this in
>> the Calcite website.
>> 
>> I add my little contribution for the moment. The Database Course by Andy
>> Pavlo
>> covers many interesting subjects on databases and in particular discusses
>> query
>> planning in two lessons.
>> 
>> http://15721.courses.cs.cmu.edu/spring2016/schedule.html
>> 
>> 
>> On Sun, Apr 30, 2017 at 10:09 PM, Muhammad Gelbana <m....@gmail.com>
>> wrote:
>>> Thanks everyone, this is very helpful !!
>>> 
>>> And if anyone has anything else that could be of help, please share it.
>>> 
>>> *---------------------*
>>> *Muhammad Gelbana*
>>> http://www.linkedin.com/in/mgelbana
>>> 
>>> On Sun, Apr 30, 2017 at 9:09 PM, Eli Levine <el...@gmail.com> wrote:
>>> 
>>>> Relational algebra concepts are presented well in "Database Management
>>>> Systems" by Ramakrishnan/Gehrke. That's what I used for my undergrad
>>>> DBMS course.
>>>> 
>>>> Eli
>>>> 
>>>> On Sun, Apr 30, 2017 at 10:44 AM, Khai Tran <khtran@linkedin.com.invalid
>>> 
>>>> wrote:
>>>>> I dont know any undergrad database teaching about the Volcano
>> optimizer.
>>>>> It's probably too hard for undergrad level. For relation algebra and
>>>>> System-R style optimizer, this is a good one:
>>>>> http://pages.cs.wisc.edu/~cs564-1/schedule.html
>>>>> 
>>>>> On Sat, Apr 29, 2017 at 3:17 PM, Julian Hyde <jh...@apache.org>
>> wrote:
>>>>> 
>>>>>> 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 <
>> m.gelbana@gmail.com>
>>>>>> 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 ?
>>>>>> 
>>>>>> 
>>>> 
>> 


Re: Understanding the science and concepts behind Calcite

Posted by Γιώργος Θεοδωράκης <gi...@gmail.com>.
Here http://www.redbook.io/index.html are also some interesting readings
about database systems with references for relevant papers.

Chapter 7 is about Query optimization (it mentions Calcite), and in
previous chapters, it also discusses System R, Volcano and some basic
optimization concepts.

2017-05-09 9:59 GMT+03:00 Ismaël Mejía <ie...@gmail.com>:

> This thread is really good, and considering that this is 'common' question
> in
> the mailing list, maybe it would be a good idea to create a section for
> this in
> the Calcite website.
>
> I add my little contribution for the moment. The Database Course by Andy
> Pavlo
> covers many interesting subjects on databases and in particular discusses
> query
> planning in two lessons.
>
> http://15721.courses.cs.cmu.edu/spring2016/schedule.html
>
>
> On Sun, Apr 30, 2017 at 10:09 PM, Muhammad Gelbana <m....@gmail.com>
> wrote:
> > Thanks everyone, this is very helpful !!
> >
> > And if anyone has anything else that could be of help, please share it.
> >
> > *---------------------*
> > *Muhammad Gelbana*
> > http://www.linkedin.com/in/mgelbana
> >
> > On Sun, Apr 30, 2017 at 9:09 PM, Eli Levine <el...@gmail.com> wrote:
> >
> >> Relational algebra concepts are presented well in "Database Management
> >> Systems" by Ramakrishnan/Gehrke. That's what I used for my undergrad
> >> DBMS course.
> >>
> >> Eli
> >>
> >> On Sun, Apr 30, 2017 at 10:44 AM, Khai Tran <khtran@linkedin.com.invalid
> >
> >> wrote:
> >> > I dont know any undergrad database teaching about the Volcano
> optimizer.
> >> > It's probably too hard for undergrad level. For relation algebra and
> >> > System-R style optimizer, this is a good one:
> >> > http://pages.cs.wisc.edu/~cs564-1/schedule.html
> >> >
> >> > On Sat, Apr 29, 2017 at 3:17 PM, Julian Hyde <jh...@apache.org>
> wrote:
> >> >
> >> >> 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 <
> m.gelbana@gmail.com>
> >> >> 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 ?
> >> >>
> >> >>
> >>
>

Re: Understanding the science and concepts behind Calcite

Posted by Ismaël Mejía <ie...@gmail.com>.
This thread is really good, and considering that this is 'common' question in
the mailing list, maybe it would be a good idea to create a section for this in
the Calcite website.

I add my little contribution for the moment. The Database Course by Andy Pavlo
covers many interesting subjects on databases and in particular discusses query
planning in two lessons.

http://15721.courses.cs.cmu.edu/spring2016/schedule.html


On Sun, Apr 30, 2017 at 10:09 PM, Muhammad Gelbana <m....@gmail.com> wrote:
> Thanks everyone, this is very helpful !!
>
> And if anyone has anything else that could be of help, please share it.
>
> *---------------------*
> *Muhammad Gelbana*
> http://www.linkedin.com/in/mgelbana
>
> On Sun, Apr 30, 2017 at 9:09 PM, Eli Levine <el...@gmail.com> wrote:
>
>> Relational algebra concepts are presented well in "Database Management
>> Systems" by Ramakrishnan/Gehrke. That's what I used for my undergrad
>> DBMS course.
>>
>> Eli
>>
>> On Sun, Apr 30, 2017 at 10:44 AM, Khai Tran <kh...@linkedin.com.invalid>
>> wrote:
>> > I dont know any undergrad database teaching about the Volcano optimizer.
>> > It's probably too hard for undergrad level. For relation algebra and
>> > System-R style optimizer, this is a good one:
>> > http://pages.cs.wisc.edu/~cs564-1/schedule.html
>> >
>> > On Sat, Apr 29, 2017 at 3:17 PM, Julian Hyde <jh...@apache.org> wrote:
>> >
>> >> 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 <m....@gmail.com>
>> >> 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 ?
>> >>
>> >>
>>

Re: Understanding the science and concepts behind Calcite

Posted by Muhammad Gelbana <m....@gmail.com>.
Thanks everyone, this is very helpful !!

And if anyone has anything else that could be of help, please share it.

*---------------------*
*Muhammad Gelbana*
http://www.linkedin.com/in/mgelbana

On Sun, Apr 30, 2017 at 9:09 PM, Eli Levine <el...@gmail.com> wrote:

> Relational algebra concepts are presented well in "Database Management
> Systems" by Ramakrishnan/Gehrke. That's what I used for my undergrad
> DBMS course.
>
> Eli
>
> On Sun, Apr 30, 2017 at 10:44 AM, Khai Tran <kh...@linkedin.com.invalid>
> wrote:
> > I dont know any undergrad database teaching about the Volcano optimizer.
> > It's probably too hard for undergrad level. For relation algebra and
> > System-R style optimizer, this is a good one:
> > http://pages.cs.wisc.edu/~cs564-1/schedule.html
> >
> > On Sat, Apr 29, 2017 at 3:17 PM, Julian Hyde <jh...@apache.org> wrote:
> >
> >> 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 <m....@gmail.com>
> >> 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 ?
> >>
> >>
>

Re: Understanding the science and concepts behind Calcite

Posted by Eli Levine <el...@gmail.com>.
Relational algebra concepts are presented well in "Database Management
Systems" by Ramakrishnan/Gehrke. That's what I used for my undergrad
DBMS course.

Eli

On Sun, Apr 30, 2017 at 10:44 AM, Khai Tran <kh...@linkedin.com.invalid> wrote:
> I dont know any undergrad database teaching about the Volcano optimizer.
> It's probably too hard for undergrad level. For relation algebra and
> System-R style optimizer, this is a good one:
> http://pages.cs.wisc.edu/~cs564-1/schedule.html
>
> On Sat, Apr 29, 2017 at 3:17 PM, Julian Hyde <jh...@apache.org> wrote:
>
>> 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 <m....@gmail.com>
>> 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 ?
>>
>>

Re: Understanding the science and concepts behind Calcite

Posted by Khai Tran <kh...@linkedin.com.INVALID>.
I dont know any undergrad database teaching about the Volcano optimizer.
It's probably too hard for undergrad level. For relation algebra and
System-R style optimizer, this is a good one:
http://pages.cs.wisc.edu/~cs564-1/schedule.html

On Sat, Apr 29, 2017 at 3:17 PM, Julian Hyde <jh...@apache.org> wrote:

> 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 <m....@gmail.com>
> 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 ?
>
>

Re: Understanding the science and concepts behind Calcite

Posted by Julian Hyde <jh...@apache.org>.
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 <m....@gmail.com> 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 ?


Re: Understanding the science and concepts behind Calcite

Posted by Julian Hyde <jh...@apache.org>.
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 <m....@gmail.com> 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 ?