Markdown index

Catalog

Video library

97 videos and 3 courses, with chapter notes and transcripts. Search by title, then narrow by course, tag, or language.

Tags

97 of 97 videos

Videos

#00 - Course Overview & Logistics (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 21:20

Andy Pavlov's logistics lecture for CMU 15-445/645 (Fall 2024), recorded ahead of the semester so the first real class can start immediately on the relational model. It covers what the course actually is — building the internals of a database system, not using or administering one — and every policy that governs...EnglishDatabasesCourses

#01 - Relational Model & Algebra (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:23:38

The opening technical lecture of CMU 15-445/645 (Fall 2024), taught by Andy Pavlo. It separates a database (an organized collection of data modeling the real world) from a DBMS (the software managing it), then uses a deliberately bad flat-CSV music store to enumerate every problem — scans, type errors, concurrency,...EnglishDatabasesCourses

#03 - Database Storage: Files & Pages ✸ Neon Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:22:27

Third lecture of CMU 15-445/645 (Fall 2024), and the first one that goes inside the database engine. It builds the bottom of the storage stack from the hardware upward: why a disk-oriented DBMS exists, how the storage hierarchy and the sequential-vs-random access gap dictate design, how databases are laid out as...EnglishDatabasesCourses

#04 - Database Storage: Log-Structured Merge Trees & Tuples (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:22:41

University lecture (CMU 15-445/645, Fall 2024) that finishes the tuple-oriented storage model and then presents its two main alternatives. The first half completes slotted pages and record IDs — with live demos of ctid, rowid and %%physloc%% in PostgreSQL, SQLite, SQL Server and Oracle — and enumerates the problems...EnglishDatabasesCourses

#05 - Row vs. Column Storage + Compression ✸ StarTree Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:28:00

The final lecture of CMU 15-445/645's storage-layer sequence, contrasting how a DBMS can physically lay out tuples and what that costs. Andy Pavlo first separates OLTP from OLAP workloads, then walks the same Wikipedia-derived query through the N-ary Storage Model (row store), the Decomposition Storage Model...EnglishDatabasesCourses

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

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:23:56

Lecture 6 of CMU 15-445/645 (Fall 2024) covers how a DBMS moves pages between disk and memory and why it must do that job itself instead of delegating it to the operating system. It builds the buffer pool manager from the ground up — frames, the page table, pins, dirty flags and latches — then argues at length...EnglishDatabasesCourses

#07 - Hash Tables ✸ RelationalAI Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:23:43

Lecture 7 of CMU 15-445/645 (Fall 2024) opens the access methods stretch of the course: with disk management and the buffer pool already built, Andy Pavlo turns to the data structures the execution engine will use, starting with the unordered one — the hash table. The lecture decomposes a hash table into two...EnglishDatabasesCourses

#09 - Vector Indexes, Inverted Indexes, Filters, Tries ✸ TiDB Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:21:10

Lecture 9 of CMU 15-445/645 (Fall 2024) is deliberately a brain dump of the index and filter data structures a database engineer should know beyond the B+Tree 0:27. Andy Pavlo opens by separating filters (does this key exist?) from indexes (it exists, and here is where) 2:34, then walks through Bloom filters and...EnglishDatabasesCourses

#10 - Index Concurrency Control (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:16:42

A university lecture (CMU 15-445/645, Fall 2024) that drops the single-threaded assumption made in all previous index lectures and shows how to make index data structures safe under concurrent access. It starts from first principles — locks vs latches, latch modes, and how latches are actually implemented on top of...EnglishDatabasesCourses

#11 - Sorting & Aggregation Algorithms ✸ dbt Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:17:56

