La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Carmen R. Cintrón-Ferrer, 2008, Derechos Reservados.

Presentaciones similares


Presentación del tema: "Carmen R. Cintrón-Ferrer, 2008, Derechos Reservados."— Transcripción de la presentación:

1 Carmen R. Cintrón-Ferrer, 2008, Derechos Reservados

2 Carmen R. Cintrón Ferrer, 2008, Derechos Reservados2 Módulo VIII

3 Manejo de Transacciones Acción por transacción: Examinar: Seleccionar Ordenar y Presentar Actualizar o Editar Eliminar Tipo de Transacción:: Simple Compuesta Carmen R. Cintrón Ferrer, 2008, Derechos Reservados3

4 Transacciones compuestas Integridad y consistencia del DB: Ejecutar secuencia Verificar terminación exitosa serie Comprometer cambios (Commit) Ejemplos: Venta a crédito Recibo de inventario Cierre de cuenta de un cliente Carmen R. Cintrón Ferrer, 2008, Derechos Reservados4

5 Venta a crédito Crear factura de venta: INSERT INTO INVOICE INSERT INTO INVOICE DETAIL (Loop por cada item vendido) Actualizar inventario: UPDATE INVENTORY (Reducir inventario) Actualizar transacciones de ventas: UPDATE SALES Actualizar Balance Cliente UPDATE CUST_BALANCE Comprometer transacciones de la secuencia COMMIT Carmen R. Cintrón Ferrer, 2008, Derechos Reservados5

6 Recibo de inventario Registrar mercancía recibida: UPDATE INVENTORY (Loop por ítem) Actualizar transacciones de compras: Cotejar si se recibió toda la mercancía ordenada: UPDATE PO (marcar completo o dejar abierto) Actualizar Cuentas a Pagar: Seleccionar Proveedor Marcar Factura – PO para pago Generar transacción de pago INSERT AP Comprometer transacciones de la secuencia COMMIT Carmen R. Cintrón Ferrer, 2008, Derechos Reservados6

7 Cierre de cuenta de cliente Identificar cliente: SEL AR Determinar transacciones en trámite: SEL INVOICE (Loop) Calcular Balance Adeudado: SEL CUST_BALANCE Cerrar cuenta: Si CUST_BALANCE = 0, UPDATE CUSTOMER Si CUST_BALANCE ne 0, UPDATE CUSTOMER Comprometer transacciones de la secuencia COMMIT Carmen R. Cintrón Ferrer, 2008, Derechos Reservados7

8 Propiedades de las transacciones Atomicidad – Todas las operaciones de la transacción se completan con éxito Consistencia – El DB se mantiene consistente luego de cada transacción Aislación – los datos asociados a una transacción sólo pueden ser utilizados por la transacción hasta que concluye Durabilidad – Al completar la transacción (Commited) los cambios no se pierden Serialización – La secuencia de ejecución de transacciones concurrentes genera siempre el mismo resultado Carmen R. Cintrón Ferrer, 2008, Derechos Reservados8

9 Bitácora de transacciones Begin / Set Transaction Operations: Updates Inserts Deletes Commit Secuencia: IDtrans #trans Previo Siguiente Operador Relación Tuplo Atributo Valor inicial Valor final Fecha Hora Usuario Carmen R. Cintrón Ferrer, 2008, Derechos Reservados9

10 Módulo VII Carmen R. Cintrón Ferrer, 2008, Derechos Reservados10

11 Control de concurrencia Problemas Pérdida de actualizaciones – una transcción sobre escribe la(s) otra(s) Datos perdidos – Una transacción fue anulada (rollbacked) por error Búsquedas inconsistentes – Cuando se recuperan datos antes de haberse completado una transacción exitosa (Committed) Scheduler: Transacciones de READ Transacciones de READ/WRITE Transacciones de WRITE/READ Transacciones de WRITE/WRITE Carmen R. Cintrón Ferrer, 2008, Derechos Reservados11

12 Ejemplo Carmen R. Cintrón Ferrer, 2008, Derechos Reservados12

13 Lock – Garantiza el acceso exclusivo de los ítems de datos requeridos para completar una transacción Granularidad – Nivel de cierre: Data Base Tabla Página Tuplo /Fila Atributo Carmen R. Cintrón Ferrer, 2008, Derechos Reservados13 Control de concurrencia Cierre (Locks)

