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 |