F2023 #06 - Database Memory & Disk I/O Management (CMU Intro to Database Systems)

  Рет қаралды 14,105

CMU Database Group

CMU Database Group

Күн бұрын

Пікірлер
@indavarapuaneesh2871
@indavarapuaneesh2871 5 ай бұрын
It seems like Postgres is due for big architectural overhaul. 1. Moving away from per process arch 2. Using Direct IO instead of OS page cache.
@redixhumayun
@redixhumayun Жыл бұрын
That snide remark against JavaScript developers didn't go unnoticed 😏
@MichelCarroll
@MichelCarroll 10 ай бұрын
Sounds like he has a history with them
@nanunsaram
@nanunsaram Жыл бұрын
Another great lecture!
@mystmuffin3600
@mystmuffin3600 5 ай бұрын
22:25 "We don't need to have a latch for the whole page table. Assuming it's fixed size, we can have latches for individual pages/locations of page table" Okay, if the latter is possible, why concern ourselves with multiple buffer pools? If these fine-grained latches for individual pages are still a bottleneck, then no matter how many buffer pools we segment our memory into, we will still suffer from contention...
@avlepikhov
@avlepikhov Жыл бұрын
The idea of attaching one SeqScan to another is quite impressive. But as we know, queries can do such scans with different speeds for some reason. So, should one scan have finished reading a page and wait for all other scans? And if not, How to be with a lot of pinned buffer pages if one scan will be too quick, according to another? Or maybe it's just an implementation issue?
@李洋-i4j
@李洋-i4j Жыл бұрын
I think another reason for not so easy to sharing scan cursor is: when q2 read all the pages with q1, then the missing parts are modified by other threads, then the result will not be consistent neither.
@mystmuffin3600
@mystmuffin3600 Жыл бұрын
That can't be because every new thread/query starts scanning from the existing cursor. But, if q1 was an UPDATE query which is still unfinished before q2 begins, then we would have inconsistent results because q2 wasn't aware of the latest state before initiating.
@ahmedalirefaey3219
@ahmedalirefaey3219 9 ай бұрын
@@mystmuffin3600 i think there exist some kind of implementation to read meta-data before q2 start like background worker in DBMS
@oz5219
@oz5219 7 ай бұрын
I have a question with regard to the AllocatePage method in bustub when doing projec 1(can't paste link because it keep getting deleted). The way it try to retrieve a new page id is just return next_page_id_++ with next_page_id_ initialized to 0? But should it not consider what other page ids already used in disk? I look around in the codebase but did not find any code try to keep track of the page ids used in disk. Please let me know if I miss anything, thanks a lot
@oz5219
@oz5219 7 ай бұрын
an follow up question is that, judging from the ReadPage method, the page id will basically the physical index on disk. Eg if page id is 10, then the method will try to seek the 10th block of the page file. Is this a industry practice? In my mind it seems to be more reasonable if we have a metadata of page id to their physical offset
@andypavlo
@andypavlo 7 ай бұрын
15445.courses.cs.cmu.edu/fall2023/faq.html#q8
F2023 #07 - Hash Tables (CMU Intro to Database Systems)
1:18:46
CMU Database Group
Рет қаралды 12 М.
F2023 #09 - Index Concurrency Control (CMU Intro to Database Systems)
1:19:59
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
F2023 #21 - Intro to Distributed Databases (CMU Intro to Database Systems)
1:21:21
F2023 #08 - B+Tree Indexes (CMU Intro to Database Systems)
1:22:47
CMU Database Group
Рет қаралды 14 М.
Best of CES 2025
14:50
The Verge
Рет қаралды 300 М.
03 - Database Storage I (CMU Databases Systems / Fall 2019)
1:19:58
CMU Database Group
Рет қаралды 78 М.
Lecture 22: Memory Controllers - Carnegie Mellon - Comp. Arch. 2015 - Onur Mutlu
1:45:39
Carnegie Mellon Computer Architecture
Рет қаралды 22 М.
07 - Hash Tables (CMU Intro to Database Systems / Fall 2022)
1:23:06
CMU Database Group
Рет қаралды 16 М.