Please enable JavaScript.
Coggle requires JavaScript to display documents.
Almacenamiento y estructura de archivos (Visión General (Almacenamiento en…
Almacenamiento y estructura de archivos
Visión General
Almacenamiento en discos magneticos
Principal medio de almacenamiento a largo plazo de datos en conexión, Aqui es donde se almacena toda la base de datos: capaz de soportar los cortes electricos y las caidas de sistema.
Almacenamiento Optico
Utilizados para almacenamiento en DC o DVD
Memoria flash
Los datos si sobreviven en caso de una falla electrica, las lecturas son igual de rapidas que en memoria principal mas la escritura es complicada y sin sobrescritura directa. Se ha hecho popular por sustituir a los discos magneticos en volumenes pequeños de datos.
Memoria principal
Aqui operan las instrucciones de proposito general, a pesar de su gran tamaño suele resultar insuficiente para almacenar toda la base de datos
si ocurre un corte electrico, los datos suelen ser perdidos.
Almacenamiento en cinta
Utilizado principalmente para copias de seguridad, tiene acceso mas lento a los datos por ser secuencial.
Caché
Es la forma mas costosa de almacenamiento, mas en bases de datos no es de preocupacion.
Discos Magnéticos.
Caracteristicas
Medidas de rendimiento
Tiempo de busqueda:
Es el tiempo que toma volver a ubicar el brazo, aumenta segun la distancia que se deba recorrer. Mide tambien la duración de las busquedas.
Tiempo de latencia rotacional:
Es el tiempo que se pasa esperando a que el sector al que haya que tener acceso aparezca bajo la cabeza.
Tiempo de acceso:
Es el tiempo transcurrido desde que se formula una solicitud de lectura o escritura
Tiempo de latencia medio:
Es la mitad del tiemo empleado en una rotación completa del disco.
Velocidad de transferencia de datos:
Velocidad a la que se pueden recuperar o guardar los discos en el disco.
Tiempo medio entre fallos:
Es el tiempo medio entre fallos de un disco. Es la cantidad de tiempo que, en media, se puede esperar que el sistema funcione de manera continua sin tener ningun fallo.
RAID
Mejora de la fiabilidad meidante la redundancia:
Se guarda informacion adicional que normalmente no se necesita pero que puede utilizarse en caso de fallo de un disco para reconstruir la informacion perdida.
Mejora del rendimiento mediante el paralelismo:
La velocidad de tranferencia de cada proceso de lectura es la misma que en los sistemas de discos unicos, pero el numero de procesos de lectura por unidad de tiempo se ha duplicado.
Niveles de RAID:
Nivel 2:
Se hace uso de la paridad para detectar todos los errores de un bit por el sistema de memoria
Nivel 1:
Creacion de imagenes del disco con distribucion de bloques.
Nivel 0:
Disposiciones de discos con distribucion en el nivel de bloque pero sin redundancia
Nivel 4:
Usa bloques y no bits, guarda todo un bloque de paridad en un disco aparte de los demas bloques.
Nivel 5:
Divide los datos y la paridad entrelo N+1 discos en lugar de guardar los datos en N discos y la paridad en uno.
Nivel 6:
Guarda infirmacion redundante adicional para proteccion contra fallos de disco multiples.
Nivel 3:
Se diferencia por detectar si un sector ha sido leido correctamente, por lo que solo hace uso de un bit de paridad.
Eleccion del nivel de RAID adecuado:
Se debe tomar en cuenta el costo economico extra de los requisistos de almacenamiento en disco, requisitos de rendiemiento en terminos del munero de operaciones E/S, rendimiento cuando falla un disco y rendimiento durante la construccion.
Optimización del acceso a los bloques del disco
Disco de registro historico:
Son secuenciales, lo que elimina el tiempo de busqueda y, asi, puede escribirse simultaneamente varios bloques consecutivos ,lo que hace los procesos de escritura mas rapidos que los de escritura aleatoria.
Memoria interna de escritura no volatil:
Se hace uso de la RAM volatil para almacenar las copias de manera mas rapida y segura, esta se utiliza como intermedia con la principal.
Organización de archivos:
Busca organizar los bloques del disco de una manera que se corresponda fielmente con la forma en que se espera tener acceso a los datos.
Planificación:
Intentan ordenar el acceso a las pistas de manera que se aumente el numero de accesos que pueden procesarse.
Almacenamiento Terciario
Discos Opticos:
Posee velocidad de tranferencia menos que los discos magneticos, son utiles para la distru¿ibucion masiva de datos pues tienen gran capacidad de almacenamiento y son baratos de producir.
Cintas Magneticas:
Resulta inadecuada para proporcionar el acceso aleatorio. Se utilizan principalmente para copias de seguridad, almacenamiento de informacion poco utilizada y para tranferencia de datos sin conexion.
Acceso al almacenamiento
Gestor de la memoria inmediata
Estrategia de sustitucion:
Se vuelve a escribir en el disco y se elimina de la menoria interna el bloque al que se ha hecho referencia menos recientemente.
Bloques clavados:
Son bloques sobre los que no se puede volver a escribir , se utiliza para sistemas resistentes a caidas.
Salida forzada de los bloques:
Casos en los que se necesita escribir el bloque en disco, aunque no sea necesario el espacio de memoria intermedia
Organización de los archivos
Registros de longitud fija:
Presenta problemas al querer borrar un registro pues este debe ser reemplazado por otro o marcado como borrado, además de que cada registro debe tener siempre el mismo tamaño o podria saltarse los limites del bloque.
Registros de longitud Variable
Representacion en cadenas de bytes:
Se almacenan como una cadena de bytes adjuntando un simbolo al final del registro para separarlo de los otros.
Presenta problemas como la dificultad de reutilizacion de espacio y por lo general queda poco espacio para el aumento del tamaño de los registros.
Representacion en longitud fija
Espacio reservado:
Se puede utilizar cuando se tiene un registro que no supera el tamaño maximo y completas con simbolos especiales o valores nulos.
Representacion con listas:
Se representa mediante listas de longitud fija, enlazadas mediante punteros.
Organizacion de los registros en archivos
Monticulos:
Se puede colocar cualquier registro en cualquier parte del archivo con espacio suficiente.
Secuenciales:
Se guardan en orden secuencial, basado en el valor de la clave del bus que queda de cada registro.
Hash:
Se calcula una funcion hash de algun atributo de cada registro, el resultado de la funcion especifica el bloque del archivo en que se debe colocar el registro.
Organización de archivos secuenciales:
Diseñados para el procesamiento eficiente de los registros de acuerdo con un orden basado en una clave de busqueda. Para recuperacion rapida los registros estan vinculados por punteros.
Mantener el orden es dificil debido a los borrados y las inserciones, ya que desplazar los archivos resulta costoso.
Para hacer una insercion se aplican las reglas: Localizar el registro que corresponde, lusgo se busca si exite un espacio vacio y se coloca ahi, sino va a un bloque de desbordamiento.
Organizacion de archivos en agrupaciones:
Resulta adecuada para los sistemas de bases de datos diseñados para computadoras personales. A medida que aumenta el tamaño de la base de datos se vuelve menos conveniente de usar
Almacenamiento con Diccionarios de datos
ALmacenamiento de las relaciones como el esquema de las mismas. El diccionario de datos tambien puede anorar la organizacion del almacenamiento de las relaciones y l ubicacion de almacenamiento
Almacenamiento para bases OO
Correspindencia de los objetos con los archivos
Se asemeja a la correspondencia de las tuplas con los archivos de los sistemas relacionales, con diferencias como que las bases OO pueden carecer de uniformidad en las tuplas, los objetos pueden ser muy grandes y se deben tratar de manera diferente a los registros relacionales.
Implementacion de los identificadores de los objetos
Posee un indice que asocia los IDOs con la ubicación real del objeto. Estan compuestos por tres partes:
Un identificador de volumen.
Un identificador de las paginas dentro del volumen.
Un desplazamiento dentro de la pagina.
Gestion de los punteros persistentes
En algunas implementaciones los punteros son logicos y en otros son fisicos. La diferencia con los punteros internos de memoria es el tamaño.
Rescate hardware
Representacion de punteros
Un puntero persistente se divide en un identificador de pagina y un desplazamientto en la pagina 4. El identificador de la pagina es un puntero indirecto de pequeño tamaño.
El sistema tiene que buscar el identificador de página corto en los punteros persistentes de la tabla de traducción para encontrar el identificador de página completo
Rescate de punteros en una pagina
Se buscan todos los punteros persistentes contenidos en los objetos de la pagina utilizando la informacion adicional guardada en la misma.
Desreferencia de punteros
-Determina la pagina de la DB que se asigno a la pagina de la memoria virtual.
-Asigna espacio de almacenamiento para la pagina y se carga la pagina de la DBrealiza rescate de punteros de la pagina de DB.
Optimizaciones
El rescate de software tiene una operacion de devolucion asociada, cuando hay que volver a escribir en la DB una pagina de la memoria, para transformar de nuevo los punteros internos de la memoria en persitentes.
Estructura de los objetos en el disco o en la memoria
Se usa si se decea que la DB pueda ser accesada desde diferentes maquinas o por motivos de rescate de software.
Objetos de gran tamaño
Datos de sonido y de video
Representacion digitalizada y comprimida creada y reproducida por software de aplicaciones diferentes.
Datos graficos
Se pueden representar como bitmaps o como conjuntos de lineas, cuadros y demas figuras geometricas.
Datos de texto
Se trata como una cadena de bytes
CAPITULO 11