Propiedades de las transacciones base de datos


Atomicidad


Una Transacción es una unidad de trabajo indivisible; la Totalidad de sus acciones son un éxito un fracaso («todo o nada»).

Consistencia

Después de ejecuta una Transacción debe dejar al sistema en estado correcto o Debe abortarlo. Si la Transacción no puede alcanzar un estado final debe Regresar al sistema a su estado original.

Aislamiento

El comportamiento De una Transacción no se ve afectado por el hecho de

que otras Transacciones Puedan estar ejecutándose de manera concurrente; dicho de otra manera, una Transacción no puede revelar sus resultados a otras Transacciones concurrentes Antes de su commit. La Transacción debe serializar todos los accesos a recursos Compartidos y garantizar que ningún programa concurrente interferirá con sus Operaciones respectivas.

Durabilidad


Los efectos de una Transacción son permanentes después de Su grabación. Sus cambios deben sobrevivir a fallas del sistema. (Persistencia).

BITÁCORA

La operación ROLLBACKesta basada en el uso de Una ?Bitácora?. El DBMS (Sistema Manejador de Bases de Datos) mantiene una bitácora o diario en cinta o en disco (mas comúnmente), en el cual se registran Los detalles de todas las operaciones de actualización, en particular, los Valores inicial y final del objeto modificado. Por tanto, si resulta necesario Anular alguna modificación específica, el sistema puede utilizar la entrada Correspondientede la bitácora para restaurar el valor original del objeto Restaurado.

PUNTO DE Sincronización

Las operaciones COMMIT y ROLLBACK Establecen lo que se le conoce como punto de sincronización lo cual representa El límite entre dos transacciones consecutivas, o el final de una unidad lógica De trabajo, y por tanto al punto en el cual la base de datos esta (o debería Estar) en un estado de consistencia.
Las únicas operaciones que establecen un Punto de sincronización son COMMIT, ROLLBACK y el inicio de una programa. Cuando se establece un punto de sincronización:

Se comprometen o anulan todas las modificaciones Realizadas por el programa desde el punto de sincronización anterior. Se pierde Todo posible posicionamiento en la base de datos. Se liberan todos los Registros bloqueados.

Es importante advertir que COMMIT y ROLLBACK terminan las transacción, no el programa.

TIPOS DE TRANSACCIONES

Transacciones simples distribuidas. Una T simple puede Correr en sitios múltiples y actualizar recursos localizados dentro de Administradores de recursos múltiples. Transacciones encadenadas (syncpoint, Encadenadas y sagas). Un syncpoint es un punto de sincronización que permite el Guardado periódico del trabajo acumulado dentro de una transacción, permitiendo De esta forma dar marcha atrás al trabajo sin, abortar la transacción. Sin Embargo este trabajo no es almacenado permanentemente, por lo que si el sistema Se colapsa el trabajo se pierde. Las transacciones encadenadas son una Variación de los syncpoint que convierten en durable el trabajo acumulado. Las Sagas extienden las transacciones encadenadas a fin de dar marcha atrás a una Cadena entera si es necesario.

Transacciones anidadas. Ofrecen la posibilidad de definir Transacciones dentro de otras transacciones. Cada subtransacción puede emitir Una grabación o retroceso para las piezas de trabajo asignadas.

Transacciones simples. Todas las operaciones se llevan Acabo en el mismo nivel dentro de una T La Transacción empieza con un Begin_transaction y termina ya sea con un commit_transaction o Abort_transaction. Toda la transacción es indivisible. En un principio las Transacciones simples fueron suficientes por su sencillez y por su adaptación a Operaciones bancarias breves. Actualmente las Transacciones han incursionado en Todas las facetas de la computación pero no han resultado lo más adecuado, ya Que tienen un comportamiento:

Frágil


En transacciones de Negocios que se extienden por períodos largos.

Débil


En procesamiento por lotes.

Nulo


Situaciones que requieren Dar marcha atrás

Una Transacción simple no dura más de dos o tres Segundo para evitar monopolizar recursos críticos del sistema como candados Sobre la base de datos. Así que los programas OLTP se dividen en transacciones Breves ejecutadas una tras otra para producir resultados.

MONITORES TP (Transaction Processing)


Un Monitor de TP es un sistema operativo de procesamiento de transacciones que Tiene como funciones principales:

Administración de procesos:


Poner en marcha los procesos del servidor Canalizar el Trabajo en dirección a ellos Vigilar su correcta ejecución Equilibrar cargas de Trabajo

Administrador de Transacciones

Garantiza las propiedades ACID para todo los programas Bajo su protección.

Los monitores se especializan en la administración de Transacciones desde su punto de origen (por lo general en el cliente), ya Través de uno o más servidores, para luego volver al cliente originario. Cuando Una T llega a su fin, el monitor de TP debe cerciorarse de que todos los Sistemas involucrados en ella queden en estado consistente. De esta forma un Monitor de TP sabe como correr T, enrutarlas entre diferentes sistemas, Equilibrar las cargas de ejecución y ponerlas nuevamente en marcha después de Una falla. Todo esto sin importar los sistemas, ni los administradores de Recursos. Surgen de la necesidad de correr aplicaciones capaces de atender a Cientos o miles de clientes, ya que los monitores permiten conectar en tiempo Real a miles de clientes que esperan un servicio, sin necesidad de consumir Tantos recursos. Ejemplo: si un cliente necesita para ser atendido de los Siguientes recursos: 1 proceso, 1 conexión, ½Mb de RAM y una docena de archivos Abiertos. Cuando un cliente solicita un servicio, el monitor TP la destina aun Proceso, el cual se enlaza con la función DLL llamada por el cliente, la Invoca, supervisa su ejecución y regresa los resultados al cliente. Una vez Concluido el trabajo el proceso servidor regresa los resultados y el proceso Puede ser reutilizado por otro cliente. El SO conserva en memoria las DLL para Que puedan ser compartidas por otros procesos.

Si el número de solicitudes de clientes recibidas excede El número de procesos en el servidor, el monitor puede iniciar dinámicamente Otros nuevos (equilibrio de cargas). Parte del equilibrio de cargas es la Administración de prioridades en las solicitudes recibidas, de esta forma Solicitudes con prioridad alta se asignan a clases de servidor de alta Prioridad. También el monitor de TP puede dividir sus clases de acuerdo al tipo De aplicación, tiempo de respuesta deseado, recursos que administran, Requerimientos de tolerancia a fallas, etc. A un monitor de TP lo podemos ver Como una arquitectura cliente / servidor compuesta de tres planos: una interfaz Gráfica GUI, la lógica de aplicación y los administradores de recursos. 

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *