Детаљи о Firebird трансакцијама
Firebird транзакције у детаљима говори о мултиверзионисању: изолацији, маркерима, комиту и ролбаку, сакупљању смећа, sweep-у, и како дијагностиковати проблеме са транзакцијама у апликацијама.
Програм
- Како се креирају верзије записа
- Стања транзакција: активна, комитована, ролбакована, limbo
- Видљивост верзија; Read Committed vs Snapshot
- Окидачи на почетку/крају транзакције; контекстне променљиве на нивоу транзакције
- Шта се дешава при покретању транзакције; глобални маркери OAT, OST, OIT
- Комит; стандардни ролбак са пражњењем кеша vs принудни ролбак без пражњења
- Ролбак са и без undo-лога; задржавајуће транзакције
- Привремени BLOB-ови; undo-лог; ауто-комит
- Меморија за транзакције; локални TIP и повезани проблеми
- Како транзакције интерагују; конфликти; шаблони за апликације
- Сценарији: читачи/читачи, читачи/писци, писци/писци; најбоље праксе
- Сакупљање смећа vs sweep; предности и мане autosweep-а
- Грешке у апликацијама које стварају прекомерно смеће
- Дијагностиковање проблема: OIT/OST/OAT/NEXT комбинације; када се GC не покреће
- Колико смећа има; проналажење дугих транзакција помоћу MON$
- Праћење помоћу MON$ и Trace API-ја
- Решења за старије апликације са поквареним управљањем транзакцијама