Transações Firebird em detalhes
Transações Firebird em detalhes é sobre versionamento múltiplo: isolamento, marcadores, commit e rollback, coleta de lixo, sweep e como diagnosticar problemas de transação em aplicações.
Conteúdo programático
- Como as versões de registros são criadas
- Estados de transação: ativa, confirmada, revertida, limbo
- Visibilidade das versões; Read Committed vs Snapshot
- Gatilhos no início/fim da transação; variáveis de contexto no nível da transação
- O que acontece no início da transação; marcadores globais OAT, OST, OIT
- Commit; rollback padrão com liberação de cache vs rollback forçado sem liberação
- Rollback com e sem undo-log; transações retidas (retaining)
- BLOBs temporários; undo-log; auto-commit
- Memória para transações; TIP local e problemas relacionados
- Como as transações interagem; conflitos; modelos para aplicações
- Cenários: leitores/leitores, leitores/escritores, escritores/escritores; melhores práticas
- Coleta de lixo vs sweep; prós e contras do autosweep
- Erros de aplicação que geram lixo excessivo
- Diagnosticando problemas: combinações OIT/OST/OAT/NEXT; quando o GC não executa
- Quanto lixo existe; encontrando transações longas com MON$
- Monitoramento com MON$ e Trace API
- Soluções alternativas para aplicações legadas com tratamento de transações incorreto