Szczegóły transakcji Firebird
Transakcje Firebird w szczegółach dotyczy multiwersyjności: izolacji, znaczników, zatwierdzania i wycofywania, zbierania śmieci, przemiału oraz diagnozowania problemów z transakcjami w aplikacjach.
Program kursu
- Jak tworzone są wersje rekordów
- Stany transakcji: aktywna, zatwierdzona, wycofana, limbo
- Widoczność wersji; Read Committed vs Snapshot
- Wyzwalacze na start/stop transakcji; zmienne kontekstowe na poziomie transakcji
- Co się dzieje na początku transakcji; globalne znaczniki OAT, OST, OIT
- Zatwierdzanie; standardowe wycofanie z opróżnieniem pamięci podręcznej vs wymuszone wycofanie bez opróżniania
- Wycofanie z dziennikiem cofania i bez; transakcje retaining
- Tymczasowe BLOB-y; dziennik cofania; auto-commit
- Pamięć dla transakcji; lokalny TIP i powiązane problemy
- Jak transakcje oddziałują na siebie; konflikty; szablony dla aplikacji
- Scenariusze: czytający/czytający, czytający/piszący, piszący/piszący; najlepsze praktyki
- Zbieranie śmieci vs przemiał; zalety i wady autosweep
- Błędy aplikacji powodujące nadmierną ilość śmieci
- Diagnozowanie problemów: kombinacje OIT/OST/OAT/NEXT; kiedy GC nie działa
- Ile jest śmieci; znajdowanie długich transakcji za pomocą MON$
- Monitorowanie za pomocą MON$ i Trace API
- Obejścia dla starszych aplikacji z uszkodzoną obsługą transakcji