340 likes | 523 Views
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
E N D
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 borrableelectricamente. 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 3d • Almacenamiento en cinta: menos costo, mayor lentitud de acceso por ser secuencial. Almacenamiento de copias de seguridad • Almacenamiento en linea: cloud-computing • SolidState Drive, Secure Digital, MultiMediaCard, MemoryStick, CompactFlash, Microdrive, SmartMedia, xD-Picture 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 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 que 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 • No hay organización de los registros • Generalmente un archivo por relación • Organización de Archivos Secuenciales • 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 • Informacionestadistica • 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 4ta edicion. CAPITULO 11