Datenbanken bilden die Basis fast aller großen Anwendungen. In dieser Vorlesung lernen wir Datenbanksysteme vornehmlich aus Administrator- und Entwicklersicht kennen. Die Vorlesung schließt mit einem Vorlesungsblock zum Thema Web-scale Data Management ab. Die Vorlesung wird von einer Übung begleitet.
| Organisatorisches und Einführung | 01:22:18 | |
|---|---|---|
| Einführung | 00:15:04 | |
| Vorstellung der Arbeitsgruppe | 00:17:11 | |
| Organisatorisches | 00:16:25 | |
| Implementierung von Datenbanken | 00:22:51 | |
| Ausblick auf das Semester | 00:10:47 |
| Speicherhierarchie und Disks | 01:22:56 | |
|---|---|---|
| Speicherhierarchie | 00:21:10 | |
| Moore's Law | 00:13:00 | |
| Disks | 00:18:32 | |
| Disk-Zugriffseigenschaften | 00:14:01 | |
| Effiziente Diskoperationen | 00:16:13 |
| Effiziente Diskoperationen und Zugriffsbeschleunigung | 01:24:57 | |
|---|---|---|
| Effiziente Diskoperationen | 00:06:32 | |
| TPMMS | 00:18:43 | |
| Bemerkungen zur Blockgröße | 00:15:35 | |
| Zugriffsbeschleunigung | 00:16:28 | |
| Mehrere Disks | 00:14:23 | |
| Disk Scheduling | 00:13:16 |
| Diskausfälle | 01:08:31 | |
|---|---|---|
| Prefetching | 00:11:48 | |
| Diskausfälle | 00:13:25 | |
| Prüfsummen - Paritätsbits | 00:14:24 | |
| RAID 0 - 6 | 00:22:14 | |
| RAID 0 + 1 - Mirrored Striping | 00:06:42 |
| RAID 5 - 6 | 00:28:05 | |
|---|---|---|
| RAID 5 | 00:02:26 | |
| RAID 6 | 00:13:33 | |
| Fehlererholung | 00:08:53 | |
| Zusammenfassung | 00:03:13 |
| Physische Repräsentation von Daten I | 00:33:07 | |
|---|---|---|
| Datenelemente | 00:14:06 | |
| Datensätze | 00:09:56 | |
| Adressierung | 00:09:05 |
| Physische Repräsentation von Daten II | 00:31:57 | |
|---|---|---|
| Daten variabler Länge | 00:18:23 | |
| Datensatzänderung | 00:13:34 |
| Indizes auf sequenziellen Dateien | 00:55:00 | |
|---|---|---|
| Überblick | 00:04:10 | |
| Indizes auf sequenziellen Dateien | 00:17:46 | |
| Mehrstufiger Index | 00:09:34 | |
| Indizes für Nicht-eindeutige Suchschlüssel | 00:13:41 | |
| Änderungsoperationen | 00:09:49 |
| Sekundärindizes auf nicht-sequenziellen Dateien | 01:29:35 | |
|---|---|---|
| Sekundärindizes auf nicht-sequenziellen Dateien | 00:09:39 | |
| Anwendung | 00:21:44 | |
| B-Bäume | 00:08:08 | |
| Struktur | 00:19:11 | |
| Anwendung von B-Bäumen | 00:14:20 | |
| Suche | 00:05:50 | |
| Updates | 00:10:43 |
| B-Bäume und Hash-Tabellen | 01:26:57 | |
|---|---|---|
| Einfügen in B-Bäume | 00:06:54 | |
| Löschen aus B-Bäumen | 00:17:40 | |
| Effizienz von B-Bäumen | 00:15:32 | |
| Varianten | 00:13:57 | |
| Hash-Tabellen | 00:19:48 | |
| Erweiterbare Hashtabellen | 00:13:06 |
| Erweiterbare und Lineare Hashtabellen | 00:33:32 | |
|---|---|---|
| Einfügen in erweiterbare Hashtabellen | 00:10:43 | |
| Lineare Hashtabellen | 00:17:59 | |
| Hashing vs. B-Baum | 00:04:50 |
| Anwendung und Grid Files | 00:57:31 | |
|---|---|---|
| Einleitung | 00:04:37 | |
| Anwendung für Multidimensionale Indizes | 00:10:18 | |
| Dimensionen in SQL | 00:10:42 | |
| Bereichs- und Nachbar-Anfragen von herkömmlichen Indizes | 00:17:31 | |
| Grid files | 00:14:23 |
| Partitioniertes Hashing und Baumstrukturen | 01:12:13 | |
|---|---|---|
| Grid files | 00:11:53 | |
| Partitioniertes Hashing | 00:12:05 | |
| Baumstrukturen | 00:12:03 | |
| kd-Bäume | 00:16:37 | |
| R-Bäume | 00:15:22 | |
| Zusammenfassung | 00:04:13 |
| Einführung Anfrageausführung | 00:13:17 | |
|---|---|---|
| Motivation | 00:13:17 |
| Iteratoren und Operatoren | 01:28:27 | |
|---|---|---|
| Scan Kosten | 00:15:08 | |
| Iteratoren | 00:08:31 | |
| Iterator - Beispiele | 00:19:33 | |
| Pipelining versus Blocking | 00:09:00 | |
| Operatorklassen | 00:18:48 | |
| Relationen-basierte binäre Operatoren | 00:17:27 |
| Nested Loop Join & Sort-basierte Two-Pass Algorithmus | 01:29:00 | |
|---|---|---|
| Relationen-basierte binäre Operatoren | 00:06:20 | |
| Nested Loop Join | 00:07:17 | |
| Block-basierter NLJ | 00:17:00 | |
| Zusammenfassung bisheriger Algorithmen | 00:05:20 | |
| Sort-basierte Two-Pass Algorithmen | 00:11:44 | |
| Gruppierung und Aggregation | 00:11:43 | |
| Einfacher, Sort-basierter Join Algorithmus | 00:19:24 | |
| Hash-basierte Verfahren | 00:10:50 |
| Hash-basierte Two-Pass Algorithmen | 01:24:40 | |
|---|---|---|
| Hash-basierte Two-Pass Algorithmen | 00:15:56 | |
| Mengenoperationen | 00:14:53 | |
| Hashjoin | 00:03:53 | |
| I/O Einsparungen | 00:19:33 | |
| Hybrid Hashjoin - Analyse | 00:18:03 | |
| Zusammenfassung Hash-basierter Verfahren | 00:12:22 |
| Index-basierte Algorithmen & Optimierung | 01:28:59 | |
|---|---|---|
| Index-basierte Algorithmen | 00:14:03 | |
| Join mit Index | 00:19:01 | |
| Optimierung | 00:14:30 | |
| Algebraische Transformationsregeln | 00:17:19 | |
| Weitere Regeln | 00:08:59 | |
| Kostenbasierte Optimierung (Wdh) | 00:15:07 |
| Kostenschätzungen | 01:31:14 | |
|---|---|---|
| Kostenschätzung Projektion & Selektion | 00:10:50 | |
| Zipf-Verteilung | 00:20:29 | |
| Kostenschätzung - Join | 00:20:34 | |
| Kostenschätzung - Mehrfachjoin | 00:19:54 | |
| Histogramme | 00:19:27 |
| Dynamische Programmierung | 01:35:55 | |
|---|---|---|
| Histogramme | 00:12:51 | |
| Joinreihenfolge | 00:15:30 | |
| Anfragebearbeitung - Optimierung | 00:13:37 | |
| Dynamische Programmierung | 00:16:38 | |
| DP - Beispiel | 00:11:53 | |
| DP - intresting orders | 00:12:45 | |
| Physische Anfragepläne | 00:12:41 |
| Undo-Logging | 01:29:27 | |
|---|---|---|
| Fehlerarten | 00:13:53 | |
| Transaktion | 00:18:44 | |
| Operationen | 00:08:50 | |
| Logging | 00:16:04 | |
| Undo-Logging | 00:12:54 | |
| Recovery mittels Undo-Logging | 00:13:10 | |
| Checkpointing | 00:05:52 |
| Redo Logging & Undo/Redo Logging | 01:23:25 | |
|---|---|---|
| Checkpointing | 00:14:35 | |
| Redo Logging | 00:17:24 | |
| Redo Logging - Checkpointing | 00:20:42 | |
| Redo/Undo Logging | 00:14:48 | |
| Undo/Redo Recovery - Checkpointing | 00:11:07 | |
| Zusammenfassung | 00:04:49 |
| WDM for analytic databases (1) | 01:26:06 | |
|---|---|---|
| Web-scale Data Management (WDM) | 00:19:27 | |
| Parallel Speedup - Ahmdal's law | 00:10:52 | |
| Levels of Parallelism on Hardware | 00:16:05 | |
| Basics of Parallel Query Processing | 00:18:17 | |
| Parallel Operators | 00:09:01 | |
| Parallel Sorting | 00:12:24 |
| WDM for analytic databases (2) | 01:19:20 | |
|---|---|---|
| Fragment-and-Replicate Join | 00:14:48 | |
| Map/Reduce & Hadoop: Driving Scale-Out for analysis | 00:16:57 | |
| What is Map/Reduce | 00:09:15 | |
| Map Reduce Illustrated | 00:20:13 | |
| Hadoop | 00:18:07 |
| WDM Transaction Management (1) | 01:23:59 | |
|---|---|---|
| Introduction | 00:15:45 | |
| ACID vs. Base | 00:07:42 | |
| CAP Theorem | 00:20:20 | |
| Fragmentation for Performance | 00:19:28 | |
| Consistency | 00:08:54 | |
| Replication | 00:11:50 |
| WDM Transaction Management (2) | 01:30:19 | |
|---|---|---|
| Consens Protocols | 00:08:23 | |
| Two Phase Commit | 00:12:29 | |
| Three Phase Commit | 00:09:53 | |
| Distributed Data Stores | 00:06:17 | |
| Chord | 00:08:13 | |
| Chord: Scalable Search | 00:15:35 | |
| Content Addressable Network | 00:16:21 | |
| Conclusion | 00:03:37 | |
| Cloud and Services | 00:09:31 |
| WDM, cloud and services | 01:30:58 | |
|---|---|---|
| Scale up, scale out, scale | 00:16:09 | |
| Multi-Tenancy | 00:17:54 | |
| Private Tables & Extension Tables | 00:14:21 | |
| Spare Collums & XML | 00:09:47 | |
| Universal Tables | 00:14:27 | |
| Pivot Tables | 00:18:20 |