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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >> 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 <[email protected]> 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 <[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 ? >> >> >> >> >>
