Please enable JavaScript.
Coggle requires JavaScript to display documents.
ALMACENAMIENTO Y ESTRUCTURA DE ARCHIVOS (11.1. VISIÓN GENERAL DE LOS…
ALMACENAMIENTO Y ESTRUCTURA DE ARCHIVOS
11.1. VISIÓN GENERAL DE LOS MEDIOS FÍSICOS DE ALMACENAMIENTO
Los medios de almacenamiento se clasifican según la velocidad con la que se puede acceder a los datos, por el coste de adquisición del medio por unidad de datos y por la fiabilidad del medio.
•Caché
.
es la forma de almacenamiento más rápida y costosa. La memoria caché es pequeña; su uso lo gestiona el hardware del sistema informático.
• Memoria principal
.
El medio de almacenamiento utilizado para operar con los datos disponibles es la memoria principal.
• Memoria flash
se diferencia de la memoria principal en que los datos pueden sobrevivir a los fallos del suministro eléctrico.
• Almacenamiento en discos magnéticos
Principal medio de almacenamiento a largo plazo de datos en conexión.
Generalmente se guarda en este tipo de discos toda la base de datos.
• Almacenamiento óptico
La forma más popular de almacenamiento óptico es el disco compacto
• Almacenamiento en cinta
se utiliza principalmente para copias de seguridad y datos de archivo.
11.2. DISCOS MAGNÉTICOS
Características físicas de los discos
Cada plato del disco tiene una forma circular plana. Sus dos superficies están cubiertas por un material magnético y la información se graba en ellas.
Gira de 60 a 250 rpm además hay una cabeza de lectura y escritura que guarda magnéticamente la información en los sectores,esta ubicada justo encima de la superficie del plato.
Un disco de cabezas fijas tiene una cabeza diferente para cada pista.
Un controlador de disco actúa como interfaz entre el sistema informático y el hardware concreto de la unidad de disco.
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.
Tiempo medio de búsqueda
es la media de los tiempos de búsqueda medido en una sucesión de solicitudes aleatorias
Tiempo de latencia rotacional
Una vez ha tenido lugar la búsqueda, el tiempo que se pasa esperando a que el sector al que hay que tener acceso aparezca bajo la cabeza
Tiempo de latencia medio del disco
es la mitad del tiempo empleado en una rotación completa del disco.
Tiempo medio entre fallos
es la cantidad de tiempo que, en media, se puede esperar que el sistema funcione de manera continua sin tener ningún fallo.
Optimización del acceso a los bloques del disco
• Planificación
.
Si hay que transferir varios bloques de un cilindro desde el disco a la memoria principal puede que se logre disminuir el tiempo de acceso solicitando los bloques en el orden en el que pasarán por debajo de las cabezas.
• 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.
• Memoria intermedia de escritura no volátil.
Se puede utilizar memoria no volátil de acceso aleatorio (RAM no volátil) para acelerar la escritura en el disco de manera drástica, durante fallos del suministro eléctrico.
• Disco de registro histórico.
Todos los accesos a este son secuenciales, lo que elimina principalmente el tiempo de búsqueda y, así, pueden escribirse simultáneamente varios bloques consecutivos, lo que hace que los procesos de escritura en el disco sea mas rapido que los proceso de escritura aleatorios
11.3. RAID (Redundant Array of Independent Disks)
Ofrece la posibilidad de mejorar la fiabilidad del almacenamiento de datos, ya que se puede guardar información repetida en varios discos.
Para abordar los problemas de rendimiento y de fiabilidad se han propuesto varias técnicas de organización de discos, denominadas RAIDs
Mejora de la fiabilidad mediante la redundancia
La solución al problema de la fiabilidad es introducir la redundancia, es decir, se guarda información adicional que normalmente no se necesita pero que puede utilizarse en caso de fallo de un disco para reconstruir la información perdida
Mejora del rendimiento mediante el paralelismo
Con varios discos también se puede mejorar la velocidad de transferencia distribuyendo los datos entre varios discos.
Niveles de RAID
• RAID de nivel 0
Se refiere a disposiciones de discos con distribución en el nivel de bloque pero sin redundancia .
• RAID de nivel 1
Se refiere a la creación de imágenes del disco con distribución de bloques.
• RAID de nivel 2
También se conoce como organización de códigos de corrección de errores tipo memoria, usa la paridad para detectar los errores
• RAID de nivel 3
U organización de paridad con bits entrelazados, mejora respecto al nivel 2 destacando que, a diferencia de los sistemas de memoria, los controladores de disco pueden detectar si un sector se ha leído correctamente, por lo que se puede utilizar un solo bit de paridad para la corrección y la detección de los errores.
• RAID de nivel 4
U 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
• RAID de nivel 5
O 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.
• RAID de nivel 6
También denominado esquema de 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.
Elección del nivel RAID adecuado
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 se incluyen en los niveles 3 y 5 de RAID, se toman los 2 últimos.
La reconstrucción resulta mas sencilla en el nivel 1
Antes de esto debeos considerar
• 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.
Aspectos hardware
RAID se puede implementar sin cambios en el nivel hardware modificando sólo el software.
Los sistemas con soporte hardware especial se denominan sistemas RAID hardware.
Algunas implementaciones RAID permiten el intercambio en caliente
11.4. ALMACENAMIENTO TERCIARIO
En un sistema de bases de datos de gran tamaño puede que parte de los datos tenga que residir en almacenamiento terciario. Los dos medios de almacenamiento terciario más frecuentes son los discos ópticos y las cintas magnéticas.
Discos ópticos
Los discos compactos son un medio popular de distribución de software.
Los discos de vídeo digital (DVD, Digital Video Disk) están reemplazando a los discos compactos en las aplicaciones que requieren grandes cantidades de datos.
Las unidades CD y DVD presentan tiempos de búsqueda mucho mayores que las unidades de discos magnéticos
Cintas magnéticas
Resultan lentas en comparación con los discos magnéticos y ópticos.
Está limitada al acceso secuencial.
Las cintas se utilizan principalmente para copias de seguridad, para el almacenamiento de la información poco utilizada y como medio sin conexión para transferir información de un sistema a otro.
11.5. ACCESO AL ALMACENAMIENTO
Gestor de la memoria intermedia
Los programas de un sistema de bases de datos formulan solicitudes al gestor de la memoria intermedia cuando necesitan un bloque del disco.
Debe utilizar técnicas más complejas que los esquemas de gestión de la memoria virtual habituales:
• 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.
• 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.
• 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.
Políticas para la sustitución de la memoria intermedia
Si hay que sustituir un bloque, se sustituye el bloque al que se ha hecho referencia menos recientemente. Este enfoque se denomina esquema de sustitución de bloques LRU.
LRU es un esquema de sustitución aceptable para los sistemas operativos.
11.6. ORGANIZACIÓN DE LOS ARCHIVOS
Los archivos se organizan lógicamente como secuencias de registros. Estos registros se corresponden con los bloques del disco
Registros de longitud fija.
Se declara su tamaño y este no cambia.
Registros de longitud variable
Surgen de varias maneras
• Almacenamiento de varios tipos de registros en un mismo archivo
• Tipos de registro que permiten longitudes variables para uno o varios de los campos
• Tipos de registro que permiten campos repetidos
Representación en cadenas de bytes
Se usa una forma modificada de la representación en cadenas de bytes, denominada estructura de páginas con ranuras, se utiliza normalmente para organizar los registros dentro de cada bloque
Representación de longitud fija
Otra manera de implementar eficientemente los registros de longitud variable en un sistema de archivos es utilizar uno o varios registros de longitud fija para representar cada registro de longitud variable.
Espacio reservado.Si hay una longitud de registro máxima que no se supera nunca, se pueden utilizar registros de longitud fija de esa longitud.
Representación con listas. El registro de longitud variable se representa mediante una lista de registros de longitud fija, enlazada mediante punteros.
11.7. ORGANIZACIÓN DE LOS REGISTROS EN ARCHIVOS
• Organización de archivos en montículo
. En esta organización se puede colocar cualquier registro en cualquier parte del archivo en que haya espacio suficiente.
• Organización de archivos secuenciales.
En esta organización los registros se guardan en orden secuencial, basado en el valor de la clave de búsqueda de cada registro.
• Organización asociativa (hash) de archivos.
En esta organización se calcula una función de asociación (hash) de algún atributo de cada registro.
•Organización de archivos en agrupaciones
es una organización de archivos, que almacena registros relacionados de dos o más relaciones en cada bloque. Esta organización permite leer muchos de los registros que satisfacen la condición de reunión utilizando un solo proceso de lectura de bloques.
11.8. ALMACENAMIENTO CON DICCIONARIOS DE DATOS
Entre los tipos de información que debe guardar el sistema:
• Los nombres de las relaciones
• Los nombres de los atributos de cada relación
• Los dominios y las longitudes de los atributos
• Los nombres de las vistas definidas en la base de datos y las definiciones de esas vistas
• Las restricciones de integridad
Se puede guardar
• Los nombres de los usuarios autorizados
• La información de las cuentas de usuarios
• Contraseñas u otra información usada para autenticar a los usuarios
• Etc
11.9. ALMACENAMIENTO PARA LAS BASES DE DATOS ORIENTADAS A OBJETOS
Correspondencia de los objetos con los archivos
Tiene gran parecido con la correspondencia de las tuplas con los archivos de los sistemas relacionales.
Se pueden guardar los datos de los objetos utilizando las estructuras de archivos
Implementación de los identificadores de los objetos
Los IDOs físicos suelen tener las tres partes siguientes:
Un identificador de volumen o de archivo
Un identificador de las páginas dentro del volumen o archivo 3. Un desplazamiento dentro de la página
Dado que los objetos se identifican mediante los identificadores de los objetos (IDO).
Gestión de los punteros persistentes
Una diferencia importante entre los punteros persistentes y los punteros internos de memoria es el tamaño de los mismos. Los punteros internos de memoria sólo necesitan tener el tamaño suficiente para apuntar a toda la memoria virtual.
Tienen que apuntar a todos los datos de la base de datos por lo que son mucho mas grandes.
Rescate hardware
Representación de punteros
Rescate de punteros en una página
Desreferencia de punteros
Optimizaciones
Los esquemas de rescate software y hardware permiten la desreferencia eficiente de los punteros persistentes.
Estructura de los objetos en el disco o en la memoria
Una fuente inesperada de diferencias entre las representaciones de los datos en el disco y en la memoria son los punteros ocultos de los objetos.
Objetos de gran tamaño
• Datos de texto.
• Datos gráficos
• Datos de sonido y de vídeo.