You are on page 1of 4

Sistemas de bases de datos distribuidas.

Procesamiento de operaciones de actualizacin distribuidas.


Transaccin
Una transaccin es una unidad lgica de trabajo, la cual no necesariamente consta de una
sola operacin en la base de datos; ms bien, es en general una secuencia de varias de esas
operaciones mediante la cual un estado consistente de la base de datos se transforma en otro
estado consistente, sin conservar por fuerza la consistencia en todos los puntos intermedios. El
punto importante aqu es asegurar que la base de datos regresa a un estado consistente al fin
de la ejecucin de una transaccin. Una transaccin es tambin la invocacin a un
procedimiento remoto (RPC) que ejecuta un conjunto de operaciones sobre una base de datos
bajo el principio de todo o nada.
El concepto fundamental aqu es la nocin de "ejecucin consistente" o "procesamiento
confiable" asociada con el concepto de una consulta. El concepto transaccin es usado dentro
del dominio de la base de datos como una unidad bsica de cmputo consistente y confiable.
Mecanismos de recuperacin
A fin de soportar una respuesta favorable para la ejecucin de transacciones, el DBMS
(Sistema Manejador de Bases de Datos) deber de manejar el procesamiento de transacciones.
Esto es, deber de garantizar que si la transaccin ejecuta algunas modificaciones y despus
se presenta una falla (por cualquier razn), antes de que llegue al termino normal de la
transaccin, se anularn esas modificaciones. As, o bien se lleva a cabo la transaccin en su
totalidad, o se cancela en su totalidad. De esta manera puede lograrse que una secuencia de
operaciones, la cual en esencia no es atmica, aparente serlo desde un punto de vista externo.
El componente del sistema encargado de lograr esta apariencia de atomicidad se conoce como
Manejador de transacciones, y las operaciones de COMMIT (comprometer) y ROLLBACK
(retroceder) son la clave de su funcionamiento.
La operacin COMMIT seala el trmino exitoso de la transaccin: le dice al manejador
de transacciones que se ha finalizado con xito una unidad lgica de trabajo, que la base de
datos esta (o debera estar) de nuevo en un estado consistente, y que se pueden hacer
permanentes todas las modificaciones efectuadas por esa unidad de trabajo.
La operacin ROLLBACK, en cambio, seala e trmino no exitoso de la transaccin: le
dice al manejador de transacciones que algo sali mal, que la base de datos podra estar en un
estado inconsistente y que todas las modificaciones efectuadas hasta el momento por la unidad
lgica de trabajo deben retroceder o anularse.
PROPIEDADES ACID (Atomicity, Consistency, Isolation, Durability)
Una transaccin posee cuatro propiedades fundamentales
Atomicidad.
Una Transaccin es una unidad de trabajo indivisible; la totalidad de sus acciones son un
xito un fracaso ("todo o nada").

Consistencia. Despus de ejecuta una Transaccin debe dejar al sistema en estado


correcto o debe abortarlo. Si la Transaccin no puede alcanzar un estado final debe regresar al
sistema a su estado original.
Aislamiento. El comportamiento de una Transaccin no se ve afectado por el hecho de
que otras Transacciones puedan estar ejecutndose de manera concurrente; dicho de otra
manera, una Transaccin no puede revelar sus resultados a otras Transacciones concurrentes
antes de su commit. La Transaccin debe serializar todos los accesos a recursos compartidos
y garantizar que ningn programa concurrente interferir con sus operaciones respectivas.
Durabilidad.
Los efectos de una Transaccin son permanentes despus de su grabacin. Sus cambios
deben sobrevivir a fallas del sistema. (Persistencia).
BITCORA
La operacin ROLLBACKesta basada en el uso de una ?bitacora?. El DBMS (Sistema
Manejador de Bases de Datos) mantiene una bitcora o diario en cinta o en disco (mas
comnmente), en el cual se registran los detalles de todas las operaciones de actualizacin, en
particular, los valores inicial y final del objeto modificado. Por tanto, si resulta necesario anular
alguna modificacin especfica, el sistema puede utilizar la entrada correspondientede la
bitcora para restaurar el valor original del objeto restaurado.
PUNTO DE SINCRONIZACION
Las operaciones COMMIT y ROLLBACK establecen lo que se le conoce como punto de
sincronizacin lo cual representa el lmite entre dos transacciones consecutivas, o el final de
una unidad lgica de trabajo, y por tanto al punto en el cual la base de datos esta (o debera
estar) en un estado de consistencia. Las nicas operaciones que establecen un punto de
sincronizacin son COMMIT, ROLLBACK y el inicio de una programa. Cuando se establece un
punto de sincronizacin:
Se comprometen o anulan todas las modificaciones realizadas por el programa desde el
punto de sincronizacin 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 transaccin, no el
programa.
TIPOS DE TRANSACCIONES
Transacciones simples distribuidas. Una T simple puede correr en sitios mltiples y
actualizar recursos localizados dentro de administradores de recursos mltiples. Transacciones
encadenadas (syncpoint, encadenadas y sagas).
Un syncpoint es un punto de sincronizacin que permite el guardado peridico del trabajo
acumulado dentro de una transaccin, permitiendo de esta forma dar marcha atrs al trabajo
sin, abortar la transaccin. 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 variacin de los syncpoint que convierten en
durable el trabajo acumulado. Las sagas extienden las transacciones encadenadas a fin de dar
marcha atrs a una cadena entera si es necesario.

