Zielsetzung
Das Seminar untersucht die Leistung von FerretDB entlang der gesamten Verarbeitungskette vom Client über FerretDB bis zum PostgreSQL-Backend. Workload, Connection Pools, Indizes, Ressourcen, Speicher, WAL und Observability werden in einen messbaren Tuning- und Kapazitätsprozess überführt.
Inhaltsübersicht
- Zielsetzung und Lernziele
- Teilnehmerkreis und Voraussetzungen
- Leistungsziele und Workload
- Messumgebung aufbauen
- Client und Connection Pools
- Abfragen und Indizes
- FerretDB- und Backendressourcen
- Such- und Aggregationslasten
- Kapazitätsmodell
- Kontinuierlicher Tuning-Zyklus
- Praxisübungen und Methodik
Lernziele
- Repräsentative Lastprofile und messbare Leistungsziele definieren
- Engpässe zwischen Client, FerretDB, Netzwerk und PostgreSQL lokalisieren
- Indizes, Poolgrößen und Ressourcen auf Basis von Messdaten anpassen
- Kapazitätsreserven und Wachstumsgrenzen für den Produktionsbetrieb berechnen
Teilnehmerkreis
Datenbankadministratoren, Performance Engineers, DevOps-Fachkräfte, Site Reliability Engineers, Architekten und erfahrene Entwickler.
Voraussetzungen
Gute FerretDB-, Abfrage- und PostgreSQL-Grundkenntnisse. Erfahrung mit Metriken, Lasttests und Linux- oder Containerressourcen ist hilfreich.
Seminarinhalte
Kapitel 1: Leistungsziele und Workload
Inhaltsübersicht des Kapitels: Geschäftliche Transaktionen in konkrete Datenbankoperationen übersetzen; Latenz, Durchsatz, Parallelität und Fehlerrate als Ziele festlegen; Lesen, Schreiben, Aggregation und Suchlast getrennt charakterisieren.
- Schritt 1: Geschäftliche Transaktionen in konkrete Datenbankoperationen übersetzen
- Schritt 2: Latenz, Durchsatz, Parallelität und Fehlerrate als Ziele festlegen
- Schritt 3: Lesen, Schreiben, Aggregation und Suchlast getrennt charakterisieren
Kapitel 2: Messumgebung aufbauen
Inhaltsübersicht des Kapitels: Testdatenmenge und Datenverteilung realitätsnah vorbereiten; Lastgenerator, Warm-up, Messdauer und Wiederholungen definieren; Logs, Metriken, Traces und PostgreSQL-Statistiken synchron erfassen.
- Schritt 1: Testdatenmenge und Datenverteilung realitätsnah vorbereiten
- Schritt 2: Lastgenerator, Warm-up, Messdauer und Wiederholungen definieren
- Schritt 3: Logs, Metriken, Traces und PostgreSQL-Statistiken synchron erfassen
Kapitel 3: Client und Connection Pools
Inhaltsübersicht des Kapitels: Treiberpool, Anwendungsinstanzen und FerretDB-Pool als Gesamtsystem betrachten; Zu kleine und zu große Poolgrößen anhand von Sättigung erkennen; Timeouts und Nebenläufigkeit ohne Request-Stürme konfigurieren.
- Schritt 1: Treiberpool, Anwendungsinstanzen und FerretDB-Pool als Gesamtsystem betrachten
- Schritt 2: Zu kleine und zu große Poolgrößen anhand von Sättigung erkennen
- Schritt 3: Timeouts und Nebenläufigkeit ohne Request-Stürme konfigurieren
Kapitel 4: Abfragen und Indizes
Inhaltsübersicht des Kapitels: Langsame und häufige Operationen anhand von Messdaten priorisieren; Einzel-, Verbund-, Text- und Vektorindizes passend zum Workload bewerten; Schreibkosten, Speicherbedarf und Wartungsfolgen gegen Lesegewinne abwägen.
- Schritt 1: Langsame und häufige Operationen anhand von Messdaten priorisieren
- Schritt 2: Einzel-, Verbund-, Text- und Vektorindizes passend zum Workload bewerten
- Schritt 3: Schreibkosten, Speicherbedarf und Wartungsfolgen gegen Lesegewinne abwägen
Kapitel 5: FerretDB- und Backendressourcen
Inhaltsübersicht des Kapitels: CPU, Arbeitsspeicher, Dateisystem und Netzwerk getrennt beobachten; PostgreSQL-Verbindungen, Cachewirkung, WAL und Hintergrundprozesse einordnen; Container- oder Podlimits so setzen, dass Drosselung sichtbar und beherrschbar bleibt.
- Schritt 1: CPU, Arbeitsspeicher, Dateisystem und Netzwerk getrennt beobachten
- Schritt 2: PostgreSQL-Verbindungen, Cachewirkung, WAL und Hintergrundprozesse einordnen
- Schritt 3: Container- oder Podlimits so setzen, dass Drosselung sichtbar und beherrschbar bleibt
Kapitel 6: Such- und Aggregationslasten
Inhaltsübersicht des Kapitels: Aggregation, Volltext- und Vektorsuche mit typischen Datenmengen testen; Suchparameter und Ergebnisgröße auf Qualität und Laufzeit abstimmen; Teure Operationen durch Vorfilterung, Projektion und Datenmodell verbessern.
- Schritt 1: Aggregation, Volltext- und Vektorsuche mit typischen Datenmengen testen
- Schritt 2: Suchparameter und Ergebnisgröße auf Qualität und Laufzeit abstimmen
- Schritt 3: Teure Operationen durch Vorfilterung, Projektion und Datenmodell verbessern
Kapitel 7: Kapazitätsmodell
Inhaltsübersicht des Kapitels: Aktuelle Last, Spitzenlast und Wachstum getrennt quantifizieren; Ressourcenbedarf pro Laststufe aus wiederholten Messungen ableiten; Reserve, Skalierungsgrenze und Beschaffungszeit in die Planung aufnehmen.
- Schritt 1: Aktuelle Last, Spitzenlast und Wachstum getrennt quantifizieren
- Schritt 2: Ressourcenbedarf pro Laststufe aus wiederholten Messungen ableiten
- Schritt 3: Reserve, Skalierungsgrenze und Beschaffungszeit in die Planung aufnehmen
Kapitel 8: Kontinuierlicher Tuning-Zyklus
Inhaltsübersicht des Kapitels: Nur eine relevante Änderung pro Vergleichstest vornehmen; Baseline, Hypothese, Änderung und Ergebnis dokumentieren; Regressionstests und Produktionsalarme aus den Erkenntnissen ableiten.
- Schritt 1: Nur eine relevante Änderung pro Vergleichstest vornehmen
- Schritt 2: Baseline, Hypothese, Änderung und Ergebnis dokumentieren
- Schritt 3: Regressionstests und Produktionsalarme aus den Erkenntnissen ableiten
Praxisübungen
- Einen gemischten Lese-/Schreibworkload messen und Engpässe lokalisieren
- Pool- und Indexänderungen mit identischen Lasttests vergleichen
- Ein Kapazitätsblatt für Istlast, Spitzenlast und prognostiziertes Wachstum erstellen
Methodik
Alle Optimierungen müssen durch wiederholbare Messungen belegt werden. Das Seminar arbeitet mit Baselines, klaren Hypothesen und jeweils isolierten Änderungen statt mit pauschalen Tuninglisten.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weiterer Tag 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | DBA, Performance Engineers, DevOps, SRE, Architekten und Entwickler |
| Voraussetzungen: | Gute FerretDB-, Abfrage- und PostgreSQL-Kenntnisse |
| 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, angeleitete Laborübungen, Fallstudien und 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.
