1 / 27

Fundamentos de Bancos de datos

Carmen R. Cintrón-Ferrer , 2008, Derechos Reservados. Fundamentos de Bancos de datos. Módulo VIII. Optimización y Control de concurrencia. Manejo de Transacciones. Acción por transacción: Examinar: Seleccionar Ordenar y Presentar Actualizar o Editar Eliminar Tipo de Transacción::

winda
Download Presentation

Fundamentos de Bancos de datos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Carmen R. Cintrón-Ferrer, 2008, DerechosReservados Fundamentos de Bancos de datos

  2. MóduloVIII Optimización y Control de concurrencia Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

  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 Reservados

  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 Reservados

  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 Reservados

  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 Reservados

  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 Reservados

  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 Reservados

  9. Bitácora de transacciones • Begin / Set Transaction • Operations: • Update’s • Insert’s • Delete’s • 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 Reservados

  10. Módulo VII Control de concurrencia Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

  11. Control de concurrenciaProblemas • 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 Reservados

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

  13. Control de concurrenciaCierre (Locks) • 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 Reservados

  14. Control de concurrenciaCierre (Locks) • 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 Reservados

  15. Control de concurrenciaCierre (Locks) - Serialización • 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 Reservados

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

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

  18. Control de concurrenciaCronometraje(Time Stamping) • 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 Reservados

  19. Módulo VII Ejecución del DB Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

  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 Reservados

  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 Reservados

  22. Transaction RecoveryTé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 Reservados

  23. Módulo VII Optimización del DB Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

  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 Reservados

  25. Databases Distribuidos Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

  26. Data Warehouse Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

  27. 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 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. Carmen R. Cintrón Ferrer, 2008, Derechos Reservados

More Related