Performance-Tuning beginnt mit einer reproduzierbaren Messung und einer klaren Hypothese. Der Kurs verwendet feste Datenstände, definierte Cachebedingungen und identische Lastprofile, damit Verbesserungen und Nebenwirkungen nachweisbar bleiben.
Abfrage, Datenmodell und Plattform werden gemeinsam betrachtet. Eine vermeintliche SQL-Optimierung kann durch ungeeignete Schlüssel, zu viele Parts, Speicherengpässe oder konkurrierende Hintergrundarbeit wirkungslos bleiben.
Inhaltsübersicht
- Zielsetzung und Abgrenzung
- Tag 1: Baseline, Query-Profiling und Diagnose
- Tag 2: SQL-, Modell- und Indexoptimierung
- Tag 3: Ressourcen, Parallelität und dauerhafte Performance
- Praxisaufgaben und Prüfpunkte
- Zielgruppe und Voraussetzungen
- Didaktik und Arbeitsweise
Zielsetzung und Abgrenzung
- Reproduzierbare Performance-Baselines und aussagekräftige Messbedingungen erstellen.
- Query Log, EXPLAIN und Profilereignisse für Ursachenanalyse einsetzen.
- Schlüssel, Datentypen, Indizes, Joins und Aggregationen messwertbasiert optimieren.
- Speicher, Parallelität, externe Verarbeitung und verteilte Ausführung kontrollieren.
- Regressionstests und Betriebsgrenzen für dauerhafte Performance etablieren.
Didaktische Bemessung: Drei Tage sind erforderlich, weil Diagnose, SQL- und Modelloptimierung sowie Plattform- und Regressionstests getrennte Messphasen benötigen. Kürzere Formate verleiten zu unkontrollierten Einzeländerungen ohne belastbaren Vergleich.
Seminarinhalte
Tag 1: Baseline, Query-Profiling und Diagnose
- Schritt 1: Kritische Abfragen, Nutzergruppen, Datenstände, Parallelität und Zielwerte als Testkatalog erfassen.
- Schritt 2: Kalt-, Warm- und Paralleltests mit festgelegten Wiederholungen und Messbedingungen definieren.
- Schritt 3: Query Log und relevante Profilevents für Laufzeit, gelesene Daten, Speicher und CPU auswerten.
- Schritt 4: EXPLAIN-Varianten verwenden, um Filter, Projektion, Aggregation und Ausführungsstufen nachzuvollziehen.
- Schritt 5: Abfrageanteile durch schrittweise Reduktion und isolierte Teilabfragen eingrenzen.
- Schritt 6: Datenverteilung, Kardinalität, Selektivität und Schlüsselpräfixe gegen das Zugriffsmuster prüfen.
- Schritt 7: Ein Engpassprotokoll mit Hypothese, Beleg, Gegenprobe und erwarteter Maßnahme erstellen.
- Schritt 8: Baselinewerte sichern, damit jede nachfolgende Änderung belastbar verglichen werden kann.
Tag 2: SQL-, Modell- und Indexoptimierung
- Schritt 1: Spaltenauswahl, Filterreihenfolge, Vorberechnung und unnötige Transformationen in kritischen Abfragen bereinigen.
- Schritt 2: Joins nach Kardinalität, Datenmenge, Schlüsselform und Alternativen wie Dictionaries oder Denormalisierung bewerten.
- Schritt 3: Aggregationen, Fensterfunktionen, Arrays und bedingte Funktionen hinsichtlich Zwischenmengen optimieren.
- Schritt 4: ORDER BY und Primärindex gegen die häufigsten Filter und Gruppierungen überprüfen.
- Schritt 5: Data-Skipping-Indizes nur für geeignete Verteilungen anlegen und ihre Wirksamkeit messen.
- Schritt 6: Projections und Materialized Views als physische Alternativen anhand Nutzen und Wartungsaufwand vergleichen.
- Schritt 7: Datentypen, LowCardinality und Kompression nach Speicher, CPU und Filterverhalten testen.
- Schritt 8: Jede Änderung mit identischem Benchmark, Ergebnisvergleich und Nebenwirkungsprüfung abnehmen.
Tag 3: Ressourcen, Parallelität und dauerhafte Performance
- Schritt 1: Speicherverbrauch, Parallelität, Threads und externe Verarbeitung unter Einzel- und Mischlast untersuchen.
- Schritt 2: Ressourcenprofile und Quotas für interaktive, Batch- und Serviceabfragen trennen.
- Schritt 3: Merges, Mutationen, Parts und Datenaufnahme als konkurrierende Hintergrundlast in den Test einbeziehen.
- Schritt 4: Verteilte Abfragen auf Remote-Scan, Netzwerkaustausch und finale Aggregation analysieren.
- Schritt 5: CPU-, Speicher-, Datenträger- und Netzwerkgrenzen mit kontrollierter Laststeigerung bestimmen.
- Schritt 6: Sättigung, Warteschlangen und Fehlerraten in konkrete Betriebs- und Skalierungsgrenzen überführen.
- Schritt 7: Automatisiertes Regressionstestset für kritische Abfragen und repräsentative Datenstände erstellen.
- Schritt 8: Performance-Runbook mit Baseline, Alarmen, Änderungsregeln und Rollback dokumentieren.
Praxisaufgaben und Prüfpunkte
Praxisaufgaben
- Query-Profiling mit Baseline, Hypothese und Gegenprobe
- Optimierung eines Join- und Aggregationsworkloads
- Messung von Data-Skipping-Index, Projection oder Materialized View
- Mischlast- und Sättigungstest mit Regressionstestset
Prüfpunkte
- Optimierungen sind durch identische Vorher-Nachher-Messungen belegt.
- Abfrageergebnisse bleiben trotz physischer Änderungen fachlich identisch.
- Ressourcen- und Parallelitätsgrenzen sind pro Workload-Klasse dokumentiert.
- Regressionen werden durch wiederholbare Tests und klare Schwellen sichtbar.
Zielgruppe und Voraussetzungen
Zielgruppe: Performance Engineering, Data Engineering, Datenbankentwicklung, ClickHouse-Administration, SRE und Analytics Engineering
Voraussetzungen: Gute SQL- und ClickHouse-Kenntnisse, Verständnis von MergeTree-Modellen sowie Erfahrung mit Linux- und Datenbankmetriken
Didaktik und Arbeitsweise
Kurze Fachimpulse werden unmittelbar durch Demonstrationen, klar nummerierte Arbeitsschritte, praktische Übungen und kontrollierte Fehlerfälle vertieft. Für jede Aufgabe werden Ausgangszustand, erwartetes Ergebnis, technische Prüfabfrage und Rückfallweg dokumentiert. Dadurch lassen sich die erarbeiteten Verfahren als wiederholbare Entwicklungs- oder Betriebsstandards übernehmen.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Performance Engineering, Data Engineering, Datenbankentwicklung, ClickHouse-Administration, SRE und Analytics Engineering |
| Voraussetzungen: | Gute SQL- und ClickHouse-Kenntnisse, Verständnis von MergeTree-Modellen sowie Erfahrung mit Linux- und Datenbankmetriken |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
