Fundamentos de Bancos de datos

27
FUNDAMENTOS DE BANCOS DE DATOS Carmen R. Cintrón-Ferrer, 2008, Derechos Reservados

description

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:: - PowerPoint PPT Presentation

Transcript of Fundamentos de Bancos de datos

Page 1: Fundamentos de  Bancos de datos

FUNDAMENTOS DE BANCOS DE DATOS

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

Page 2: Fundamentos de  Bancos de datos

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

Optimización y Control de concurrencia

Módulo VIII

Page 3: Fundamentos de  Bancos de datos

Manejo de Transacciones Acción por transacción:

Examinar:○ Seleccionar○ Ordenar y Presentar

Actualizar o EditarEliminar

Tipo de Transacción::SimpleCompuesta

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

Page 4: Fundamentos de  Bancos de datos

Transacciones compuestas Integridad y consistencia del DB:

Ejecutar secuenciaVerificar terminación exitosa serieComprometer cambios (Commit)

Ejemplos:Venta a créditoRecibo de inventarioCierre de cuenta de un cliente

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

Page 5: Fundamentos de  Bancos de datos

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 5

Page 6: Fundamentos de  Bancos de datos

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 6

Page 7: Fundamentos de  Bancos de datos

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 7

Page 8: Fundamentos de  Bancos de datos

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 8

Page 9: Fundamentos de  Bancos de datos

Bitácora de transacciones Begin / Set Transaction Operations:

Update’sInsert’sDelete’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 9

Page 10: Fundamentos de  Bancos de datos

Control de concurrencia

Módulo VII

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

Page 11: Fundamentos de  Bancos de datos

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 11

Page 12: Fundamentos de  Bancos de datos

Ejemplo

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

Page 13: Fundamentos de  Bancos de datos

Lock – Garantiza el acceso exclusivo de los ítems de datos requeridos para completar una transacción

Granularidad – Nivel de cierre:Data BaseTablaPáginaTuplo /FilaAtributo

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

Control de concurrenciaCierre (Locks)

Page 14: Fundamentos de  Bancos de datos

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 14

Control de concurrenciaCierre (Locks)

Page 15: Fundamentos de  Bancos de datos

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 15

Control de concurrenciaCierre (Locks) - Serialización

Page 16: Fundamentos de  Bancos de datos

Definición Técnicas:

PrevenciónDetecciónEvitarlo

¿Cuál emplear? Solución:

RollbackRollforward

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

Control de concurrenciaDeadlock

Page 17: Fundamentos de  Bancos de datos

Ejemplo

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

Page 18: Fundamentos de  Bancos de datos

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 18

Control de concurrenciaCronometraje (Time Stamping)

Page 19: Fundamentos de  Bancos de datos

Ejecución del DBMódulo VII

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

Page 20: Fundamentos de  Bancos de datos

Database Recovery Restauración del DB –

Transacciones incompletas son abortadasTransacciones completas son exitosas

Eventos:Fallos HW/SWError humanoDesastres

Asegurar la integridad y consistencia DB

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

Page 21: Fundamentos de  Bancos de datos

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 21

Page 22: Fundamentos de  Bancos de datos

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 LogSecuencia de mayor (edad) a menorDeshace transacciones incompletas (rollbacked-

uncommitted) utilizando el valor previo

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

Page 23: Fundamentos de  Bancos de datos

Optimización del DBMódulo VII

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

Page 24: Fundamentos de  Bancos de datos

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 24

Page 25: Fundamentos de  Bancos de datos

Databases Distribuidos

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

Page 26: Fundamentos de  Bancos de datos

Data Warehouse

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

Page 27: Fundamentos de  Bancos de datos

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.