Transacciones de Firebird en detalle
Transacciones Firebird en detalle trata sobre el versionado múltiple: aislamiento, marcadores, confirmación y reversión, recolección de basura, barrido, y cómo diagnosticar problemas de transacciones en aplicaciones.
Temario
- Cómo se crean las versiones de registros
- Estados de transacción: activa, confirmada, revertida, en limbo
- Visibilidad de versiones; Read Committed vs Snapshot
- Disparadores al inicio/fin de transacción; variables de contexto a nivel de transacción
- Qué sucede al inicio de la transacción; marcadores globales OAT, OST, OIT
- Confirmación; reversión estándar con vaciado de caché vs reversión forzada sin vaciado
- Reversión con y sin registro de deshacer; transacciones retenidas
- BLOBs temporales; registro de deshacer; auto-confirmación
- Memoria para transacciones; TIP local y problemas relacionados
- Cómo interactúan las transacciones; conflictos; plantillas para aplicaciones
- Escenarios: lectores/lectores, lectores/escritores, escritores/escritores; mejores prácticas
- Recolección de basura vs barrido; pros y contras del barrido automático
- Errores de aplicación que generan basura excesiva
- Diagnóstico de problemas: combinaciones OIT/OST/OAT/NEXT; cuando GC no se ejecuta
- Cuánta basura; encontrar transacciones largas con MON$
- Monitoreo con MON$ y Trace API
- Soluciones para aplicaciones heredadas con manejo de transacciones defectuoso