Capitulo 3: Almacenamiento y acceso a datos Ing. Hernán Nina Hanco

Anuncio
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
Descargar