Vous êtes sur la page 1sur 31

UA

Unidad 1: Planificacin del Almacenamiento e Indexacin


Bases de Datos Avanzadas, Sesin 1: Dispositivos y Estructuras de Almacenamiento

Antonio Moratilla Ocaa Ivn Gonzlez Diego Dept. Ciencias de la Computacin Universidad de Alcal

INDICE
UA

Introduccin. Visin Medios de Almacenamiento Gestor de Memoria Intermedia Estructuras de Almacenamiento:


Longitud Fija Longitud Variable

Referencias: Silberschatz 4 Ed. Pp 249 - 315 Elmasri, 3 Ed. Pp 105 - 181


2

Introduccin
UA

En este tema se va a tratar sobre el almacenamiento de los datos de usuario y la planificacin del mismo segn el sistema gestor de base de datos.

De forma detallada se entrar en los modos de almacenamiento de los ficheros de datos y el funcionamiento de los ndices de una base de datos.

UA

Visin general de los medios de almacenamiento

UA

Visin general de los medios de almacenamiento


Distintos tipos de memoria:
Cach: La ms rpida junto con los registros. Pequeo tamao y control hardware. Memoria principal: medio de almacenamiento donde se ejecutan los programas. No suele ser lo suficientemente grande para guardar toda una base de datos. Memoria flash: Memoria de lectura y escritura bastante lenta. Discos magnticos: Principal medio de almacenamiento. Hace las veces de disco swaping con la memoria principal. Almacenamiento Optico: CD-ROM: sirven como copia de respaldo, DVD: (4-17 GB) Almacenamiento en cinta: cintas de gran capacidad (80 GB 1 TB). Copias de respaldo. DLT

Discos de almacenamiento
UA

Discos de almacenamiento
UA

Tiempo de acceso: tiempo transcurrido entre la solicitud de lectura y el comienzo de la transferencia de datos Tiempo medio de Bsqueda : tiempo para ubicar el brazo en una pista en media. Tiempo de latencia rotacional: tiempo de espera una vez movido el brazo para que el sector pase por debajo de la cabeza Tiempo medio de latencia: en media la mitad de rotacin del disco Velocidad de transferencia de datos: velocidad a la que se pueden recuperar o guardar datos. Tiempo medio entre fallos: medida de fiabilidad.
7

UA

Optimizacin del acceso a bloques de disco


Operacin I/O direccin disco numero bloque Bloque secuencia continua de sectores de una pista Datos se transfieren en bloques Planificacin:
Algoritmos de planificacin de brazo del disco, algoritmo del ascensor (en zig-zag). Organizacin de los archivos respecto de los sectores, desfragmentadores, etc. Para evitar errores de actualizacin debidos a las cadas de la red elctrica Accesos secuenciales. Eliminacin del tiempo de bsqueda Utilizado como apoyo
8

Organizacin de archivos:

Memoria intermedia de escritura no voltil:


Disco de registro histrico.

UA

Sistemas de acceso a disco: Sistemas RAID


RAID: Redundant Array of Independent Disks Compuestos de discos pequeos y de bajo coste:
Gran rendimiento Gran fiabilidad al montarlos en este tipo de sistemas.

Mltiples modos de funcionamiento:


Con redundancia. Paridad de datos Paralelismo, etc.

Son utilizados normalmente en cualquier sistema de almacenamiento masivo de datos, utilizndose de forma normal el RAID 1 o el 5.
9

Niveles RAID
UA

0: Disposicin de disco con distribucin a nivel de bloque y sin redundancia


Aplicaciones de Alto Rendimiento donde la prdida de datos no es crtica

1: Creacin de imgenes de disco con distribucin de bloque

2: Distribucin a nivel de bit con correccin de errores (ECC) mediante paridad distribuida. (dist. de bits). No utilizado en la prctica

10

Niveles RAID
UA

3: Organizacin de paridad con bits entrelazados, a nivel de sectores: Menos discos utilizados.

4: Organizacin de paridad con bloques entrelazados, distribucin de bloques. Guarda la paridad en un disco a parte.

11

Niveles RAID
UA

5: Igual que el 4, pero distribuyendo la paridad entre todos los discos, para cada bloque un disco guarda paridad, y el resto datos.