Transacciones anidadas. Ofrecen la posibilidad de definir transacciones dentro de otras


transacciones. Cada subtransaccin puede emitir una grabacin 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 Transaccin empieza con un begin_transaction y termina ya sea con un
commit_transaction o abort_transaction. Toda la transaccin es indivisible.
En un principio las Transacciones simples fueron suficientes por su sencillez y por su
adaptacin a operaciones bancarias breves. Actualmente las Transacciones han incursionado
en todas las facetas de la computacin pero no han resultado lo ms adecuado, ya que tienen
un comportamiento:
Frgil: En transacciones de negocios que se extienden por perodos largos.
Dbil: En procesamiento por lotes.
Nulo:Situaciones que requieren dar marcha atrs
Una Transaccin simple no dura ms de dos o tres segundo para evitar monopolizar
recursos crticos 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:
Administracin de procesos: Poner en marcha los procesos del servidor Canalizar el
trabajo en direccin a ellos Vigilar su correcta ejecucin Equilibrar cargas de trabajo
Administrador de transacciones: Garantiza las propiedades ACID para todo los
programas bajo su proteccin.
Los monitores se especializan en la administracin de transacciones desde su punto de
origen (por lo general en el cliente), ya travs de uno o ms 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 ejecucin
y ponerlas nuevamente en marcha despus 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 conexin, 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 funcin DLL llamada por el cliente, la invoca, supervisa su ejecucin 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 nmero de solicitudes de clientes recibidas excede el nmero de procesos en el
servidor, el monitor puede iniciar dinmicamente otros nuevos (equilibrio de cargas). Parte del
equilibrio de cargas es la administracin de prioridades en las solicitudes recibidas, de esta
forma solicitudes con prioridad alta se asignan a clases de servidor de alta prioridad. Tambin

el monitor de TP puede dividir sus clases de acuerdo al tipo de aplicacin, 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 grfica GUI, la lgica de aplicacin y los administradores de recursos.
BENEFICIOS DE UN MONITOR TP
Estructura de desarrollo de aplicaciones cliente/servidor. Los monitores TP
proporcionan una estructura preconstruida que ayuda a formar, operar y administrar una
aplicacin cliente/servidor. Permite. construir aplicaciones cliente/servidor robustas y de alto
desempeo.
Muros de proteccin. Implementan muros de proteccin entre aplicaciones y
administradores de recursos, as como entre las mismas aplicaciones.
Alta disponibilidad. Los monitores TP estn diseados para sortear todo tipo de fallas,
permite crear sistemas autoremediables, ya que siempre estn al tanto del estado de los
recursos de cliente / servidor bajo su control, pueden detectar una falla en el momento mismo
que ocurren y decidir si reinicia el proceso fallido o retrocede y conmuta aun proceso en otro
nodo. (arquitecturas sin un slo punto de falla).
Equilibrio de cargas. Los monitores de TP se especializan en la administracin de
procesos y soportan tcnicas de carga tanto estticas como dinmicas; soportan solicitudes con
prioridad y pueden duplicar dinmicamente procesos del servidor en el mismo nodo o en otro
diferente.
Facilidad de ampliacin de funciones. Los monitores TP alientan la creacin de
procedimientos modulares reutilizables. Los monitores slo exportan las funciones y no los
datos, as se podra seguir aadiendo nuevas funciones y permitir que el monitor de TP las
distribuya entre mltiples servidores. De esta forma se podran construir aplicaciones
distribuidas de alta complejidad con slo agregar procedimientos.
Costo reducido del sistema. De acuerdo a estudios, si se usan monitores de TP se
puede ahorrar ms del 30% del costo total del sistema, un 40% en costos de desarrollo y ahorros
en la adquisicin de recursos.
Generalmente, se recomienda usar un monitor de TP si su aplicacin cliente / servidor
tiene ms de 100 clientes, que procesen cinco o ms transacciones por minuto, emplee tres o
ms servidores y/o haga uso de dos o ms BD.

You might also like