Datenbanken bilden die Basis fast aller großen Anwendungen. In dieser Vorlesung lernen wir Datenbanksysteme vornehmlich aus Administrator- und Entwicklersicht kennen. Die Vorlesung schliesst mit einem Vorlesungsblock zum Thema Web-scale Data Management ab. Die Vorlesung wird von einer Übung begleitet.
| Begrüßung und Einführung | 01:16:35 | |
|---|---|---|
| Begrüßung und Einführung | 00:09:22 | |
| Lehrveranstaltungen | 00:17:37 | |
| Implementierung von Datenbanken | 00:20:13 | |
| Ausblick auf das Semestert | 00:18:21 | |
| Recovery | 00:11:02 |
| Physische Speicherstrukturen | 01:29:32 | |
|---|---|---|
| Speicherhierarchie | 00:14:48 | |
| Tertiärspeicher | 00:10:57 | |
| SSD als Speicher | 00:11:31 | |
| Datenbankgrößen | 00:21:35 | |
| Algorthmen vs. DBMS | 00:15:09 | |
| TPMMS | 00:15:32 |
| Diskausfälle und RAID | 01:26:57 | |
|---|---|---|
| Diskausfälle | 00:16:36 | |
| Stable Storage | 00:14:56 | |
| RAID 0, RAID 1 | 00:14:27 | |
| RAID 0+1,2,3 | 00:13:08 | |
| RAID 4,5 | 00:15:30 | |
| Physische Repraesentation von Daten | 00:12:20 |
| Physische Repräsentation von Daten | 01:31:18 | |
|---|---|---|
| Adressierung | 00:19:11 | |
| Daten mit variabler Länge | 00:19:51 | |
| Datensatzänderung | 00:13:42 | |
| Indexstrukturen | 00:21:08 | |
| Mehrstufiger Index | 00:17:26 |
| Indexstrukturen | 01:27:20 | |
|---|---|---|
| Überblick | 00:15:05 | |
| Änderungsoptionen - Beispiele | 00:21:34 | |
| Indirektion fuer Sekundärindizes | 00:20:30 | |
| B-Bäume | 00:15:12 | |
| Rechenbeispiele | 00:14:59 |
| B-Bäume | 01:33:41 | |
|---|---|---|
| B-Bäume auf nicht-Primärschlüsseln | 00:20:43 | |
| Suche in B-Bäumen | 00:06:28 | |
| Einfügen in B-Bäumen | 00:14:57 | |
| Löschen aus B-Bäumen | 00:20:42 | |
| Effiziens von B-Bäumen | 00:19:44 | |
| B-Baum Varianten | 00:11:07 |
| Hash-Tabellen | 01:31:55 | |
|---|---|---|
| Hashtabellen - Grundprinzip | 00:20:15 | |
| Erweiterbare Hashtabellen - Beispiel | 00:17:43 | |
| Lineare Hashtabellen | 00:19:47 | |
| Hashing vs. B-Baum | 00:15:11 | |
| Multidimensionale Idizes | 00:18:59 |
| Multidimensionale Indizes | 01:29:11 | |
|---|---|---|
| Anwenungen für Multidimensionale Indizes | 00:18:19 | |
| Next-Neighbor-Anfragen mit herkömmlichen Indizes | 00:16:30 | |
| Grid file - Einfügen | 00:20:37 | |
| Partitioniertes Hashing | 00:13:11 | |
| Baumstrukturen für Multidimensionale Daten | 00:20:34 |
| Physische Operatoren | 01:16:24 | |
|---|---|---|
| Einleitung Anfrageausführung | 00:12:28 | |
| Grundbausteine | 00:16:55 | |
| Kostenparameter / Statistiken | 00:17:42 | |
| Pull-basierte Anfrageauswertung | 00:18:38 | |
| Pipelining vs. Pipeline-Breaker | 00:10:41 |
| One Pass Algorithmen | 01:30:16 | |
|---|---|---|
| One Pass Algorithmen | 00:18:17 | |
| Duplikateliminierung | 00:21:07 | |
| Multimengendifferenz | 00:16:58 | |
| Block-basierter NLJ | 00:21:46 | |
| Sort-basierte Two-Pass Algorithmen | 00:12:08 |
| Two-Pass Algorithmen | 01:31:05 | |
|---|---|---|
| Zusammenfassung bisheriger Algorithmen | 00:17:48 | |
| Schnittmenge und Differenz | 00:18:12 | |
| Sort-basierter Join Algorithmus - Verbesserung | 00:16:00 | |
| Duplikateliminierung | 00:18:16 | |
| Hashjoin | 00:20:49 |
| Index-basierte Algorithmen | 01:25:59 | |
|---|---|---|
| Hashjoin | 00:17:16 | |
| Hybrid Hashjoin - Analyse | 00:19:49 | |
| Index-basierte Algorithmen | 00:19:26 | |
| Joining mit Index | 00:15:47 | |
| Zig-Zag-Join Beispiel | 00:13:41 |
| Optimierung | 01:30:26 | |
|---|---|---|
| Anfragebearbeitung | 00:15:50 | |
| Weitere Regeln | 00:25:13 | |
| Problemgrösse (Suchraum) | 00:14:57 | |
| Kostenschätzung - Projektion | 00:16:02 | |
| Zipf - Verteilung | 00:18:24 |
| Kostenmodell | 01:33:01 | |
|---|---|---|
| Kostenmodell | 00:10:08 | |
| Kostenschätzung - Join | 00:22:51 | |
| Kostenschätzung Join - Beispiel | 00:21:22 | |
| Kostenschätzung - Weitere Operationen | 00:19:19 | |
| Histogramme | 00:19:21 |
| Dynamische Programmierung | 01:33:37 | |
|---|---|---|
| Dynamische Programmierung | 00:17:20 | |
| DP - Beispiel | 00:23:48 | |
| DP - Algorithmus | 00:16:59 | |
| Wahl der Join-Methode | 00:19:43 | |
| Pipelines mit binaeren Operatoren - Beispiel | 00:15:47 |
| Undo-Logging | 01:34:00 | |
|---|---|---|
| Fehlerarten | 00:23:19 | |
| Transaktionen | 00:19:53 | |
| Logging | 00:19:19 | |
| Undo Logging - Beispiel | 00:14:40 | |
| Komplikation: Systemfehler während Recovery | 00:16:49 |
| Redo-Logging | 01:10:06 | |
|---|---|---|
| Redo-Logging | 00:19:22 | |
| Redo-Logging - Checkpointing | 00:19:28 | |
| Redo-Logging - Beispiel | 00:14:27 | |
| Undo/Redo Recovery - Beispiel | 00:16:49 |
| WDM for analytic databases | 01:31:54 | |
|---|---|---|
| Einführung - Web Scale Data Management | 00:17:50 | |
| Promimnent user of parrallel data processing: Google | 00:18:09 | |
| Pipeline Parallelism | 00:17:20 | |
| Parrallel Operators | 00:19:14 | |
| Asymetric Fragment-and-Replicate Join | 00:19:21 |
| WDM for operational databases | 01:31:04 | |
|---|---|---|
| Introduction and Review | 00:06:38 | |
| Use Cases | 00:19:10 | |
| ACID vs. BASE | 00:21:22 | |
| The Notion of QoS and Predictability | 00:18:59 | |
| Partitioning Design | 00:11:28 | |
| Consistency | 00:13:27 |
| Consensus Protocols | 01:32:32 | |
|---|---|---|
| Consensus Protocols | 00:17:16 | |
| Three Phase Commit | 00:15:11 | |
| Chord | 00:16:21 | |
| Content Adressable Network | 00:14:49 | |
| WDM, cloud and services | 00:17:11 | |
| Why will the cloud always win? | 00:11:44 |
| Multitenancy | 01:29:02 | |
|---|---|---|
| Service Provider Preferences | 00:19:11 | |
| New Isolation: Make other tenants invisible | 00:16:54 | |
| Private Tables - Query Transformation | 00:17:53 | |
| Universal Tables | 00:20:00 | |
| Pivot Tables - Query Transformation | 00:15:04 |