Transacciones en sistemas de base de datos
description
Transcript of Transacciones en sistemas de base de datos
Transacciones en sistemas de base de datos
Procesamiento de transacciones
Operaciones de negocios sobre datos compartidos
Garantizan consistencia y disponibilidadAcciones complejas como unidadEscalabilidadSeguridad
TransaccionesUna transaccion es una colección de acciones
que transforman el estado de los datos mientras que preservan la consistencia de los mismos
Base de datos en estado consistente
La base de datos puede estar en un estado inconsistente durante la ejecución
Base de datos en estado consistente
Ejecución de la transacciónInicio Fin
Propiedades de las Transacciones
Atomicidad Todo o nada
Consistencia No hay violación de las limitantes de integridad
Aislamiento Cambios concurrenes, indivisibles y serializables
Durabilidad Persistencia de actualizaciones comprometidas
Atomicidad
Todas o ninguna de las operaciones de transacción son efectuadas
La atomicidad necesita en el caso que se interrumpa una transaccion por una falla, los resultados parciales deben ser deshechos.
La actividad de preservar la atomicidad de la transacción en prescencia de abortos debidos a fallas de introducción de datos, sobrecargas del sistema, o fechas expiradas se llama recuperación de transacción
La actividad de asegurar la transacción en fallas del sistema se llama “crash recovery”
Consistencia
Consistencia Interna Una transacción que se ejecuta sola contra una
base de datos consistente, se queda en un estado consistente.
Las transacciones no deben violar las restricciones de integridad de la base de datos.
Las transacciones son programas correctos
AislamientoSerialidad
Si varias transacciones son efectuadas al mismo tiempo, el resultado debe ser igual que si se efectuaran en un orden
Resultados IncompletosUna transacción incompleta no puede revelar sus
resultadosEs necesario evitar los abortos en cascada
Durabilidad
Una vez que se efectúe una transacción, el sistema debe garantizar que no se pierda el resultado pese a fallas del sistema
Recuperación de bases de datos
Caracterización de las TransaccionesÁreas de aplicación
• No distribuidas Vs. distribuidas• Transacciones compensatorias• Transacciones Heterogéneas
Tiempo• On-line (short) vs. Batch (long-file)
Estructura• Transacciones planas• Transacciones anidadas
Organización de leer y escribir acciones• Dos pasos• Restringidas• Modelos de acción
Estructura de las Transacciones
Transacciones Planas Es una secuencia de operaciones primitivas entre las
marcas BEGIN y END
Transacciones Anidadas Las operaciones de las transacciones pueden ser en si
mismas una transacción
Las transacciones proveen..
Ejecucion atómica y confiable en caso de fallas
Correcta ejecución en casos de múltiples accesos
Correcta administración de réplicas (si son soportadas)
Procesando Transacciones
Estructura de Transacciones (llamadas modelos de transacción)
Flat (simple), anidada
Consistencia interna de bases de datos Control semántico de datos, algoritmos
Protocolos de fiabilidad Atomicidad y Durabilidad Protocolos locales de recuperación Global commit protocols
Algoritmos de Control de Concurrencia Cómo sincronizar transacciones simultáneas Intra-transacciones, Aislamiento
Control de protocolos de Réplicas Cómo controlar la mutua consistencia de réplicas Equivalentes de copia y ROWA