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 3d Almacenamiento en cinta: menos costo, mayor lentitud de acceso por ser secuencial. Almacenamiento de copias de seguridad Almacenamiento en linea: cloud-computing Solid State Drive, Secure Digital, MultiMediaCard, Memory Stick, 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 Visión general
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. Discos Magnéticos
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. Disposición de discos
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
Medidas de rendimiento
Requerimientos: gran número de discos en sistema, paralelismo y fiabilidad de almacenamiento Objetivo: abordar problemas de rendimiento y fiabilidad. Fiabilidad ?Redundancia Rendimiento ?Paralelismo 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 Niveles de RAID
Costo económico extra Requisitos de rendimiento de E/S Rendimiento cuando falla disco Rendimiento durante la reconstrucción de datos Elección de RAID
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.
Acceso al almacenamiento
Gestor de 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. Gestor memoria intermedia
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 fija
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 estructura 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
Almacenamiento y estructuras de archivos longitud variable
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.
Organización de registros en archivos
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
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 Diccionario de datos
http://es.wikipedia.org/wiki/RAID Silberschatz, Korth, Sudarshan. Fundamentos de bases de datos 4ta edicion. CAPITULO 11 Referencias