Transacciones Distribuidas

Páginas: 12 (2802 palabras) Publicado: 6 de mayo de 2012
CAPITULO 5:

Página 1 de 11

Hasta este momento, las primitivas básicas de acceso que se han considerado son las
consultas (queries). Sin embargo, no se ha discutido qué pasa cuando, por ejemplo, dos
consultas tratan de actualizar el mismo elemento de datos, o si ocurre una falla del
sistema durante la ejecución de una consulta. Dada la naturaleza de una consulta, de
lectura o actualización, aveces no se puede simplemente reactivar la ejecución de una
consulta, puesto que algunos datos pueden haber sido modificados antes la falla. El no
tomar en cuenta esos factores puede conducir a que la información en la base de datos
contenga datos incorrectos.
El concepto fundamental aquí es la noción de "ejecución consistente" o "procesamiento
confiable" asociada con el concepto de una consulta. Elconcepto de una transacción es
usado dentro del dominio de la base de datos como una unidad básica de cómputo
consistente y confiable.
5.1 Definición de una transacción
Una transacción es una colección de acciones que hacen transformaciones consistentes
de los estados de un sistema preservando la consistencia del sistema. Una base de datos
está en un estado consistente si obedece todas lasrestricciones de integridad definidas
sobre ella. Los cambios de estado ocurren debido a actualizaciones, inserciones, y
supresiones de información. Por supuesto, se quiere asegurar que la base de datos nunca
entra en un estado de inconsistencia. Sin embargo, durante la ejecución de una
transacción, la base de datos puede estar temporalmente en un estado inconsistente. El
punto importante aquí esasegurar que la base de datos regresa a un estado consistente
al fin de la ejecución de una transacción (Ver Figura 5.1)
Lo que se persigue con el manejo de transacciones es por un lado tener una
transparencia adecuada de las acciones concurrentes a una base de datos y por otro lado
tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en
una base de datos.

Figura 5.1. Unmodelo de transacción.

mhtml:file://C:\Users\Jorge Carranza\Documents\Cursos ITA\Base de Datos Distribuidas... 22/11/2010

CAPITULO 5:

Página 2 de 11

Ejemplo 5.1. Considere la siguiente consulta en SQL para incrementar el 10%
del presupuesto del proyecto CAD/CAM de la base de datos de ejemplo.
UPDATE J
SET BUDGET = BUDGET*1.1
WHERE JNAME = "CAD/CAM"

Esta consulta puede ser especificada,usando la notación de SQL, como una
transacción otorgándole un nombre:
Begin_transaction ACTUALIZA_PRESUPUESTO
begin
UPDATE J
SET BUDGET = BUDGET*1.1
WHERE JNAME = "CAD/CAM"
end.


Ejemplo 5.2. Considere una agencia de reservaciones para líneas aéreas con las
siguientes relaciones:
FLIGHT( FNO, DATE, SRC, DEST, STSOLD, CAP )
CUST( CNAME, ADDR, BAL )
FC( FNO, DATE, CNAME, SPECIAL )

Una versiónsimplificada de una reservación típica puede ser implementada
mediante la siguiente transacción:
Begin_transaction Reservación
begin
input( flight_no, date, customer_name );
EXEC SQL UPDATE FLIGHT
SET STSOLD = STSOLD + 1
WHERE FNO = flight_no
AND DATE = date

mhtml:file://C:\Users\Jorge Carranza\Documents\Cursos ITA\Base de Datos Distribuidas... 22/11/2010

CAPITULO 5:

Página 3 de 11

EXEC SQL INSERTINTO FC( FNAME, DATE, CNAME, SPECIAL )
VALUES (flight_no, date, customer_name, null )
output("reservación terminada");
end.


Condiciones de terminación de una transacción
Una transacción siempre termina, aun en la presencia de fallas. Si una transacción
termina de manera exitosa se dice que la transacción hace un commit (se usará el
término en inglés cuando no exista un término en español querefleje con brevedad el
sentido del término en inglés). Si la transacción se detiene sin terminar su tarea, se dice
que la transacción aborta. Cuando la transacción es abortada, su ejecución es detenida y
todas sus acciones ejecutadas hasta el momento son deshechas (undone) regresando a la
base de datos al estado antes de su ejecución. A esta operación también se le conoce
como rollback.
Ejemplo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Transacciones distribuidas
  • Sistemas Distribuidos
  • Diseño de transacciones distribuidas
  • La transaccion
  • Transacciones
  • Transacciones
  • transacciones
  • LAS TRANSACCIONES

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS