Almacenamiento y estructura de archivos
Download
Report
Transcript Almacenamiento y estructura de archivos
Ing. Fabián Ruano
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.
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, xDPicture Card
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
Capacidades?
Características físicas
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.
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.
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
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
Requerimientos: gran número de discos en
sistema,
paralelismo
y
fiabilidad
de
almacenamiento
Objetivo: abordar problemas de rendimiento
y fiabilidad.
Fiabilidad Redundancia
Rendimiento Paralelismo
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.
Nivel 2: división por bits. Varios discos
dedicados a paridad
Nivel 3: división por bytes. Problemas de
lectura. Disco dedicado a paridad.
Nivel 4: división por bloques. Disco dedicado
a paridad
Nivel 5: paridad distribuida
Nivel 6: adiciona paridad a RAID 5
Costo económico extra
Requisitos de rendimiento de E/S
Rendimiento cuando falla disco
Rendimiento durante la reconstrucción de
datos
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.
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.
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
adecuado
◦ Adicionar estructura para index de espacios
◦ Registros en lista enlazada
◦
◦
◦
◦
tamaño
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
◦ 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
◦ 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
◦ 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 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 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.
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
http://es.wikipedia.org/wiki/RAID
Silberschatz, Korth, Sudarshan. Fundamentos
de bases de datos 4ta edicion. CAPITULO 11