Gestor transaccional

Gestor transaccional

En computación, un gestor transaccional es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones. Cada transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio.

Contenido

Descripción

Los gestores transaccionales se diseñan para mantener bases de datos en un estado conocido y consistente, asegurando que todas las operaciones que son interdependientes realizadas sobre la base de datos se han completado todas correctamente o se han cancelado todas.

Por ejemplo, tómese un ejemplo típico de una transacción bancaria que requiere mover 500€ de la cuenta de un cliente a otra. Esta transacción es una operación única según la visión del banco, pero requiere al menos dos operaciones desde la visión de la computadora: restar 500€ de la cuenta del cliente origen y sumarle 500€ al cliente destino. Si la operación de resta finaliza correctamente pero la operación de suma no (o viceversa), el balance del banco al final del día no será correcto. Por lo tanto, debe haber una forma de asegurar que ambas operaciones finalizan correctamente o incorrectamente y así evitar cualquier tipo de inconsistencia en la base de datos del banco. Un gestor transaccional proporciona esta característica.

Un gestor transaccional permite enlazar varias operaciones individuales automáticamente como una sola transacción indivisible. El gestor garantiza que todas las operaciones finalizan sin errores o ninguna de ellas. Si algunas operaciones finalizaron correctamente pero otras no, el gestor inicia el proceso de rollback de todas las operaciones implicadas (incluso de aquellas que finalizaron correctamente), eliminando todo rastro de la transacción y devolviendo la base de datos a un estado consistente como lo estaba antes de empezar a procesar la transacción. Si todas las operaciones de la transacción finalizaron correctamente, la transacción realiza commit a los cambios realizados en la base de datos. Una vez se ha hecho commit, los datos de esa transacción queda consolidados y la transacción no puede hacer rollback de los cambios.

Todas las transacciones se procesan en orden cronológico. Si la transacción n+1 modifica la misma área que la transacción n, la transacción n+1 no puede empezar hasta que la transacción n haya realizado commit de sus cambios. Ninguna transacción puede realizar commit de sus modificaciones hasta que todas las transacciones anteriores que modifiquen la misma área hayan realizado commit (o rollback) de sus cambios. No puede haber «saltos» de secuencia en la transacciones anteriores.

Metodología

Los principios básicos de cualquier sistema transaccional son los mismo. Sin embargo, la terminología puede variar de un sistema a otro, los términos utilizados aquí no tienen porque ser universales.

Rollback

Los gestores transaccionales aseguran la integridad de las bases de datos registrando todos los estados intermedios de una base de datos mientras se modifica. En caso de que la transacción falle, se usan esos registros para devolver la base de datos a un estado consistente. Por ejemplo, se copia información de la base de datos antes de que sea modificada por una transacción, de tal manera que si parte de la transacción acaba incorrectamente, se usan esas copias (llamadas before image) para restablecer la integridad de los datos (rollback).

Rollforward

También es posible mantener un copia (llamada after image) de todas aquellas modificaciones realizadas sobre una base de datos. No es necesario para hacer rollback de las transacciones que finalizaron incorrectamente, pero sí es útil para actualizar la base de datos en un escenario de una recuperación.

Si la base de datos falla estrepitosamente, la restauración se debe iniciar desde la copia de seguridad más reciente, aunque no reflejará aquellos cambios posteriores a la copia. Sin embargo, una vez se ha restablecido la copia de seguridad se aplica la copia after image que contendrá todas las modificaciones entre la copia de seguridad y el fallo de la base de datos. Desgraciadamente, esta copia también contiene todas aquellas modificaciones que estaban en vuelo en el momento del fallo. Por ello, es necesario aplicar la copia before image que hará rollback de las transacciones con un estado intermedio, devolviendo la base de datos a un estado seguro y consistente.

Bloqueos mutuos

En algunos casos, dos transacciones pueden en el transcurso de su ejecución, competir por dos recursos al mismo tiempo de tal manera que impide seguir con su ejecución. Un bloqueo mutuo (o interbloqueo, deadlock en inglés) ocurre, por ejemplo, cuando la transacción A intenta acceder al área X de la base de datos mientras la transacción B intenta acceder al área Y de la base de datos. Si, en algún punto intermedio, la transacción A intenta acceder al área Y mientras al mismo tiempo la transacción B intenta acceder al área X se genera un bloqueo mutuo que impide a ambas transacciones progresar. Los sistemas transacciones están diseñados para detectar este tipo de bloqueos cuando ocurren y actuar en concordancia. O bien ambas transacciones son canceladas y el sistema hace rollback de todos los cambios para luego volver a ejecutarlas automáticamente en diferente orden de tal forma que no se vuelva a formar otro bloqueo mutuo, o bien cancelar y hacer rollback de una de ellas y volverla a lanzar después de una pequeña espera.


Wikimedia foundation. 2010.

Игры ⚽ Поможем написать реферат

Mira otros diccionarios:

  • Gestor — puede hacer referencia a: Gestor de ventanas: Es un programa informático que controla la ubicación y apariencia de las ventanas bajo un sistema. Gestor de descargas: Es un programa diseñado para descargar ficheros de Internet, ayudado de… …   Wikipedia Español

  • IMS (IBM) — Para otros usos de este término, véase IMS (IBM) (desambiguación). IBM Information Management System (IMS) es un gestor de bases de datos jerárquicas y un gestor transaccional con alta capacidad de proceso. IBM diseñó el IMS con Rockwell y… …   Wikipedia Español

  • OLTP — es la sigla en inglés de Procesamiento de Transacciones En Línea (OnLine Transaction Processing) es un tipo de sistemas que facilitan y administran aplicaciones transaccionales, usualmente para entrada de datos y recuperación y procesamiento de… …   Wikipedia Español

  • Sistema de procesamiento de transacciones — Un sistema de procesamiento de transacciones (TPS por sus siglas en inglés) es un tipo de sistema de información. Un TPS recolecta, almacena, modifica y recupera toda la información generada por las transacciones producidas en una organización.… …   Wikipedia Español

  • CICS — Saltar a navegación, búsqueda CICS, acrónimo en inglés de Customer Information Control System (en español, Sistema de control de información de clientes), es un gestor transaccional, o monitor de teleproceso, que se ejecuta principalmente en… …   Wikipedia Español

  • Transacción (informática) — Se ha sugerido que este artículo o sección sea fusionado con Transacción (base de datos) (discusión). Una vez que hayas realizado la fusión de artículos, pide la fusión de historiales aquí. Una transacción es una interacción con una estructura de …   Wikipedia Español

  • Recuperador Crediticio — Saltar a navegación, búsqueda El Recuperador Crediticio es un profesional que se dedica al recupero de créditos de toda índole. Su perfil profesional se define como analista, clasificador y calificador de deudas mediante la aplicación de… …   Wikipedia Español

  • ZFS (sistema de archivos) — ZFS Desarrollador(a) Sun Microsystems Nombre completo ZFS Introducido November 2005 (OpenSolaris) Identificador de la partición Estructuras Contenido del direct …   Wikipedia Español

  • X/Open XA — En computación, el estándar XA es una especificación X/Open para el Procesamiento de transacciones distribuidas (DTP). Describe la interfaz entre el Gestor de transacciones global y el Gestor de recursos local. La especificación XA describe que… …   Wikipedia Español

  • MySQL Cluster — MySQL clúster es una tecnología que permite el clustering de bases de datos en memoria en un ambiente de no compartición. La arquitectura de no compartición permite que el sistema gestor de base de datos (SGBD) funcione utilizando hardware no muy …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”