6: Esquema de redundancia P+Q. Protege contra fallos disco mltiple

Nivel 1 y 5 son los ms utilizados:


1 en Aplicaciones con poca actualizacin y muchos datos. 5 en resto de las aplicaciones.

12

Ejemplo
UA

Disco: 3.5 pulgadas dimetro, 3600 RPM, 1 plato, 16 MB de capacidad utilizable, 128 cilindros, tiempo de bsqueda medio 25 ms y cilindro adyacente 5 ms, sectores son bloques de 1 KB , hay espacio de control entre bloques del 10% . Bytes/cilindro = 16 * 1024*1024 / 128 = 128 KB Bloques/cilindro = 128 KB/ 1 KB = 128 bloques. 3600 RPM son 60 rev/seg o 1 rev son 16.66 ms

...
13

Ejemplo
UA

1 Pista

...

Tiempo relativo a datos: 16.66 ms * 0.9 = 14.99 ms Tiempo relativo a hueco : 16.66 ms * 0.1 = 1.66 ms Tiempo transferencia 1 bloque de datos : 14.99 ms / 128 = 0.117 ms Tiempo transferencia 1 bloque + hueco = 16.66 ms /128 = 0.13 ms Transferencia pico : 1 Bloque datos en 0.117 ms = 1KB / 0.117 ms = 8.54 KB /ms = 8.33 MB/seg Transferencia sostenida (pista): 128 KB / 16.66 ms = 7.68 KB/ms = 7.50 MB/seg
14

Ejemplo
UA

Tiempo para leer un bloque aleatoriamente : tiempo bsqueda + tiempo latencia + tiempo transferencia = 25 + 16.66/2 + 0.117 = 33.45 ms Si el OS trata con bloques de 4 KB

...

1 bloque
Tiempo lectura 1 bloque : 25 + (16.66/2) + (.130) X 3 + (.117) x 1 = 33.83 ms Tiempo lectura 1 pista comenzando desde cualquier bloque: 25 + (0.130/2) + 16.66 = 41.73 ms
15

UA

Acceso al almacenamiento: Gestor de memoria intermedia


Son parecidos a los gestores de memoria virtual aunque ms complejos. Se encargan de manipular los bloques de la memoria al disco o del disco a la memoria Objetivo minimizacin de los accesos al disco. Los sistemas operativos utilizan esquemas de gestin de memoria estticos, en base a previsiones estadsticas. Los SBGD por el contrario son capaces de planificar los accesos a datos que realizarn, el orden y la estrategia a seguir Gestin de memoria mucho ms precisa que un S.O.
16

UA

Acceso al almacenamiento: Gestor de memoria intermedia


Los esquemas de gestin de la memoria intermedia son:
Estrategias de sustitucin: MRU/LRU Bloques clavados: Limita el nmero de veces que se puede escribir un bloque en disco. Salida forzada de bloques: Se obliga a la escritura de un bloque en disco, y se elimina de la memoria principal.

17

UA

Acceso al almacenamiento: Gestor de memoria intermedia


Ejemplo: Reunin natural entre prestatario y cliente.
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 de reunin natural x[nombre_cliente]:=p[nombre_cliente] x[numero_prestamo]:=p[numero_prestamo] x[calle_cliente]:=p[calle_cliente] x[ciudad_cliente]:=p[ciudad_cliente] End End End

P: LRU o extraccin inmediata C: MRU elimina el ltimo utilizado. No se utilizar hasta la prxima iteracin del bucle.
18

Organizacin de los archivos


UA

Vista lgico archivos son secuencias de registros que se deberan de corresponder con bloques de disco. Rara vez un registro va a ocupar exactamente un bloque de disco Registros Tamao variable (cadenas texto, arrays, etc). En bases de datos se manejan dos supuestos:
Registros de tamao fijo gran velocidad de acceso. Registros de tamao variable gran eficiencia en el espacio

19

UA

Organizacin de los archivos: Registros de longitud fija


Ejemplo:
Type deposito = record nombre_sucursal: char(22); numero_cuenta: char(10); saldo: real; end

Suponiendo que un real ocupa 8 bytes, los caracteres son ASCII de 1 byte, el registro tendr 40 bytes de longitud.

