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