Cannot understand the last part of JIT compilation and the introduction is so short. Why no students coming up questions? Is that class closing to the ending?
the slide on 49:53 , how does the DBMS figure out all the tuples it needs ? Isn't that the expected output from the DBMS ? or in other words, how can the DBMS know which tuples it needs before actually fetching them from disk ? I guess this is determined from the record ID , just before the access methods fetch pages/tuples ?
Instead of : read leaf node of Index and for each tuple fetch the data page => random IO for every tuple.. First sequential scan all leaf nodes of index => get all page ids that you need .. then fetch data pages in sorted order of page ids..
in index-scan, index should have all the columns for the filtering/where clause. Once final keys are identified, other columns are fetched from main table.
How does buffer pool bypass work? If the sequential scan operator will not store the fetched pages in the buffer pool(aka memory), how will it even scan it?
The memory used for the bypass is private to the query (i.e., allocated on the heap by the worker). Other queries cannot see the contents of those pages. With a buffer pool, the pages are visible to all queries.
Cannot understand the last part of JIT compilation and the introduction is so short. Why no students coming up questions? Is that class closing to the ending?
The reason why I don't go into detail is because I have an entire lecture about it in the advanced class: ruclips.net/video/DvhqgmRQuAk/видео.html
@@andypavlo Thanks. I'll follow on and try to understand.
the slide on 49:53 , how does the DBMS figure out all the tuples it needs ? Isn't that the expected output from the DBMS ? or in other words, how can the DBMS know which tuples it needs before actually fetching them from disk ?
I guess this is determined from the record ID , just before the access methods fetch pages/tuples ?
Say you have a B+ tree index on age, you know which leaf nodes include tuples with age < 30.
Instead of : read leaf node of Index and for each tuple fetch the data page => random IO for every tuple..
First sequential scan all leaf nodes of index => get all page ids that you need .. then fetch data pages in sorted order of page ids..
in index-scan, index should have all the columns for the filtering/where clause. Once final keys are identified, other columns are fetched from main table.
What is special about OLAP queries ?
What is the name of the system that would generate a single function instead of the tree for the query plan?
I don't remember what you are referring to. Do you have a time in the lecture that this comes up?
@@andypavlo I guess it is here: ruclips.net/video/L5NhM7kw6Eg/видео.html You are describing the system that is developed internally in CMU
I don't like to show code... SQL does not count because it is beautiful - Andy Pavlo
How does buffer pool bypass work? If the sequential scan operator will not store the fetched pages in the buffer pool(aka memory), how will it even scan it?
The memory used for the bypass is private to the query (i.e., allocated on the heap by the worker). Other queries cannot see the contents of those pages. With a buffer pool, the pages are visible to all queries.
what is the mean of offset in the "Late materialization" for the column storage. offset of what?
Column offset in a page
in column store, its like the index of every record