Almacenamiento y estructura de archivos Ing Fabin Ruano
Almacenamiento y estructura de archivos Ing. Fabián Ruano
Visión general � Caché: rapida y costosa � Memoria principal: RAM, temporal. No es lo suficientemente grande para almacenar BDs � Memoria flash: Memoria de solo lectura programable y borrable electricamente. Para escribir se debe formatear todo el banco de memoria. Igual de rapida que RAM. � Discos magnéticos: Principal medio de almacenamiento. Acceso a datos desde la memoria principal y guardado igual.
Visión general � Almacenamiento óptico: Compact Disc, Digital Versatile Disc, Blu-Ray Disc, UMD, HD DVD, Blu-Ray 3 d � Almacenamiento en cinta: menos costo, mayor lentitud de acceso por secuencial. Almacenamiento de copias de seguridad � Almacenamiento en linea: cloud-computing � Solid State Drive, Secure Digital, Multi. Media. Card, Memory Stick, Compact. Flash, Microdrive, Smart. Media, x. DPicture Card
Visión general Dependiendo de la velocidad se clasifican en � Almacenamiento primario � Almacenamiento secundario � Almacenamiento terciario Dependiendo de persistencia de la información: - Volátil - No Volátil
Discos Magnéticos � Capacidades? � Características físicas
Discos Magnéticos � Controlador del disco: interfaz entre sistema informático y HW de unidad de disco. Toma ordenes de alto nivel y realiza acciones físicas. � Comprobación de suma: valor guardado en escritura por sector en lectura se recalcula y se compara con lo almacenado, si despues de n intentos no coincide se declara error de lectura. � Reasignación de sectores: cuando se daña sector se mueve información a sectores para este fin.
Disposición de discos � DD conectado a controlador � Varios DD en diferentes locaciones conectados a un único controlador � Red de área de almacenamiento (Storage Area Network, SAN): gran numero de discos mediante red de alta velocidad a varios servidores � Disposición redundante de discos independientes RAID (Redundante Array of Independent Disks): proporciona vista lógica de DD de gran tamaño y muy fiable.
Medidas de rendimiento � Tiempo de acceso: tiempo desde formulación de solicitud de E/S hasta inicio de transferencia de datos: búsqueda + latencia. � Tiempo de búsqueda: tiempo de ubicación del brazo. Tiempo medio de búsqueda: media de tiempo con solicitudes aleatorias uniformemente distribuidas. � Tiempo de latencia rotacional: tiempo de espera a que un sector aparezca bajo el brazo. Tiempo de latencia medio: [tiempo rotación completa] / 2
Medidas de rendimiento � Velocidad de transferencia: velocidad a la que se puede recuperar o guardar datos en disco. � Tiempo medio entre fallos: fiabilidad del disco. Cantidad de tiempo que, en media, se puede esperar que el sistema funcione de manera continua sin tener algún fallo
RAID � Requerimientos: gran número de discos en sistema, paralelismo y fiabilidad de almacenamiento � Objetivo: abordar problemas de rendimiento y fiabilidad. � Fiabilidad Redundancia � Rendimiento Paralelismo
Niveles de RAID � Nivel 0: información en fragmentos pero sin redundancia � Nivel 1: espejos de cada fragmento. Simple pero costoso. Cuando rendimiento de lectura es mucho mas importante que capacidad. Conjunto RAID 1 solo puede ser tan grande como el mas pequeño de los discos.
Niveles de RAID � Nivel 2: división por bits. Varios discos dedicados a paridad
Niveles de RAID � Nivel 3: división por bytes. Problemas de lectura. Disco dedicado a paridad.
Niveles de RAID � Nivel 4: división por bloques. Disco dedicado a paridad
Niveles de RAID � Nivel 5: paridad distribuida
Niveles de RAID � Nivel 6: adiciona paridad a RAID 5
Elección de RAID � Costo económico extra � Requisitos de rendimiento de E/S � Rendimiento cuando falla disco � Rendimiento durante la reconstrucción de datos
Acceso al almacenamiento � Objetivo: minimizar transferencias de bloques entre el disco y la memoria � Solución: Maximizar número de bloques en memoria para evitar procesos entre memoria principal y secundaria. Memoria intermedia (buffer) es destinada para ello. � Gestor de memoria intermedia: responsable de asignación del espacio del buffer.
Gestor de memoria intermedia
Gestor memoria intermedia � Estrategia de sustitución: Que hacer cuando no queda espacio en buffer? Algoritmo común: Menos recientemente utilizado. � Bloques clavados: limitar escritura de bloque en disco. � Salida forzada de bloques: sobre-escribir bloque del disco aunque no se necesite espacio en buffer.
Almacenamiento y estructura de archivos – longitud fija � No todos los bloques son de igual longitud � Enfoque sencillo: espacios iguales acceso secuencial problema de espacios libres en borrado problemas cuando bloques no son de tamaño adecuado ◦ Adicionar estructura para index de espacios ◦ Registros en lista enlazada ◦ ◦
Almacenamiento y estructura de archivos – longitud variable � Aparecen cuando: ◦ Necesario almacenar varios tipos de registros en un solo archivo ◦ Longitudes variables en uno o varios campos ◦ Tipos de registros con campos repetidos � Representación en cadenas de bytes ◦ Símbolo de finalización de registro o tamaño de registro al inicio del mismo
Almacenamiento y estructuras de archivos – longitud variable ◦ Inconvenientes cadena de bytes �Problemas para volver a usar el espacio liberado tras el borrado de un registro �Expansión de tamaño de registros guardados es casi imposible en algunos casos � Estructura de páginas con ranuras ◦ Hay cabecera al inicio del bloque indica �Numero de elementos en el registro �El espacio vacio del bloque �Un array de entradas que indica la dirección y el tamaño de cada registro
Almacenamiento y estructuras de archivos – longitud variable ◦ Bloques de pocos Kb de tamaño ◦ Reubicación tras borrado de un registro � Representación de longitud Fija ◦ Espacio Reservado �Teniendo el tamaño máximo de cada registro se toman bloques de dicho tamaño y lo sobrante de cada bloque se rellena con caracteres especiales �Útil cuando los registros tienen usualmente un tamaño cercano al maximo
Almacenamiento y estructuras de archivos – longitud variable ◦ Representación con listas �cada registro se representa con lista de registros de longitud fija enlazados mediante punteros �Desperdicia espacio excepto en el primer bloque �Soluciones para perdida de espacio: usar bloque ancla y bloque de desbordamiento
Organización de registros en archivos � Organización de Archivos En montículo � Organización de Archivos Secuenciales ◦ No hay organización de los registros ◦ Generalmente un archivo por relación ◦ Organización dependiente de una clave de búsqueda, no necesariamente PK o superclave. ◦ Vinculación de registros mediante punteros ◦ Costo de ordenamiento es alto cuando se inserta o borran registros, hay que mover grandes cantidades de información
Organización de registros en archivos � Organización Asociativa (hash) de archivos ◦ Relación x Archivo y tuplas en bloques de tamaño fijo �Ideal para BD pequeñas �Aprovecha sistema de archivos del S. O. ◦ Relación x Archivo y tuplas en diseños mas complejos ◦ Único archivo para base de datos completa ◦ Almacenan registros relacionados de dos o mas relaciones en un solo bloque. Mejor consultas.
Diccionario de datos � Usualmente ◦ ◦ ◦ Nombres de relaciones Nombres de atributos de cada relación Dominios y longitudes de atributos Nombres de vistas y definicion de las mismas Restricciones de integridad � Algunos sistemas ◦ Nombres de usuarios ◦ Informacion de cuentas de usurios ◦ Informacion para autenticacion
Diccionario de datos � Informacion estadistica ◦ No tuplas x relacion ◦ Metodo de almacenamiento x relacion � Organización de almacenamiento ◦ Tipo de organización ◦ Ubicación de las relaciones � Informacion ◦ ◦ de indices Nombre de indice Nombre de relacion Atributos implicados Tipo de indice formado
Referencias � http: //es. wikipedia. org/wiki/RAID � Silberschatz, Korth, Sudarshan. Fundamentos de bases de datos 4 ta edicion. CAPITULO 11
- Slides: 30