150 likes | 377 Views
Transacciones en sistemas de base de datos. Procesamiento de transacciones. Operaciones de negocios sobre datos compartidos Garantizan consistencia y disponibilidad Acciones complejas como unidad Escalabilidad Seguridad. Transacciones.
E N D
Procesamiento de transacciones • Operaciones de negocios sobre datos compartidos • Garantizan consistencia y disponibilidad • Acciones complejas como unidad • Escalabilidad • Seguridad
Transacciones • Una transaccion es una colección de acciones que transforman el estado de los datos mientras que preservan la consistencia de los mismos La base de datos puede estar en un estado inconsistente durante la ejecución Base de datos en estado consistente Base de datos en estado consistente Inicio Ejecución de la transacción 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
Aislamiento • Serialidad Si varias transacciones son efectuadas al mismo tiempo, el resultado debe ser igual que si se efectuaran en un orden • Resultados Incompletos Una transacción incompleta no puede revelar sus resultados Es 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