14 Tipo de Cierre (Lock): Binario: Cerrado Sin cerrar Exclusivo: Congela acceso hasta concluir ciclo Mutuamente excluyente – sólo a una transacción a la vez se le puede conceder un cierre exclusivo Carmen R. Cintrón Ferrer, 2008, Derechos Reservados14 Control de concurrencia Cierre (Locks)

15 Tipo de Transacciones de cierre: READ LOCK WRITE LOCK UNLOCK Serialización de los Locks: Secuencia – Aumenta – Disminuye Protocolo: Dos transacciones no pueden tener Locks en conflicto Unlock no puede preceder un Lock Datos sólo se pueden modificar cuando se tienen todos los Locks requeridos Carmen R. Cintrón Ferrer, 2008, Derechos Reservados15 Control de concurrencia Cierre (Locks) - Serialización

16 Definición Técnicas: Prevención Detección Evitarlo ¿Cuál emplear? Solución: Rollback Rollforward Carmen R. Cintrón Ferrer, 2008, Derechos Reservados16 Control de concurrencia Deadlock

17 Ejemplo Carmen R. Cintrón Ferrer, 2008, Derechos Reservados17

18 Asignar un valor único a cada transacción Provee secuencia natural procesamiento Propiedades del cronometraje: Uniqueness – valor único Monotonicity – valor incremental Operacionalización: Asigna el mismo valor a la secuencia transaccional Ante conflictos: Una transacción se detiene Rollback Reasigna valor de cronometraje Mecánica: Wait/die o Wound/Wait Carmen R. Cintrón Ferrer, 2008, Derechos Reservados18 Control de concurrencia Cronometraje ( Time Stamping)

19 Módulo VII Carmen R. Cintrón Ferrer, 2008, Derechos Reservados19

20 Database Recovery Restauración del DB – Transacciones incompletas son abortadas Transacciones completas son exitosas Eventos: Fallos HW/SW Error humano Desastres Asegurar la integridad y consistencia DB Carmen R. Cintrón Ferrer, 2008, Derechos Reservados20

21 Transaction Recovery Bitácoras: Write-ahead Log – mantiene un before image Redundant transaction Log – diversas copias de las bitácoras de transacciones evitan pérdidas debido a problemas con los discos Buffers – propicia mayor agilidad en la ejecución al procesar transacciones en RAM CheckPoints – Facilita sincronizar las bitácoras con las actualizaciones físicas al DB Carmen R. Cintrón Ferrer, 2008, Derechos Reservados21

22 Transaction Recovery Técnicas Write through: Actualiza inmediatamente el DB aunque la transacción esté uncommitted Recuperación: Identificar el último CheckPoint en el Log: Mantiene transacciones completadas (commited) Rehace transacciones pendientes actualizando cambios sobre la base de valor actualizado en el Log Secuencia de mayor (edad) a menor Deshace transacciones incompletas (rollbacked- uncommitted) utilizando el valor previo Carmen R. Cintrón Ferrer, 2008, Derechos Reservados22

23 Módulo VII Carmen R. Cintrón Ferrer, 2008, Derechos Reservados23

24 Optimización Ajustar ejecución - performance tuning: SQL Queries: Parsing, Execution & Fetching DBMS Optimization Optimizer: Rule Based Cost Based Cache:Data/SQL/Sort RAID structuring Estadísticas: Ejecución queries Estructura tablas/archivos Indización Recursos Carmen R. Cintrón Ferrer, 2008, Derechos Reservados24

25 Carmen R. Cintrón Ferrer, 2008, Derechos Reservados25

26 Carmen R. Cintrón Ferrer, 2008, Derechos Reservados26

27 Carmen R. Cintrón Ferrer, 2008, Derechos Reservados27 Referencias Database Processing: Fundamentals, Design and Implementation, Kroenke, Prentice Hall,NN (Latest edition) Database Systems: Design, Implementation and Management, Rob & Coronel, Thompson, Boston (Latest edition) Database in Depth, Relational Theory for Practitioners, C.J. Date, 2005, OReilly, Sebastopol, CA, Safari Books OnlineSafari Books Online Bases de Datos: Desde Chen hasta Codd, Luque, Gómez- Nieto, López y Cerruela, 2002, Alfaomega – RA-MA, Madrid, España An Introduction to Database Systems, C.J. Date, 2000, Addison Wesley, Mass.


Descargar ppt "Carmen R. Cintrón-Ferrer, 2008, Derechos Reservados."

Presentaciones similares


Anuncios Google