1 Estructuras de almacenamiento y métodos de acceso Objetivos Conocer diferentes técnicas para colocar los registros de un fichero en el disco Entender la teoría y aplicación de las técnicas de dispersión (hashing) interna y externa Conocer cómo usar dispersión para facilitar la expansión dinámica de ficheros Comprender la teoría y aplicación de los índices primarios, secundarios y de agrupamiento Distinguir entre índices densos y no densos Identificar y comprender las ventajas e inconvenientes de cada técnica de organización de ficheros
2 Contenidos 1. Conceptos generales de organización de ficheros 2. Organización primaria 1. Ficheros no ordenados 2. Ficheros ordenados 3. Ficheros mixtos 4. Ficheros dispersos 5. Árboles B y otras estructuras de datos 3. Organización secundaria 1. Índices ordenados de un solo nivel 2. Índices de múltiples niveles 4. Ficheros mixtos en Oracle 5. Ficheros dispersos en Oracle 6. Especificación de índices en SQL y Oracle Estructuras de almacenamiento y métodos de acceso
3 Los datos de una BD están almacenados en un medio de almacenamiento en el ordenador: Almacenamiento secundario de disco magnético Estudiaremos técnicas de almacenamiento en disco Formas de organizar ficheros de datos en el disco Para conseguir acceso a BD con rendimiento aceptable Cada técnica tiene ventajas/inconvenientes, conocidas por Diseñadores y ABDs Implementadores de SGBD Una aplicación, en cierto momento, sólo necesita acceder a una porción de la BD. Deberá… Localizarla en disco Copiarla a la memoria principal Procesarla Reescribirla en disco (si se modificó) Conceptos generales de organización de ficheros
4 Datos en disco organizados en ficheros de registros Registro Colección de valores de datos relacionados entre sí Cada valor (1 o más bytes) corresponde a un campo Cada campo tiene asociado un tipo de datos Definición de Tipo de Registro: { (nombre-campo,tipo-datos) } Conceptos generales de organización de ficheros Registros, tipos de registro y bloques
5 Los registros son almacenados en disco de forma que, cuando se necesiten, su recuperación sea eficiente
Transferencia de datos entre memoria principal y disco en unidades de bloque Un disco magnético está estructurado en pistas y sectores División de pista en bloques (páginas) por el SO al formatear el disco
Si se necesita información contenida en cierto bloque… Se pasa al dispositivo hardware de E/S del disco: Dirección hardware del bloque Dirección de un búfer (memoria intermedia) Lectura: copia el bloque del disco al búfer Escritura: copia el bloque del búfer al disco Conceptos generales de organización de ficheros Registros, tipos de registro y bloques
6 Registros, tipos de registro y bloques (y 2)
Tiempo(localización&transferencia) >Tiempo(procesamiento CPU)
La solución… estructurar los ficheros para minimizar el nº de transferencias de bloques necesarias para localizar y transferir datos del disco a memoria principal Conceptos generales de organización de ficheros Búsqueda + Retardo Rotacional+ Transferencia ?Cuello de botella
7 Fichero Secuencia de registros con igual estructura Fichero mixto Contiene registros de diferente tipo Aumenta la eficiencia de operaciones de reunión Fichero de registros de longitud fija Fichero de registros de longitud variable, debido a… Registros del mismo tipo pero con algún campo . de longitud variable, multivalorado, opcional Fichero mixto Ficheros, registros de longitud fija y variable Conceptos generales de organización de ficheros
8 Los registros se asignan a bloques de disco tamaño(bloque) = B bytes Si B > tamaño(registro) ? varios registros por bloque
Fichero con registros de longitud fija R Si B ? R ? factor de bloques fbl = ? B / R ? registros Espacio desocupado = B – ( fbl * R ) bytes Organización extendida: aprovechar este espacio almacenando ahí (una parte de) otro registro (y el resto en otro bloque) Organización no extendida: no se permite que un registro esté almacenado en varios bloques Grabación de registros en bloques, registros extendidos y no extendidos Conceptos generales de organización de ficheros
9 Fichero con registros de longitud variable Cada bloque contiene un nº distinto de registros fbl = número medio de registros por bloque Es posible estimar el nº de bloques necesarios para contener r registros: ?r / fbl? bloques
Puede utilizarse organización extendida o no extendida: Organización extendida si el tamaño medio de los registros es grande, pues se reduce el espacio desperdiciado por bloque Grabación de registros en bloques, registros extendidos y no extendidos (y 2) Conceptos generales de organización de ficheros
10 Contiene datos necesarios para que los programas puedan acceder a los registros del fichero Incluye información para determinar la dirección en disco de los bloques y descripción de formato de los registros Fichero con registros no extendidos y de longitud fija: longitud y orden de campos Fichero con registros de longitud variable: caracteres separadores entre campos marcas de tipo de campo (si campos opcionales) marcas de tipo de registro (si fichero mixto)
Descriptor de fichero (cabecera) Conceptos generales de organización de ficheros
11 Operaciones de obtención de datos Localizar ciertos registros para examinar y procesar su contenido Operaciones de actualización Insertar, eliminar o modificar registros
Suele ser necesaria una selección previa con base en una condición de búsqueda Si varios registros la satisfacen, se localiza el primero de ellos
Registro Actual: El localizado más recientemente en el búfer (memoria intermedia) Operaciones con ficheros Conceptos generales de organización de ficheros
12 Operaciones sobre un solo registro Buscar (Localizar) Leer (Obtener) Buscar Siguiente Eliminar Modificar Insertar Operaciones sobre un conjunto de registros Lectura Ordenada Buscar Todos Reorganizar Operaciones para Abrir y Cerrar ficheros Operaciones con ficheros (y 2) Conceptos generales de organización de ficheros
Página siguiente |