Lecture 11 of CMU 15-445/645 (Fall 2024) moves up the stack from storage and indexes into query execution, covering the operator algorithms a DBMS uses when intermediate results are too large to fit in memory. Andy Pavlo works through top-N heap sort, external merge sort (its two-way form, its generalized B-way...EnglishDatabasesCourses

#12 - Join Algorithms: Hash, Sort-Merge, Nested Loop Joins (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:14:22

Andy Pavlo walks through how a DBMS physically executes a join, restricting the discussion to inner equi-joins between two tables and using number of disk I/Os as the single cost metric. He builds up from the naive nested loop join (50 million I/Os, 1.3 hours on the running example) through block and index nested...EnglishDatabasesCourses

#14 - Query Execution Part 2 ✸ ClickHouse Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:02:49

The lecture covers how a DBMS executes queries in parallel: how workers are organized (process per worker, thread per worker, embedded), how a single query is split across them, and how disk I/O is parallelized. It builds up from inter-query parallelism to intra-query parallelism — intra-operator (horizontal),...EnglishDatabasesCourses

#15 - Query Planning & Optimization (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:21:18

Andy Pavlo's CMU 15-445/645 lecture on how a database system turns a declarative SQL string into an executable physical plan. It opens with a motivating example that drives one query from ~2,000,000 I/Os down to 37 by successively replacing a cartesian product, swapping join algorithms, enabling pipelining, and...EnglishDatabasesCourses

#16 - Concurrency Control Theory ✸ Firebolt Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:27:09

A university lecture (CMU 15-445/645, Fall 2024) that opens the transactions block of the course. Andy Pavlo motivates concurrency control with a bank-account example showing how a crash mid-transaction and two concurrent withdrawals both corrupt the database, then dismantles the two naive fixes — running one...EnglishDatabasesCourses

#17 - Two-Phase Locking Concurrency Control (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:05:22

This lecture (CMU 15-445/645, Fall 2024) moves from the previous class's static schedules — where every read and write is known in advance — to dynamic schedules, where the DBMS must decide on the fly which transaction may touch which object. The solution presented is two-phase locking (2PL): transactions acquire...EnglishDatabasesCourses

#18 - Optimistic Concurrency Control ✸ Weaviate Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:20:53

Lecture 18 of CMU 15-445/645 (Fall 2024) covers Optimistic Concurrency Control (OCC), the counterpart to the pessimistic two-phase locking protocol from the previous class. Andy Pavlo builds up the timestamp-ordering machinery OCC rests on, walks through its three phases (read into a private workspace, validate,...EnglishDatabasesCourses

#19 - Multi-Version Concurrency Control (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:27:07

Andy Pavlo's lecture 19 of CMU 15-445/645 (Fall 2024) explains Multi-Version Concurrency Control (MVCC): the technique of keeping multiple physical versions of a single logical tuple so that writers never block readers and readers never block writers. The lecture walks through the visibility mechanics (BEGIN/END...EnglishDatabasesCourses

#20 - Database Logging ✸ Confluent Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:19:21

Lecture 20 of CMU 15-445/645 (Fall 2024) covers the first half of database recovery: everything a DBMS must do while transactions are running so that it can survive a crash later. Andy Pavlo starts from the durability gap left by concurrency control, derives the two buffer pool policies (STEAL and FORCE) that...EnglishDatabasesCourses

#21 - Database Recovery with ARIES (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:12:55

University lecture (CMU 15-445/645, Fall 2024) on ARIES, the canonical crash-recovery protocol for disk-oriented database systems. Building on the previous lecture's write-ahead log, it explains how a DBMS running under a STEAL + NO-FORCE buffer pool policy restarts after an unclean shutdown and restores atomicity,...EnglishDatabasesCourses

#22 - Distributed Database Architectures ✸ DataStax Database Talk (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:23:02

A guest lecture in CMU 15-445/645 (Fall 2024) that makes the jump from the single-node DBMS students have been building all semester to distributed database systems, framing every new difficulty as a coordination problem. It walks the classic four-way architecture classification (shared everything / nothing / disk...EnglishDatabasesCourses

#23 - Distributed Transactional Databases (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:24:53

Lecture 23 of CMU 15-445/645 (Fall 2024) covers how an OLTP database keeps ACID guarantees when its data is spread across multiple nodes. It walks the full design space of replication — primary-replica vs multi-primary, K-safety, synchronous/quorum/eventual propagation, continuous vs on-commit timing, and...EnglishDatabasesCourses

#24 - Distributed Analytical Databases (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:22:55

The final lecture of CMU 15-445/645 (Fall 2024) covers how an OLAP database system changes when it must run across many nodes. It starts with the environment analytics lives in — OLTP silos feeding a warehouse via ETL/ELT, and the star/snowflake schemas warehouses use — then walks through the distributed execution...EnglishDatabasesCourses

#25 - BigQuery + Snowflake + Redshift + Databricks + DuckDB (CMU Intro to Database Systems)

CMU Intro to Database Systems (15-445/645 - Fall 2024)

CMU Database Group · 1:25:57

The final lecture of CMU 15-445/645 (Fall 2024) opens with course logistics and a rapid review of every exam topic since the midterm, then spends the bulk of its time on how modern analytical (OLAP) database systems actually get their speed. Andy Pavlo first establishes the two foundational techniques — writing...EnglishDatabasesCourses