Gestion De Transacciones

Páginas: 12 (2995 palabras) Publicado: 3 de marzo de 2013
Gestión de transacciones
Dr. José Luis Zechinelli Martini joseluis.zechinelli@udlap.mx IS - 580
Equipo Tecnologías de Bases de Datos Tecnologí CENTIA - VIPE

Introducción (1)
Sistemas mono-usuario vs. multi-usuarios: sistemas de reservaciones, de bancos, de tarjetas de crédito, de supermercados. Concepto de transacción:
Mecanismo para describir unidades lógicas de procesamiento.Representación lógica de un proceso que debe ser ejecutado por completo para asegurar la coherencia de la información.

Sistemas de procesamiento de transacciones: sistemas con grandes bases de datos y cientos de usuarios concurrentes.

1

Introducción (2)
Una transacción es una unidad lógica de procesamiento en la BD. Formada por una o varias operaciones (inserción, borrado, modificación,recuperación).
Expresada usando un lenguaje de consultas de alto nivel (SQL). Especificada dentro de un programa de aplicación:
Varias transacciones. begin transaction - end transaction.

Realizada sin hacer modificaciones (read-only transaction).

Modelo simplificado (1)
Una BD es una colección de datos nombrados: items. El tamaño de un item define su granularidad: atributo, registro, archivo, disco.Las operaciones que una transacción puede incluir son:
read_item(X): leer un item. write_item(X): escribir un item.

2

Modelo simplificado (2)
Pasos para ejecutar read_item(X):
Encontrar la dirección del bloque en disco que contiene el item X. Copiar el bloque en un buffer en memoria (si no está). Copiar el item X del buffer a la variable del programa.

Pasos para ejecutarwrite_item(X):
Encontrar la dirección del bloque en disco que contiene el item X. Copiar el bloque en un buffer en memoria. Copiar el item X de la variable del programa al buffer. Almacenar el bloque actualizado en disco (inmediato o diferido).

El almacenamiento en disco depende del administrador de recuperaciones y del sistema operativo.

Ejemplos de transacciones
T1: transferencia
read_item(X); X :=X – N; write_item(X); read_item(Y); Y := Y + N; write_item(Y);

T2: depósito
read_item(X); X := X + M; write_item(X);

Mecanismos de control de la concurrencia y recuperación concernidos

3

Control de la concurrencia
Perdida de actualizaciones: acceso concurrente del mismo item provocando que su valor al final de la ejecución quede incoherente. Lectura sucia: actualización de un itempor una transacción que falla leído por otra antes de restablecer su valor original. Resumen incoherente: acceso concurrente de un conjunto de items donde una transacción actualiza todos sus valores y la otra opera tomando la mitad actualizados y la otra mitad no.

Perdida de actualizaciones
T1
read_item(X); X := X – N; read_item(X); X := X + M; write_item(X); read_item(Y); write_item(X); Y :=Y + N; write_item(Y);

T2

Item X tiene un valor incoherente porque la actualización de T1 se perdió

4

Lectura sucia
T1
read_item(X); X := X – N; write_item(X); read_item(X); X := X + M;

T2

T1 falla y debe restaurar el valor de X T2 leyó un valor incorrecto de X

write_item(X); read_item(Y);

Resumen incoherente
T1 T3
sum := 0; read_item(A); sum := sum + A; . . .read_item(X); X := X – N; write_item(X); read_item(X); sum := sum + X; read_item(Y); sum := sum + Y; read_item(Y); Y := Y + N; write_item(Y);

T3 lee X después de ser actualizada y lee Y antes de ser actualizada

5

Recuperación
Evitar tener items en la base de datos afectados por transacciones que fallaron (transacciones incompletas). Tipos de fallas:
Falla de hardware, de software o de red.Error sistema (integer overflow, division by 0 o lógicos). Errores locales o excepciones (data not found). Salida forzada por el controlador de la concurrencia (serializability, deadlock). Fallas de disco (descomposturas físicas de sectores o disco). Problemas físicos y catástrofes (power, fire, sabotaje, etc.).

Plan
Introducción a la gestión de transacciones Conceptos de transacciones...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • La transaccion
  • Transacciones
  • Transacciones
  • transacciones
  • LAS TRANSACCIONES
  • Transacciones
  • Transacciones
  • Transaccion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS