mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-27 23:04:05 -06:00
2.5 KiB
2.5 KiB
| title | tags | date | draft | |
|---|---|---|---|---|
| Scalable Data Management Systems |
|
2024-02-13 | false |
[!warning] Warnung
Diese Vorlesung arbeitete noch mit JAVA.
Eine Zusammenfassung der Inhalte der Vorlesung Scalable Data Management Systems aus dem Wintersemester 2023/2024.
Inhalt:
-
Single-Node DBMS & Speicherverwaltung
- Ein Single-Node DBMS verarbeitet Daten auf einem einzelnen Server mit mehreren Schichten
- Unterschied zwischen Row-Store (gut für Insert/Update/Delete) und Column-Store (effizient für Aggregationen).
-
Verteilte Datenbanken (Distributed DBMS) & Skalierung
- Shared-Nothing Architektur: Jeder Knoten hat eigene Daten, gute Skalierbarkeit.
- Shared-Data Architektur (Cloud): Mehrere Server greifen auf dieselben Daten zu.
- Fragmentierungsschemas: Daten werden nach Round-Robin, Hash oder Range verteilt.
- Partitionierungstechniken für OLAP- und OLTP-Workloads, um Abfragen effizient zu verarbeiten.
-
OLAP vs. OLTP & Indizierung
- OLAP (Online Analytical Processing): Aggregierte Analysen großer Datenmengen.
- OLTP (Online Transaction Processing): Schnelle Transaktionsverarbeitung mit hoher Parallelität.
- B+-Bäume, Bitmap-Indizes und materialisierte Sichten verbessern Abfragegeschwindigkeit.
- Joins in verteilten Systemen nutzen verschiedene Shuffling-Techniken (Symmetric, Asymmetric, Broadcast).
-
Konkurrenzkontrolle & Replikation
- ACID-Prinzipien (Atomicity, Consistency, Isolation, Durability) für sichere Transaktionen.
- Replikation verbessert Fehlertoleranz (synchron/asynchron).
- CAP-Theorem: Konsistenz, Verfügbarkeit und Partitionstoleranz können nicht gleichzeitig maximiert werden.
-
Cloud-Datenbanken & Optimierungstechniken
- Google Spanner, Snowflake, Amazon Aurora als Beispiele für verteilte Cloud-DBMS.
- Query Optimierung: Regelbasierte (Selection Pushdown) und kostenbasierte (Join-Ordering, Cardinality Estimation) Optimierungen.
- Machine Learning für Datenoptimierung (DeepDB, RSPN) zur Verbesserung der Kardinalitätsschätzungen.
- MapReduce, Apache Spark & Streaming-Technologien zur effizienten Verarbeitung großer Datenmengen.