20

UA

Organizacin de los archivos: Registros de longitud fija

Problemas de la estructura:
Dificultad en los borrados Creacin de huecos, dificultad de contabilizacin de los espacios en esquemas simples. Dificultad en almacenamiento Puede haber registros que estn almacenados en 2 bloques dos accesos a disco para leer un registro.

21

UA

Organizacin de los archivos: Registros de longitud fija


Estrategias de actualizacin de las tablas:
Desplazamiento en borrado. Desplazamiento de los siguientes registros: Gran sobrecarga de disco. No se utiliza.

Desplazamiento del ltimo registro: Menos sobrecarga. Tampoco se suele utilizar

22

UA

Organizacin de los archivos: Registros de longitud fija


Seguimiento del borrado. Se basa en que es ms probable que se inserten datos en vez de borrarlos los huecos dejados al borrar se pueden utilizar posteriormente en las nuevas inserciones Estructura de cabecera con seguimiento del primer registro libre y lista enlazada a partir de este para acceder al resto de registros borrados. Se denomina lista libre Cuando se aade un nuevo registro se pone en el primer hueco libre y se actualiza la cabecera.

23

UA

Organizacin de los archivos: Registros de longitud variable


Se deben a:
Almacenamiento de varios tipos de registros sobre el mismo archivo Tipos de registros que permiten longitudes variables de sus campos Tipos de registros con campos repetidos

Ejemplo:
type Lista_cuentas = record nombre_sucursal: char (22); informacin_cuenta: array [1..] of record numero_cuenta: char(10); saldo: real; end end

24

UA

Organizacin de los archivos: Registros de longitud variable


Representacin de cadenas de bytes:
Mtodo muy sencillo. Existe una marca de fin de registro.

Esquema Alternativo cabecera con longitud del registro

25

UA

Organizacin de los archivos: Registros de longitud variable


Problemas
Problemas para reutilizar el espacio borrado, al tener distintas longitudes Necesidad de compactacin de datos. No deja espacio para el aumento del tamao de los registros ya incluidos. Si un registro aumenta desplazarlo Provoca el mismo efecto que un borrado. No se suele utilizar.

Solucin:
Estructura de pginas con ranuras.

26

UA

Organizacin de los archivos: Registros de longitud variable


Estructura de pginas con ranuras:
Nmero de elementos del registro de cabecera Final del espacio vaco del bloque Array con la ubicacin y el tamao de cada registro. Los registros reales seguidos dentro del bloque, pero empezando desde el final El nmero de entradas y el array de punteros se sitan al principio del bloque. El espacio libre se sita en el medio de los Registros-cabecera

Comportamiento

27

UA

Organizacin de los archivos: Registros de longitud variable


Comportamiento (continuacin)
Si se aade un registro: aadir una entrada al array El registro se inserta al final del espacio libre. Posteriormente se actualiza el espacio libre. Si se borra un registro: Su entrada se le da un tamao de 1 Se desplazan los que haba antes que l, actualizando el resto de la cabecera y el nuevo punto del espacio libre.

Dado que la escritura se realiza a travs de bloques (2 Kb-4 Kb) Coste de mover la informacin dentro del bloque no es alto se reduce la fragmentacin del espacio utilizado.

28

UA

Organizacin de los archivos: Registros de longitud variable


Representacin de longitud fija
Mediante espacio reservado. Si nunca se supera la longitud mxima asignada, se puede utilizar. Se utiliza una marca para representar la falta de informacin. Es poco til con informacin de distinto tamao Pero si la informacin tiene un tamao cercano al mximo, merece la pena implementar este tipo de esquemas.

29

UA

Organizacin de los archivos: Registros de longitud variable


Representacin de longitud fija con punteros
Similar al utilizado en el seguimiento del espacio libre en los esquemas de registros de longitud fija Mantiene la informacin de los registros ocupados por la misma entidad superior

30

UA

Organizacin de los archivos: Registros de longitud variable


Se suele utilizar una variante de dos tablas:
Una tabla de bloque ancla mantiene la informacin del primer registro. Bloque de desbordamiento mantiene la informacin de los siguientes registros.

31

Vous aimerez peut-être aussi