Capitulo 3: Almacenamiento y acceso a datos Ing. Hernán Nina Hanco Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Clasificación de los medios de almacenamiento físico Velocidad con la que se puede acceder a los datos Coste por unidad de datos Confiabilidad La pérdida de datos en caso de fallo de alimentación o por fallo del sistema Fallo físico del dispositivo de almacenamiento El almacenamiento se puede diferenciar en: Almacenamiento volátil: Se pierde el contenido cuando se apaga el equipo. Almacenamiento no volátil: Contenido persistente incluso cuando se apaga el equipo. Incluye almacenamiento secundario y terciario, así como copia de seguridad. Database System Concepts - 5th Edition, Oct 23, 2005. 11.2 ©Silberschatz, Korth and Sudarshan Medios físicos de almacenamiento Cache – Más rápido y costoso. La memoria caché es pequeña; su uso lo gestiona el Hardware del sistema informático. Memoria principal: Acceso rápido (10s a 100s de nanosegundos; 1 nanosegundo = 10–9 segundos) Demasiado pequeña (o demasiado cara) para almacenar una base de datos completa. Volátil — contenido de la memoria se pierde si la fuente de poder falla o problemas con el sistema. Database System Concepts - 5th Edition, Oct 23, 2005. 11.3 ©Silberschatz, Korth and Sudarshan Medios físicos de almacenamiento(Cont.) Memoria flash Los datos sobreviven a la falta de energía Los datos pueden escribirse una vez, pero no se pueden sobrescribir de manera directa. Ciclos de borrado limitado Es un tipo de memoria sólo de lectura programable y borrable eléctricamente. Llaves USB Database System Concepts - 5th Edition, Oct 23, 2005. 11.4 ©Silberschatz, Korth and Sudarshan Medios físicos de almacenamiento(Cont.) Almacenamiento en discos magnéticos El principal medio de almacenamiento persistente. Generalmente se guarda en ellos toda la base datos. Para acceder a los datos es necesario trasladarlos desde el disco a la memoria principal. Después de realizar la operación deseada se deben escribir en el disco los datos que se hayan modificado. El almacenamiento en disco resiste los fallos del suministro eléctrico y las caídas del sistema. Database System Concepts - 5th Edition, Oct 23, 2005. 11.5 ©Silberschatz, Korth and Sudarshan Medios físicos de almacenamiento (Cont.) Almacenamiento óptico Los datos se almacenan ópticamente en el disco y se leen mediante un laser. La mas popular forma de discos ópticos es: CD-ROM (640 MB) y DVD (4.7 a 17 GB) Escritura única y lectura múltiple (WORM): CD-R, DVD-R, DVD+R) Para escribir muchas veces: (CD-RW, DVD-RW, DVD+RW, and DVD-RAM) Los cambiadores automáticos - Juke-box Discos ópticos que contienen varias unidades y numerosos discos que pueden cargarse de manera automática en las diferentes unidades (mediante un brazo robotizado) a petición de los usuarios. Database System Concepts - 5th Edition, Oct 23, 2005. 11.6 ©Silberschatz, Korth and Sudarshan Medios físicos de almacenamiento (Cont.) Almacenamiento en cinta No volátil, utilizado inicialmente para copia de seguridad Acceso secuencial – mas lento que los discos Capacidad elevada (40 a 300 GB) Removibles de la unidad de lectura Los jukeboxes disponibles para grandes cantidades de datos Cientos de terabytes (1 terabyte = 109 bytes) o también pentabyte (1 pentabyte = 1012 bytes) Datos satelitales. Database System Concepts - 5th Edition, Oct 23, 2005. 11.7 ©Silberschatz, Korth and Sudarshan Jerarquía de almacenamiento Database System Concepts - 5th Edition, Oct 23, 2005. 11.8 ©Silberschatz, Korth and Sudarshan Jerarquía de almacenamiento (Cont.) Almacenamiento primario: Rápido pero volátil (cache, memoria principal). Almacenamiento secundario: El siguiente nivel de la Jerarquía, no-volátil, tiempo de acceso a los datos relativamente rápido. También llamado almacenamiento on-line Ejemplo memoria flash, Discos magnéticos. Almacenamiento terciario: Es el nivel mas bajo de la jerarquía, no volátil, Tiempo de acceso lento. También llamado Almacenamiento off-line Ejemplo. Cintas magnéticas, almacenamiento óptico Database System Concepts - 5th Edition, Oct 23, 2005. 11.9 ©Silberschatz, Korth and Sudarshan Características físicas de los discos duros magnéticos NOTA: Esquema simple de los discos duros Database System Concepts - 5th Edition, Oct 23, 2005. 11.10 ©Silberschatz, Korth and Sudarshan Discos magnéticos Read-write head Se mantiene tan próximas como sea posible a la superficie de los discos Leer o Escribir magnéticamente información codificada La superficie de platos dividido en pistas circulares. Sobre 50K-100K pistas por platos en discos típicos Cada pista esta dividido en sectores. Un sector es la pequeña unidad de datos que pueden ser leídos o escritos Tamaño de un sector es típicamente 512 bytes Típicamente los sectores por pista: 500 (en las pistas internas) a 1000 (sobre pistas externas) Para la read/write de un sector El brazo del disco se desplaza para posicionar la cabeza en la pista deseada Continuamente giran los platos; los datos se leen y escriben cuando el sector pasa por debajo de la cabeza. Dispositivo cabeza disco Conjunto de platos de disco sobre un solo eje (de 1 a 5 usualmente) Una cabeza por plato, montado en un brazo común. Cylinder i consiste de la i-ésima pista de todos los platos Database System Concepts - 5th Edition, Oct 23, 2005. 11.11 ©Silberschatz, Korth and Sudarshan Discos magnéticos (Cont.) Las primeras generaciones de discos eran susceptibles a choques de cabezas La superficie de los discos antiguos tenían revestimientos de óxido de metal que al desintegrarse por los choques de cabeza dañaban todos los datos en el disco Los dispositivos de disco de la generación actual usan una fina capa de metal magnético como medio de grabación. Son menos susceptibles de fallar a causa de choques de las cabezas Disk controller – actúa como interfaz entre el computador y el hardware de la unidad de disco. Acepta las ordenes de alto nivel para leer o escribir en un sector Inicia las acciones, como desplazar el brazo del disco a la pista adecuada luego leer o escribir los datos. Suma de comprobación (checksums) a cada sector en el que se escribe; cuando se vuelve a leer se vuelve a calcular la suma y se compara con la suma de comprobación guardada. Si los datos se han deteriorado resulta muy probable que la suma de comprobación recién calculada no coincida con la guardada. Asegura la escritura exitosa volviendo a leer el sector después de haberlo escrito. Realiza reasignación de sectores dañados Database System Concepts - 5th Edition, Oct 23, 2005. 11.12 ©Silberschatz, Korth and Sudarshan Subsistema del disco Múltiples discos son conectados al computador mediante el controlador Las funcionalidades del controlador (suma de comprobación, reasignación de sectores dañados) frecuentemente es realizado por los discos individuales; reduciendo la carga del controlador. Familias de estándares de interfaces de disco. ATA (AT attachment) rango de estándares SATA (Serial ATA) SCSI (Small Computer System Interconnect) Las variantes de los modelos de los entandares difieren por las velocidades y capacidad de almacenamiento. Database System Concepts - 5th Edition, Oct 23, 2005. 11.13 ©Silberschatz, Korth and Sudarshan Medidas del rendimiento de los discos Tiempo de acceso – es el tiempo transcurrido desde que se formula una solicitud de lectura o de escritura hasta que comienza la transferencia de datos. Consiste de: Tiempo de búsqueda – el tiempo que se necesita para cambiar la posición del brazo del disco para ubicarse sobre la pista correcta. El tiempo medio de búsqueda es alrededor de la mitad del tiempo máximo de búsqueda. – Es posible que sea 1/3 si todas las pistas tienen el mismo numero de sectores y despreciando el tiempo requerido para que la cabeza inicie su movimiento y lo detenga. 4 a 10 milisegundos por lo general Latencia rotacional – Tiempo que se pasa esperando a que el sector al que hay que tener acceso aparezca bajo la cabeza. Tiempo de latencia medio es la mitad del tiempo empleado en una rotación completa del disco. 4 a 11 milisegundos típicamente (5400 a 15000 r.p.m.) Velocidad de transferencia de datos – velocidad a la que se pueden recuperar o guardar datos en el disco. 25 a 100 MB por segundo velocidad máxima, mas baja para pistas internas. Múltiples discos pueden compartir un controlador, así la velocidad del controlador es muy importante. Ejm. ATA-5: 66 MB/sec, SATA: 150 MB/sec, Ultra 320 SCSI: 320 MB/s Fiber Channel (FC2Gb): 256 MB/s Database System Concepts - 5th Edition, Oct 23, 2005. 11.14 ©Silberschatz, Korth and Sudarshan Medidas del rendimiento de los discos (Cont.) Tiempo medio entre fallos (MTTF) – Es la cantidad de tiempo que, en media, se puede esperar que el sistema funcione de manera continua sin tener ningún fallo. Típicamente de 3 a 5 años. La probabilidad de falla de un nuevo disco es muy baja, corresponde a un MTTF (Mean Time To Failure) teórico de 500000 a 1200000 horas para un nuevo disco. Ejm. Dados 1000 discos relativamente nuevos, si el tiempo medio entre fallos es 1200000 horas, uno de ellos fallará en media en 1200 horas). Significativamente existen más fallos cuando son algunos años más viejos. Database System Concepts - 5th Edition, Oct 23, 2005. 11.15 ©Silberschatz, Korth and Sudarshan Optimización del acceso a los bloques del disco Block – Es una secuencia continua de sectores de una sola pista de un plato. Los datos se transfieren entre el disco y la memoria principal en unidades de bloques Los tamaños de los bloques varían de 512 bytes a varios kilobytes. Bloques pequeños: más transferencias de disco. Bloques grandes: muchos espacios desperdiciados debido a los bloques parcialmente llenos. Típicamente los tamaños de bloques varia de 4 a 16 kilobytes Planificación del brazo del disco intentan ordenar el acceso a las pistas de manera que se aumente el número de accesos que puede procesarse. Algoritmo del ascensor: Mueve el brazo del disco en una sola dirección (desde las pistas exteriores hacia las pistas interiores o viceversa), si hay una solicitud de acceso el brazo se detiene, atiende las solicitudes para la pista y continúa desplazándose. Database System Concepts - 5th Edition, Oct 23, 2005. 11.16 ©Silberschatz, Korth and Sudarshan Optimización del acceso a los bloques del disco (Cont.) Organización de archivos – Para reducir el tiempo de acceso a los bloques se pueden organizar los bloques del disco de una manera que se corresponda fielmente con la forma en que se espera tener acceso a los datos Ejemplo. Tener acceso secuencial a un archivo, en teoría se deberían guardar secuencialmente en cilindros adyacentes todos los bloques del archivo. Los archivos pueden ser fragmentados con el paso del tiempo Ejemplo. Si se inserta o elimina datos al archivo O bloques libres están dispersos sobre el disco y los nuevos archivos creados tienen sus bloques dispersos sobre el disco Acceso secuencial a los archivos fragmentados resulta un incremento de movimientos del brazo del disco. Algunos sistemas tienen utilidades para defragmentar el sistema de archivo, con el fin de acelerar el acceso al archivo Database System Concepts - 5th Edition, Oct 23, 2005. 11.17 ©Silberschatz, Korth and Sudarshan Optimización del acceso a los bloques del disco (Cont.) Memoria intermedia de escritura no volátil sirve para acelerar la escritura en el disco de manera drástica. El contenido de la RAM no volátil no se pierde durante un fallo del suministro eléctrico. Una manera habitual de implementar la RAM no volátil es utilizar RAM alimentada por baterías. El controlador luego escribe en el disco, cada vez que el disco no tiene otras peticiones. Operaciones de base de datos que requieren que los datos se almacenen de forma segura pueden continuar sin esperar que los datos se escriban en el disco. Escrituras pueden reordenar para minimizar el movimiento del brazo del disco Discos de registro histórico – los accesos son secuenciales y elimina el tiempo de búsqueda Muy parecido a la memoria intermedia no volátil Durante la recuperación de una caída del sistema se vuelven a escribir en el disco todas las escrituras que se hallan pendientes en la memoria intermedia de RAM no volátil. No necesita un hardware especial El sistema de archivos reordena escrituras al disco para mejorar el rendimiento Sistemas de archivos de diario escribe datos de forma segura al NV-RAM o disco histórico. La reorganización sin registro diario arriesga al sistema de archivos y puede dañar los datos. Database System Concepts - 5th Edition, Oct 23, 2005. 11.18 ©Silberschatz, Korth and Sudarshan RAID RAID: Redundant Arrays of Independent Disks La técnica de organización para administrar varios discos, proporcionan una vista de un solo disco. Altas capacidades y altas velocidades por el uso de múltiples discos en paralelo, y Alta confiabilidad por el almacenamiento de datos redundantes, así los datos pueden ser recuperados si un disco falla. La posibilidad de que un disco de un conjunto de N discos falle es mucho mas que la probabilidad que un solo disco especifico falle. Ejemplo un sistema con 100 discos, cada uno con MTTF de 100000 horas (aprox. 11 años), tendrá un sistema MTTF de 1000 horas (aprox. 41 días) Las técnicas de redundancia sin perdida de datos son criticas para un gran numero de discos. Originalmente era una alternativa rentable a los discos grandes y caros La I de RAID, que ahora representa independientes, originalmente representaba económicos (inexpensive). Hoy en día, sin embargo, todos los discos son pequeños físicamente, y los discos de gran capacidad tienen realmente un menor coste por megabytes. Database System Concepts - 5th Edition, Oct 23, 2005. 11.19 ©Silberschatz, Korth and Sudarshan Mejora de la fiabilidad mediante la redundancia. Redundancia – almacena información extra que puede ser utilizada para reconstruir información perdida en un disco que falla Ejemplo., Creación de imágenes Duplica cada disco. Un disco lógico consiste de dos discos físicos. Cada operación de escritura es realizada en ambos discos La lectura puede realizarse desde cualquiera de los discos Si un disco del par falla, los datos perdidos están disponibles en el otro. La perdida de datos solo ocurriría si un disco falla, y su disco imagen también falla antes de reparar el sistema – Probabilidad de cambio debe ser muy corta » Excepto en fallas ambientales de naturaleza Tiempo medio entre perdidas de datos depende del tiempo medio entre fallos, y el tiempo medio en reparar Ejemplo. si el tiempo medio entre fallos de un solo disco es de cien mil horas y el tiempo medio de reparación es de diez horas el tiempo medio entre pérdidas de datos de un sistema de discos con imagen es 1000002/(2 × 10) = 500 × 106 horas, o ¡57.000 años. Database System Concepts - 5th Edition, Oct 23, 2005. 11.20 ©Silberschatz, Korth and Sudarshan Mejora del rendimiento mediante el paralelismo Dos metas del paralelismo en un sistema de discos: 1. Balanceo de carga, múltiples accesos incrementan el rendimiento 2. Paralelizar accesos lardos para reducir el tiempo. Mejora la velocidad de transferencia por la distribución de los datos en múltiples discos Distribución a nivel de Bit – divide los bits de cada byte en múltiples discos En un arreglo de 8 discos, escribe un bit i de cada byte a un disco i Cada acceso puede leer datos 8 veces mas que la velocidad de un solo disco Pero el acceso y búsqueda es el mismo que un simple disco La distribución a nivel de bit no es muy utilizado Distribución a nivel de bloques – con n discos, el bloque i de un archivo es metido al disco (i mod n) + 1 Solicitudes a varios bloques pueden ejecutarse en paralelo si los bloques residen en diferentes disco Solicitudes a largas secuencias de bloques puede utilizar discos paralelos Database System Concepts - 5th Edition, Oct 23, 2005. 11.21 ©Silberschatz, Korth and Sudarshan Niveles de RAID Se han propuesto esquemas alternativos para proporcionar redundancia a bajo costo utilizando la idea de la distribución de los discos combinada con los bits de paridad. Estos esquemas tienen diferentes compromisos entre el coste y el rendimiento. Los esquemas se clasifican en niveles denominados niveles de RAID. RAID Level 0: Distribución de nivel de bloque; sin redundancia. Utilizada en aplicaciones de alto rendimiento donde la perdida de datos no es critica. RAID Level 1: Imágenes de disco con distribución de bloques Ofrece mejor rendimiento de escritura. Popular para aplicaciones tales como almacenamiento de archivos históricos en sistemas de base de datos. Database System Concepts - 5th Edition, Oct 23, 2005. 11.22 ©Silberschatz, Korth and Sudarshan Niveles de RAID (Cont.) RAID Level 2: Memory-Style Error-Correcting-Codes (ECC) con distribución de bits. RAID Level 3: Organización de paridad con bits entrelazados Un simple bits de paridad es suficiente para corrección de errores, no es posible detectar hasta que el disco tenga fallas. Cuando se escriben los datos, los bits de paridad correspondientes deben se escritos a un disco de bits de paridad. Para recuperar datos de un disco dañado. Calcular XOR de bits de otros discos (incluyendo los bits del disco de paridad) Database System Concepts - 5th Edition, Oct 23, 2005. 11.23 ©Silberschatz, Korth and Sudarshan Niveles de RAID (Cont.) RAID Level 3 (Cont.) Permite un menor número de operaciones de E/S por segundo, dado que todos los discos tienen que participar en cada solicitud de E/S. RAID Level 4: Organización de paridad con bloques entrelazados; usa distribución de bloques, y además guarda un bloque de paridad en un disco aparte para los bloques correspondientes de los otros N discos. Cuando se escriben los bloques de datos, los correspondientes bits de paridad deben ser calculados y escritos al disco de paridad. Para recuperar valores de un bloque dañado, calcular XOR de los bits correspondientes a bloques de los otros discos. Un bit de paridad registra el número de bits del byte, si valen uno es par (paridad=0) o impar (paridad=1). Si uno de los bits del byte se deteriora (un uno se transforma en cero o viceversa) la paridad del byte se modifica. Database System Concepts - 5th Edition, Oct 23, 2005. 11.24 ©Silberschatz, Korth and Sudarshan Niveles de RAID (Cont.) RAID Level 4 (Cont.) Las velocidades de transferencia para los procesos de lectura de gran tamaño son elevadas. Procesos de escritura de gran tamaño también tienen velocidades de transferencia elevadas. Procesos de escritura independientes de pequeño tamaño Database System Concepts - 5th Edition, Oct 23, 2005. 11.25 ©Silberschatz, Korth and Sudarshan Niveles de RAID (Cont.) RAID Level 5: paridad distribuida con bloques entrelazados; mejora respecto al nivel 4 dividiendo los datos y la paridad entre los N + 1 discos en vez de guardar los datos en N discos y la paridad en uno. Todos los discos pueden participar en la atención a las solicitudes de lectura. Para cada conjunto de N bloques lógicos, uno de los discos guarda la paridad y los otros N guardan los bloques. Un Bloque de paridad no puede guardar la paridad de los bloques del mismo disco Database System Concepts - 5th Edition, Oct 23, 2005. 11.26 ©Silberschatz, Korth and Sudarshan Niveles de RAID (Cont.) RAID Level 5 (Cont.) El nivel 5 incluye al nivel 4, dado que ofrece mejor rendimiento de lectura y de escritura por el mismo coste, por lo que el nivel 4 no se utiliza en la práctica. RAID Level 6: Redundancia P+Q; es muy parecido a RAID de nivel 5 pero guarda información redundante adicional para protección contra fallos de disco múltiples. En lugar de utilizar la paridad se utilizan códigos para la corrección de errores como los de Reed-Solomon En el esquema mostrado en la Figura de RAID se guardan dos bits de datos redundantes por cada cuatro bits de datos (en comparación con un bit de paridad del nivel 5) y el sistema puede tolerar dos fallos del disco. Database System Concepts - 5th Edition, Oct 23, 2005. 11.27 ©Silberschatz, Korth and Sudarshan Elección del nivel RAID adecuado Los factores a tener en cuenta al elegir un nivel RAID son: Costo económico extra de los requisitos de almacenamiento en disco. Requisitos de rendimiento en términos del número de operaciones E/S. Rendimiento cuando falla un disco. Rendimiento durante la reconstrucción (esto es, mientras los datos del disco averiado se reconstruyen en un nuevo disco) RAID de nivel 0 se usa en aplicaciones de alto rendimiento donde la seguridad de los datos no es crítica. Dado que los niveles 2 y 4 de RAID se incluyen en los niveles 3 y 5 de RAID, la elección de los niveles RAID se limita a los niveles restantes. La distribución de bits (nivel 3) se usa raramente, dado que la distribución de bloques (nivel 5) da buenas velocidades de transferencia de datos para grandes transferencias El nivel 6 no se soporta actualmente en muchas implementaciones RAID . RAID de nivel 1 es popular para las aplicaciones como el almacenamiento de archivos de registro histórico en un sistema de bases de datos. Para las aplicaciones donde los datos se leen frecuentemente y se escriben raramente, el nivel 5 es la elección adecuada. Database System Concepts - 5th Edition, Oct 23, 2005. 11.28 ©Silberschatz, Korth and Sudarshan Aspectos hardware Software RAID: RAID se puede implementar sin cambios en el nivel hardware modificando sólo el software. Hardware RAID: construir hardware de propósito especial para dar soporte a RAID. Pueden usar RAM no volátil para registrar las escrituras que es necesario ejecutar En caso de fallo de corriente antes de que se complete una escritura, el sistema se restaura recuperando información acerca de las escrituras incompletas de la memoria RAM no volátil y entonces completa las escrituras. Sin el soporte hardware, se necesita trabajo extra para detectar los bloques que se hayan escrito parcialmente antes del fallo de corriente. Algunas implementaciones RAID permiten el intercambio en caliente; esto es, los discos averiados se pueden eliminar y reemplazar por otros nuevos sin desconectar la corriente. Database System Concepts - 5th Edition, Oct 23, 2005. 11.29 ©Silberschatz, Korth and Sudarshan Acceso al almacenamiento Cada archivo esta dividido en unidades de almacenamiento de longitud constante denominada bloques (unidades de asignación de almacenamiento y de transferencia de datos). Uno de los principales objetivos del sistema de bases de datos es minimizar el número de transferencias de bloques entre el disco y la memoria, una manera de lograrlo es mantener en lo posible la mayor cantidad de bloques en la memoria del sistema. La memoria intermedia (buffer) es la parte de la memoria principal disponible para el almacenamiento de bloques del disco. Gestor de la memoria intermedia – Es el subsistema encargado de la asignación del espacio de la memoria intermedia. Database System Concepts - 5th Edition, Oct 23, 2005. 11.30 ©Silberschatz, Korth and Sudarshan Gestor de la memoria intermedia El sistema de base de datos formulan solicitudes al gestor de la memoria intermedia cuando necesitan bloques de disco. 1. Si el bloque ya esta en la memoria intermedia el gestor envía la dirección de memoria del bloque. 2. Si el bloque no se halla en la memoria intermedia, el gestor de la memoria intermedia. 1. Asigna espacio al bloque en la memoria intermedia. 1. Descartando algún otro bloque si hace falta para hacer sitio para el nuevo bloque. 2. Sólo se vuelve a escribir en el disco el bloque que se descarta si se modificó desde la última vez que se escribió en el disco. 2. Lee el bloque del disco y lo escribe en la memoria intermedia, y pasa la dirección del bloque en la memoria principal al solicitante. Database System Concepts - 5th Edition, Oct 23, 2005. 11.31 ©Silberschatz, Korth and Sudarshan Técnicas más complejas de gestión de la memoria Trabajo mas complejo que los S.O. Estrategia de sustitución. Cuando no queda espacio libre en la memoria intermedia hay que eliminar un bloque de ésta antes de que se pueda escribir en él otro nuevo. Generalmente los sistemas operativos utilizan un esquema menos recientemente utilizado (Least Recently Used, LRU), en el que se vuelve a escribir en el disco y se elimina de la memoria intermedia el bloque al que se ha hecho referencia menos recientemente. Bloques clavados. Para que el sistema de bases de datos pueda recuperarse de las caídas resulta necesario limitar las ocasiones en que se puede volver a escribir el bloque en el disco. Se dice que un bloque al que no se le permite que se vuelva a escribir en el disco está clavado. Aunque muchos sistemas operativos no permiten trabajar con bloques clavados, esta prestación resulta esencial para la implementación de un sistema de bases de datos resistente a las caídas. Salida forzada de los bloques. Hay situaciones en las que resulta necesario volver a escribir el bloque en el disco, aunque no se necesite el espacio de memoria intermedia que ocupa. Este proceso de escritura se denomina salida forzada del bloque. Database System Concepts - 5th Edition, Oct 23, 2005. 11.32 ©Silberschatz, Korth and Sudarshan Políticas para la sustitución Muchos Sistemas Operativos reemplazan los bloques mediante least recently used (estrategia LRU) Menos recientemente utilizado. La suposición que suele hacerse es que es probable que se vuelva a hacer referencia a los bloques a los que se ha hecho referencia recientemente. Por tanto, si hay que sustituir un bloque, se sustituye el bloque al que se ha hecho referencia menos recientemente. for each tupla p de prestatario do for each tupla c de cliente do if p[nombre-cliente] = c [nombre-cliente] then begin sea x una tupla definida de la manera siguiente: x[nombre-cliente] := p [nombre-cliente] x[número-préstamo] := p [número-préstamo] x[calle-cliente ] := c [calle-cliente ] x[ciudad-cliente ] := c [ciudad-cliente ] incluir la tupla x como parte del resultado de prestatario |X| cliente end end end Database System Concepts - 5th Edition, Oct 23, 2005. 11.33 ©Silberschatz, Korth and Sudarshan Políticas para la sustitución Muchos Sistemas Operativos reemplazan los bloques mediante least recently used (estrategia LRU) Menos recientemente utilizado. La suposición que suele hacerse es que es probable que se vuelva a hacer referencia a los bloques a los que se ha hecho referencia recientemente. Por tanto, si hay que sustituir un bloque, se sustituye el bloque al que se ha hecho referencia menos recientemente. for each tupla p de prestatario do for each tupla c de cliente do if p[nombre-cliente] = c [nombre-cliente] then begin sea x una tupla definida de la manera siguiente: x[nombre-cliente] := p [nombre-cliente] x[número-préstamo] := p [número-préstamo] x[calle-cliente ] := c [calle-cliente ] x[ciudad-cliente ] := c [ciudad-cliente ] incluir la tupla x como parte del resultado de prestatario |X| cliente end end end Database System Concepts - 5th Edition, Oct 23, 2005. 11.34 ©Silberschatz, Korth and Sudarshan Políticas para la sustitución (cont.) Extracción inmediata las instrucciones al gestor de la memoria intermedia para liberar el espacio ocupado por un bloque tan pronto como se haya procesado una última tupla. Más recientemente utilizada (Most Recently Used, MRU). escoge el bloque utilizado más recientemente Database System Concepts - 5th Edition, Oct 23, 2005. 11.35 ©Silberschatz, Korth and Sudarshan