Firebird-Transaktionen im Detail
Firebird-Transaktionen im Detail behandelt Multi-Versioning: Isolation, Marker, Commit und Rollback, Garbage Collection, Sweep und die Diagnose von Transaktionsproblemen in Anwendungen.
Lehrplan
- Wie Datensatzversionen erstellt werden
- Transaktionszustände: aktiv, committet, zurückgerollt, limbo
- Sichtbarkeit von Versionen; Read Committed vs. Snapshot
- Trigger bei Transaktionsstart/-ende; transaktionsbezogene Kontextvariablen
- Was beim Transaktionsstart passiert; globale Marker OAT, OST, OIT
- Commit; standardmäßiges Rollback mit Cache-Flush vs. erzwungenes Rollback ohne Flush
- Rollback mit und ohne Undo-Log; retaining Transaktionen
- Temporäre BLOBs; Undo-Log; Auto-Commit
- Speicher für Transaktionen; lokale TIP und damit verbundene Probleme
- Wie Transaktionen interagieren; Konflikte; Vorlagen für Anwendungen
- Szenarien: Leser/Leser, Leser/Schreiber, Schreiber/Schreiber; Best Practices
- Garbage Collection vs. Sweep; Vor- und Nachteile von Autosweep
- Anwendungsfehler, die übermäßigen Müll erzeugen
- Probleme diagnostizieren: OIT/OST/OAT/NEXT-Kombinationen; wenn GC nicht läuft
- Wie viel Müll; lange Transaktionen mit MON$ finden
- Überwachung mit MON$ und Trace API
- Workarounds für Legacy-Anwendungen mit fehlerhafter Transaktionsverwaltung