Seminar / Training
Das Einzelseminar vermittelt Python-Binding, API-Version, Schlüssel- und Bereichszugriffe, Retry-Logik, Tuple-Modellierung, Nebenläufigkeit, Observability und Praxisprojekt. Die Themen werden von der fachlichen Einordnung über die Konfiguration beziehungsweise Implementierung bis zur kontrollierten Prüfung in einer zusammenhängenden Laborumgebung bearbeitet.
Jeder Themenblock enthält eine eigene Inhaltsübersicht, konkrete Arbeitsschritte und Prüfpunkte. Konfigurationen, Datenmodelle und Betriebsentscheidungen werden so dokumentiert, dass sie in Projekt- und Betriebsstandards übernommen werden können.
Inhaltsübersicht
- 1. Python-Binding, API-Version und Projektaufbau
- 2. Schlüssel-, Wert- und Bereichszugriffe mit Python
- 3. Transaktionen und Retry-Logik in Python
- 4. Tuple Layer und Repository-Design in Python
- 5. ACID-Semantik, MVCC und Strict Serializability
- 6. Nebenläufigkeit, Futures und Backpressure in Python
- 7. Observability und Fehlerdiagnose für Python-Clients
- 8. Praxisprojekt und Produktionscheckliste in Python
1. Python-Binding, API-Version und Projektaufbau
Kapitelinhaltsverzeichnis
- 1.1 Einordnung und Zielsetzung
- 1.2 Fachthemen
- 1.3 Schritt-für-Schritt-Übung
- 1.4 Prüfpunkte
Einordnung und Zielsetzung
Das Kapitel richtet ein reproduzierbares Python-Projekt mit passender Clientbibliothek ein. Versionen, native Abhängigkeiten und Clusterzugriff werden explizit kontrolliert.
Fachthemen
- Native Clientbibliothek und Binding
- API-Version
- Build, Laufzeit und Clusterdatei
Schritt-für-Schritt-Übung: ein Python-Projekt mit FoundationDB verbinden
- Schritt 1: Virtuelle Umgebung und passendes Python-Binding einrichten.
- Schritt 2: Native Clientbibliothek und Suchpfade kontrollieren.
- Schritt 3: API-Version vor dem Öffnen der Datenbank auswählen.
- Schritt 4: Clusterdatei aus einer separaten Testkonfiguration laden.
- Schritt 5: Verbindung, Tuple Layer und eine transaktionale Funktion mit Tests prüfen.
Prüfpunkte
- Die Umsetzung berücksichtigt native Clientbibliothek und Binding und ist reproduzierbar dokumentiert.
- Das Verhalten von API-Version ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
2. Schlüssel-, Wert- und Bereichszugriffe mit Python
Kapitelinhaltsverzeichnis
- 2.1 Einordnung und Zielsetzung
- 2.2 Fachthemen
- 2.3 Schritt-für-Schritt-Übung
- 2.4 Prüfpunkte
Einordnung und Zielsetzung
Grundoperationen werden in idiomatischem Python umgesetzt. Besonderes Gewicht liegt auf Binärdaten, asynchronem Verhalten und begrenzten Bereichslesern.
Fachthemen
- Binäre Schlüssel und Werte
- Get, Set und Clear
- Range Read und Iterator
Schritt-für-Schritt-Übung: einen vollständigen Datenzugriff implementieren
- Schritt 1: Schlüssel- und Wertkodierung als zentrale Hilfsfunktionen definieren.
- Schritt 2: Einzelne Werte lesen, schreiben und löschen.
- Schritt 3: Bereichsgrenzen aus einem Präfix ableiten und mit Limit lesen.
- Schritt 4: Pagination mit dem letzten Schlüssel fortsetzen.
- Schritt 5: Fehler und leere Ergebnisse in der Anwendung eindeutig behandeln.
Prüfpunkte
- Die Umsetzung berücksichtigt binäre Schlüssel und Werte und ist reproduzierbar dokumentiert.
- Das Verhalten von Get, Set und Clear ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
3. Transaktionen und Retry-Logik in Python
Kapitelinhaltsverzeichnis
- 3.1 Einordnung und Zielsetzung
- 3.2 Fachthemen
- 3.3 Schritt-für-Schritt-Übung
- 3.4 Prüfpunkte
Einordnung und Zielsetzung
Die Transaktionsschleife wird nach den Konventionen des Python-Bindings aufgebaut. Nebenläufigkeit, Fehlerweitergabe und Ressourcenlebensdauer werden praktisch geprüft.
Fachthemen
- Binding-typischer Retry-Mechanismus
- Futures oder asynchrone Ergebnisse
- Fehler- und Ressourcenbehandlung
Schritt-für-Schritt-Übung: eine produktionsreife Transaktionsfunktion erstellen
- Schritt 1: Datenbank- oder Tenant-Handle und Transaktionsgrenze festlegen.
- Schritt 2: Reads parallel anstoßen, bevor Ergebnisse benötigt werden.
- Schritt 3: Writes und Commit in den Binding-typischen Retry-Mechanismus integrieren.
- Schritt 4: Externe Nebenwirkungen aus dem wiederholbaren Block entfernen.
- Schritt 5: Konflikt, Timeout und unbekanntes Ergebnis mit Tests abdecken.
Prüfpunkte
- Die Umsetzung berücksichtigt Binding-typischer Retry-Mechanismus und ist reproduzierbar dokumentiert.
- Das Verhalten von Futures oder asynchrone Ergebnisse ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
4. Tuple Layer und Repository-Design in Python
Kapitelinhaltsverzeichnis
- 4.1 Einordnung und Zielsetzung
- 4.2 Fachthemen
- 4.3 Schritt-für-Schritt-Übung
- 4.4 Prüfpunkte
Einordnung und Zielsetzung
Das Datenmodell wird hinter klaren Python-APIs gekapselt. Tuple-Kodierung und Subspaces bleiben intern, während fachliche Methoden transaktionale Invarianten ausdrücken.
Fachthemen
- Tuple-Kodierung
- Subspaces
- Repository- und Servicegrenzen
Schritt-für-Schritt-Übung: ein fachliches Repository umsetzen
- Schritt 1: Root- und Entitäts-Subspaces definieren.
- Schritt 2: Pack- und Unpack-Funktionen mit festen Typen kapseln.
- Schritt 3: Repository-Methoden nach fachlichen Operationen statt Einzelzugriffen schneiden.
- Schritt 4: Transaktion oder Datenbankhandle bewusst als Parameter übergeben.
- Schritt 5: Roundtrip-, Range- und Kompatibilitätstests erstellen.
Prüfpunkte
- Die Umsetzung berücksichtigt Tuple-Kodierung und ist reproduzierbar dokumentiert.
- Das Verhalten von Subspaces ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
5. ACID-Semantik, MVCC und Strict Serializability
Kapitelinhaltsverzeichnis
- 5.1 Einordnung und Zielsetzung
- 5.2 Fachthemen
- 5.3 Schritt-für-Schritt-Übung
- 5.4 Prüfpunkte
Einordnung und Zielsetzung
Die Transaktionsgarantien werden mit konkurrierenden Abläufen praktisch überprüft. Dabei wird zwischen Snapshot innerhalb einer Transaktion, Commit-Reihenfolge und dauerhafter Bestätigung unterschieden.
Fachthemen
- Snapshot einer Transaktion
- Optimistische Nebenläufigkeit
- Causal Read und Durability
Schritt-für-Schritt-Übung: Transaktionsgarantien experimentell prüfen
- Schritt 1: Zwei parallele Clients mit kontrollierten Lese- und Schreibfolgen vorbereiten.
- Schritt 2: Identische Read Versions und unterschiedliche Commit-Reihenfolgen beobachten.
- Schritt 3: Einen echten Read-Write-Konflikt und einen konfliktfreien Blind Write erzeugen.
- Schritt 4: Sichtbare Zustände vor und nach erfolgreichem Commit protokollieren.
- Schritt 5: Die beobachteten Abläufe einem seriellen Ergebnis zuordnen.
Prüfpunkte
- Die Umsetzung berücksichtigt Snapshot einer Transaktion und ist reproduzierbar dokumentiert.
- Das Verhalten von optimistische Nebenläufigkeit ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
6. Nebenläufigkeit, Futures und Backpressure in Python
Kapitelinhaltsverzeichnis
- 6.1 Einordnung und Zielsetzung
- 6.2 Fachthemen
- 6.3 Schritt-für-Schritt-Übung
- 6.4 Prüfpunkte
Einordnung und Zielsetzung
Das Clientdesign nutzt Parallelität, ohne interne Netzwerkthreads zu blockieren. Backpressure verhindert, dass große Iterationen oder zu viele Transaktionen Speicher und Cluster überlasten.
Fachthemen
- Parallele Reads
- Client-Threads und Callbacks
- Begrenzung ausstehender Arbeit
Schritt-für-Schritt-Übung: einen begrenzten parallelen Verarbeitungspfad bauen
- Schritt 1: Unabhängige Reads identifizieren und parallel anstoßen.
- Schritt 2: Blockierende Arbeit aus Callback- oder Netzwerkthreads fernhalten.
- Schritt 3: Eine Obergrenze für parallele Transaktionen und ausstehende Futures definieren.
- Schritt 4: Range-Ergebnisse streamen und schrittweise verarbeiten.
- Schritt 5: Latenz, Durchsatz, Fehlerquote und Speichernutzung unter Last messen.
Prüfpunkte
- Die Umsetzung berücksichtigt parallele Reads und ist reproduzierbar dokumentiert.
- Das Verhalten von Client-Threads und Callbacks ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
7. Observability und Fehlerdiagnose für Python-Clients
Kapitelinhaltsverzeichnis
- 7.1 Einordnung und Zielsetzung
- 7.2 Fachthemen
- 7.3 Schritt-für-Schritt-Übung
- 7.4 Prüfpunkte
Einordnung und Zielsetzung
Clientseitige Telemetrie macht Konflikte, Backoff und langsame Bereiche sichtbar. Fachliche Operations-IDs werden mit Transaktions-Tags und Logs korreliert, ohne Schlüssel- oder Nutzdaten offenzulegen.
Fachthemen
- Transaktions-Tags
- Metriken und strukturierte Logs
- Retry- und Latenzverteilung
Schritt-für-Schritt-Übung: Clienttelemetrie instrumentieren
- Schritt 1: Fachliche Operationen und technische Transaktionsversuche getrennt zählen.
- Schritt 2: Latenz, Commit-Erfolg, Retry-Anzahl und Fehlercode messen.
- Schritt 3: Transaktions-Tags mit begrenzter Kardinalität vergeben.
- Schritt 4: Sensible Schlüssel und Werte aus Logs ausschließen.
- Schritt 5: Dashboards und Alarmgrenzen mit einem Lasttest validieren.
Prüfpunkte
- Die Umsetzung berücksichtigt Transaktions-Tags und ist reproduzierbar dokumentiert.
- Das Verhalten von Metriken und strukturierte Logs ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
8. Praxisprojekt und Produktionscheckliste in Python
Kapitelinhaltsverzeichnis
- 8.1 Einordnung und Zielsetzung
- 8.2 Fachthemen
- 8.3 Schritt-für-Schritt-Übung
- 8.4 Prüfpunkte
Einordnung und Zielsetzung
Ein zusammenhängendes Python-Projekt verbindet Datenmodell, Transaktionen, Fehlerbehandlung und Betrieb. Der Abschluss ist eine reviewbare Implementierung mit reproduzierbaren Tests.
Fachthemen
- End-to-End-Anwendungsfall
- Test- und Lastnachweis
- Deployment und Betriebsübergabe
Schritt-für-Schritt-Übung: einen End-to-End-Dienst fertigstellen
- Schritt 1: Fachlichen Anwendungsfall und messbare Invarianten festlegen.
- Schritt 2: Datenmodell, Repository und Serviceoperationen implementieren.
- Schritt 3: Idempotenz, Konkurrenz und Range-Pagination automatisiert testen.
- Schritt 4: Clientkonfiguration, Telemetrie und Deploymentparameter ergänzen.
- Schritt 5: Code, Lastverhalten und Runbook anhand einer Produktionscheckliste reviewen.
Prüfpunkte
- Die Umsetzung berücksichtigt End-to-End-Anwendungsfall und ist reproduzierbar dokumentiert.
- Das Verhalten von Test- und Lastnachweis ist mit einem positiven und einem negativen Testfall geprüft.
- Abbruch-, Rückfall- und Eskalationskriterien sind eindeutig benannt.
Fachbereichsleitung / Trainerleitung / Ansprechpersonen
-

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: | Python-Entwicklung, Data- und Backend-Teams, Automatisierungsentwicklung und technische Architektur |
| Voraussetzungen: | Sichere Python-Kenntnisse, Erfahrung mit Tests, virtuellen Umgebungen und Fehlerbehandlung; Datenbankgrundlagen |
| 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: | Fachvortrag, Demonstrationen, geführte Übungen und Praxisaufgaben am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmenden |
| Sprache: | Deutsch - bei Firmenseminaren auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja |
| 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.
