Almacenamiento de datos. Tema 6. Organización interna y diseño físico

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Almacenamiento de datos. Tema 6. Organización interna y diseño físico"

Transcripción

1 Tema 6. Organización interna y diseño físico Almacenamiento de registros y organizaciones de ficheros primarios Elmasri/Navathe 02 Introducción Dispositivos de almacenamiento secundario Acceso paralelo al disco mediante tecnología RAID Almacenamiento intermedio de bloques Grabación de registros de un fichero en disco Operaciones con ficheros Ficheros de registros no ordenados (ficheros de montón) Ficheros de registros ordenados (ficheros ordenados) Técnicas de direccionamiento calculado Otras organizaciones primarias de ficheros Estructuras de índices para ficheros Elmasri/Navathe 02 Índices basados en árboles B + Índices sobre claves múltiples Otros tipos de índices Diseño y ajuste práctico de bases de datos Elmasri/Navathe 02 Factores que influyen en el diseño físico de BD Pautas para diseño físico de BD relacionales Almacenamiento de datos Almacenamiento primario de datos La CPU puede acceder a los datos directamente Acceso rápido pero capacidad limitada Memoria principal: DRAM (Dynamic Random Access Memory), bajo coste, volátil Memoria caché: RAM estática, más pequeña, más rápida y más cara Almacenamiento secundario de datos La CPU no puede acceder directamente: hay que copiarlos antes a memoria principal Más lento, mayor capacidad y más baratos Discos ópticos Discos magnéticos Cintas Memorias flash Algo menos que primario y más que secundario Se usa como disco con conexión USB, en cámaras de fotos digitales o en MP3 players Es no volátil Tecnología EEPROM (Electrically Erasable Programmable Read-Only Memory) Lectura rápida pero escritura lenta Escribe la información por bloques. Si se quiere modificar algo de un bloque, hay que leerlo entero, modificarlo y sobreescribirlo 1 2 Almacenamiento secundario de datos Almacenamiento de BD Discos ópticos: 640 MB CD-ROM (Compact Disk Read-Only Memory): vienen pregrabados y no pueden sobrescribirse CD-R grabables. CD-RW regrabables. Estos dos últimos se han hecho populares para respaldos. Juke-boxes: array de CD-ROM extraíbles. Capacidad de cientos de GB. Más lentos que los discos magnéticos DVD (Digital Video Disk): entre 4,5 y 15GB Cintas: Se usan para respaldos periódicos (por ej. de las BD) Acceso secuencial (lento) Muy barato y gran capacidad pero NO son datos on-line (almacenamiento terciario) Juke-boxes: banco de cintas catalogadas que pueden ser cargadas automáticamente en la unidad. Las BD normalmente residen en almacenamiento secundario y se van leyendo porciones a memoria BD en memoria principal: Cuando es posible descargar toda la BD en memoria Se mantiene una copia de respaldo en disco Es útil en aplicaciones de tiempo real, que necesitan tiempos de respuesta muy rápidos Las BD se almacenan en ficheros de registros Un registro es una colección de valores de datos (por ejemplo una tupla del modelo relacional) Los registros deben almacenarse de modo que sea posible localizarlos de manera eficiente El SGBD ofrece varias opciones para organizar los datos El diseño físico de BD consiste en elegir entre estas opciones las más adecuadas para los requisitos de la aplicación Estudiaremos las principales: Organizaciones de datos, que determinan la forma en la que se colocan los registros en el disco y por tanto cómo se puede acceder a ellos: Ficheros de montón Ficheros ordenados Ficheros de direccionamiento calculado Ficheros con índices (primarios, de agrupación, secundarios) Métodos de acceso 3 4

2 Discos magnéticos Almacenan gran cantidad de datos (40GB, en continuo aumento y en continua reducción de precio) Hechos de material magnético, con una o varias superficies de una o dos caras cada una. Impulsor Movimiento impulsor Brazo Cabeza de lectura/escritura Pista. Rotación del disco Eje Pistas del mismo cilindro Sector bloques de datos Una cabeza móvil o varias cabezas fijas sobre las pistas (lo segundo es más rápido pero más caro y menos utilizado) Nº pistas: varía de cientos a miles de pistas por superficie Discos magnéticos (2) Los sectores (opcional) son divisiones físicas del disco Densidad de grabación: Puede ser la misma en todas las pistas También puede ser mayor en pistas centrales y menor en las más extremas Los bloques (o páginas) son divisiones creadas por el sistema operativo al formatear el disco (no cambia dinámicamente) Todos los bloques del disco tienen el mismo tamaño (entre 512 y bytes) Los bloques están separados por espacios interbloque con información de control (grabada en el formateo) El paquete de discos gira continuamente a una velocidad que suele estar entre y rpm Los disquetes, sin embargo, dejan de girar tras completarse cada transferencia de datos El controlador de disco hace de interfaz entre el disco y el sistema computador. Son muy utilizados los controladores SCSI, IDE 5 6 Registro, bloque y búfer Tiempo de acceso a los datos del disco Registro: entidad (E/R), tupla (relacional), fila (SQL), Bloque: Unidad de transferencia entre disco y memoria Formado por uno o varios registros Acceso directo (o aleatorio) a un bloque: La dirección de un bloque la forman: el nº de superficie, nº de pista y nº de bloque Búfer: espacio en memoria principal en el que cabe un bloque una pista DISCO bloques registros MEMORIA Búfer El bloque es la unidad de transferencia entre disco y memoria y entre memoria y disco Tiempo para transferir un bloque entre disco y memoria (o viceversa): entre 12 y 60 mseg. Tiempo bastante alto en comparación con lo que tarda la CPU en procesar sus registros (cuando están en el búfer) La localización de datos en disco es un cuello de botella importante en las aplicaciones de BD Tiempo de búsqueda (tb) Para colocar la cabeza sobre la pista (mecánico) Depende de la distancia a recorrer Es el principal retardo: mseg en PCs y 8-9 mseg en servidores Retardo rotacional (rr) (o latencia) Esperar a que el principio del bloque pase bajo la cabeza Caso mejor: acceso inmediato Caso peor: una vuelta entera Principal retardo en discos de cabeza fija Tiempo de transferencia de bloque (ttb) Depende del tamaño del bloque, de las pistas y rpm Suele costar 1-2 ms/bloque Ejemplos: Tiempo medio para encontrar y transferir 1 bloque: (tb + rr +ttb) mseg entre mseg. Al transferir varios bloques del mismo cilindro se reduce el tiempo: k bloques no contiguos del mismo cilindro: tb + k * (rr + ttb ) mseg. k bloques contiguos del mismo cilindro: tb + rr + k * ttb mseg. Las organizaciones de ficheros tratan de minimizar el nº de transferencias de disco a memoria 7 8

3 Tecnología RAID Originalmente: Redundant Arrays of Inexpensive Disks Posteriormente I = Independent Capacidad de RAM: se cuadruplica cada 2 o 3 años Mejoras en disco: Tiempo de acceso: <10% anual Transferencia : 20% anual Capacidad: >50% anual Magnitudes muy inferiores Solución natural: Array (grande) de discos pequeños e independientes Que funcione como un solo disco lógico De mayor rendimiento Franjeo de datos (Data striping): Uso de paralelismo para mejora del rendimiento (una operación en cada disco al mismo tiempo) Datos distribuidos en varios discos de forma transparente Aparentemente es un solo disco, grande y rápido También puede mejorar la fiabilidad almacenando información redundante Cómo mejorar la fiabilidad en RAID La probabilidad de error en banco de n discos es n veces mayor que para un disco Hay n impulsores de cabeza y no solo uno (es más probable que se produzca un error mecánico) Tiempo medio de fallo = horas = 22,8 años En banco de 100 discos = horas = 83.3 días! Una sola copia en un banco de discos: poco fiable Solución obvia: redundancia de datos Desventajas: Espacio de disco extra Operaciones E/S extra Computación extra para: Mantener coherente los datos redundantes Recuperación ante fallos Franjeo de datos Disco 0 Disco 1 Disco 2 Disco 3 Fichero A A 1 A 2 A 3 A 4 Los 4 discos se ven como un disco grande 9 10 Cómo mejorar la fiabilidad en RAID (2) Cómo mejorar la fiabilidad en RAID (3) Dos técnicas para introducir redundancia: La introducción de redundancia debe considerar dos problemas: 1. Reflejo o sombra (Mirroring o shadowing): Mantener 2 discos con idénticos datos Lectura: sobre el disco con menor retardo de cola, búsqueda y rotacional Si un disco se estropea se usa el otro hasta su reparación Gestiona el doble de lecturas en el mismo tiempo que un disco normal (una lectura en cada disco) La velocidad de transferencia es la misma que con un único disco. 2. Guardar información de control extra: Para reconstruir la información perdida en caso de fallos 1. Elegir una técnica que calcule la información redundante. Propuestas (códigos de corrección de errores): Bits de paridad Códigos de Hamming Con bits de paridad: un disco contiene la suma de todos los demás. Reconstrucción: proceso similar a una resta 2. Elegir un método de distribución de información redundante en el array de discos. Propuestas: Almacenar la información redundante en un nº pequeño de discos Distribuirla uniformemente entre los discos 11 12

4 Mejora del rendimiento con RAID Franjeo de datos en el nivel de bit: Cada bit de 1 byte se guarda en 1 disco distinto Para bytes de 8 bits podemos tener 8 discos Los 8 discos participan en toda operación de E/S La cantidad de datos leídos en cada solicitud es como mucho 8 veces mayor. Se puede generalizar la división a un múltiplo o divisor de 8 (ejemplo: array de 4 discos) Organizaciones RAID y niveles Se diferencian 7 niveles numerados del 0 al 6 La diferencia se basa en distintas combinaciones de: Granularidad de intercalado de datos (franjeo) Patrones usados para calcular la información redundante (bits de paridad, códigos de Hamming, de Reed-Solomon) Franjeo de datos en el nivel de bloque: Puede dar servicio a la vez a varias solicitudes de E/S sobre discos diferentes Baja el tiempo de espera en cola Puede servir en paralelo a 1 petición que implique varios bloques (si están en distintos discos) A mayor nº de discos mejor es la respuesta Franjeo de datos en el nivel de bloque Disco 0 Disco 1 Disco 2 Disco 3 Fichero A A 1 A 2 A 3 A 4 Los 4 discos se ven como un disco grande Técnica del doble búfer Tipos de registro Procesador de E/S (controlador de disco): Independiente de la CPU (en paralelo) Transfiere datos entre disco y memoria Mediante la técnica del doble búfer: La CPU procesa el bloque del búfer Mientras, el procesador de E/S transfiere otro bloque desde el disco a otro búfer Los datos se almacenan en registros Un registro es un conjunto de valores llamados campos Cada campo es de un tipo de datos (entero, string, boolean, fecha, etc.) Ejemplo: Tipo de registro EMPLEADO con campos NOMBRE: String(1..30) SALARIO: Integer, Bloque de disco: E/S Bloque de disco: PROCE- SAMIENTO i llenar A i+1 llenar B i proc. A i+2 llenar A i+1 proc. B i+2 proc. A tiempo Un campo puede contener objetos binarios grandes como imágenes, video, audio o texto libre (tipo BLOB) Se guardan aparte y en el campo contiene el apuntador al BLOB Los lenguajes de programación (Ada, C, ) permiten definir registros (record, struct, ) Fig. 5.6 Empleo de dos búferes (A y B) para leer del disco 15 16

5 Registros: longitud fija o variable Fichero: secuencia de registros Un registro tendrá longitud variable porque existe: Campo de tamaño variable Campo repetitivo Campos opcionales Registros de diferentes tipos en el mismo fichero NOMBRE NSS DPTO Fig. 5.7 a. Registro de longitud fija con 3 campos y 60 bytes Factor de bloques Bloque: unidad de transferencia de datos entre disco y memoria Programas: trabajan con registros situar los registros en bloques 1 bloque puede contener varios registros Factor de bloques: registros que entran en 1 bloque fbl = (B/R) registros por bloque donde: B= nº bytes por bloque R= nº bytes por registro (tamaño fijo) Puede quedar espacio desocupado en los bloques: Carácter separador NOMBRE NSS DPTO Carácter separador SALARIO B - (fbl * R) bytes Fig. 5.7 b. Registro con 2 campos de longitud fija (NSS y DPTO) y 2 de longitud variable(nombre y SALARIO) Todos los bloques de un mismo disco son del mismo tamaño una pista bloques Sólo entran 3 registros en el bloque. fbl? Separador fin campo Separador fin campo Separador fin registro NOMBRE=Juan Sánchez NSS=113 DPTO=LSI Separador nombre-valor Separador nombre-valor Separador nombre-valor Fig. 5.7c. Registro con campos de longitud variable y varios tipos de carácter separador DISCO Sólo entran 2 registros en el bloque. fbl? MEMORIA Búfer 1 Búfer Organizaciones extendida y no extendida Organización extendida: Aprovecha los espacios desocupados en los bloques Parte de un registro está en un bloque y el resto en otro Un apuntador al final del bloque apunta al bloque donde continúa el registro Es preciso usarla si el registro es mayor que el bloque Bloque i Bloque i+1 Registro 1 Registro 2 Registro 3Registro 4 Registro 4 (cont) Registro 5 Registro 6 Técnicas de asignación de los bloques de un fichero en disco Contigua: bloques consecutivos de disco. Facilita el doble búfer y dificulta el expandir el fichero Enlazada: cada bloque tiene un apuntador al siguiente bloque. Facilita la expansión y dificulta la lectura Grupos de bloques: combinación de las anteriores, un grupo de bloques consecutivos enlazado con el siguiente grupo consecutivo Indexada: bloques que contienen sólo índices. Los índices son apuntadores a los bloques que realmente contienen los datos Organización NO extendida: los registros no se parten en distintos bloques El proceso de los registros es más simple Bloque i Bloque i+1 Registro 1 Registro 2 Registro 3 Registro 4 Registro

6 Descriptor o cabecera de un fichero Operaciones con ficheros Información sobre el fichero, necesaria para los programas que lo usan: Direcciones en disco de los bloques del fichero Descripciones de formato de los registros como: Longitud y orden de campos en registros de longitud fija Códigos de tipo de campo, separadores, códigos de tipo de registro, en registros de longitud variable Se encuentra en bloques de disco asociados al fichero Varían de unos sistemas a otros. Abrir: Prepara el fichero para leer y asigna los búferes adecuados Recupera el descriptor y pone el de lectura al comienzo (primer registro) Volver al principio: Pone el de lectura al comienzo (primer registro) Buscar: Busca el siguiente registro que cumple la condición. Transfiere el bloque al búfer (si no estaba ya) Localiza el registro y lo convierte en registro actual. Leer: Copia el registro actual del búfer en una variable del programa de usuario y avanza el de lectura al siguiente registro. Eliminar: Elimina el registro actual Caso simple: reescribiendo en Actualiza el registro en el disco disco el bloque donde está el registro Operaciones con ficheros (2) Modificar: Modifica valores en el registro actual Actualiza el registro en el disco Insertar: Localiza el bloque donde insertar Transfiere el bloque al búfer Escribe el registro nuevo en el búfer Escribe el búfer en el disco Cerrar: Libera los búferes Realiza operaciones de limpieza Organización y método de acceso Organización del fichero: Cómo se colocan los registros y bloques Cómo interconectan Método de acceso: Programas que permiten realizar ciertas operaciones sobre el fichero de montón, ordenado, de direccionamiento calculado, indexado (primario, de agrupación, secundario) recorrer en secuencia, localizar uno concreto, buscar los que cumplan una condición, Es posible aplicar varios métodos de acceso a una misma organización de fichero Hay métodos de acceso que NO se pueden aplicar a algunas organizaciones de fichero Interesa encontrar la organización idónea en cada caso Será la que permita realizar de manera más eficiente las operaciones más frecuentes En muchos casos ninguna organización permite que todas esas operaciones se implementen eficientemente. Entonces se elige una solución de compromiso entre la importancia de lo que se espera y la mezcla de operaciones de recuperación y actualización 23 24

7 Ficheros de montón Eliminación en ficheros de montón Ficheros de registros NO ordenados (secuenciales) Organización más simple: Registros en el orden en el que se insertan Inserciones siempre al final del fichero Inserción Poner en el búfer el último bloque del fichero Añadir al búfer el registro a insertar Reescribir el búfer en el disco Guardar la dirección del bloque en el descriptor Búsqueda Lineal: bloque a bloque hasta que un registro cumpla la condición (costoso) Costo medio: acceso a b/2 bloques Costo caso peor: b Ningún registro cumple la condición b = nº de bloques del fichero Hay que obtener todos los que la cumplen Eliminación Buscar el registro a borrar Transferir el bloque al búfer Eliminar el registro del búfer Reescribir el búfer en el disco Problema: deja espacios desocupados en el disco (pueden ser muchos, si se borran muchos registros) Otra técnica: usar un bit del registro como marcador de eliminación y usar sólo los NO borrados Solución 1: reorganización periódica del fichero (para recuperar el espacio desocupado) Recorrer secuencialmente los bloques Recolocar los registros quitando los huecos Solución 2: intentar insertar sobre huecos y si no se puede insertar al final Cálculos adicionales para encontrar bloques con huecos Modificación en ficheros de montón Caso especial de ficheros de montón: ficheros relativos o directos Modificación Buscar el registro a modificar Transferir el bloque al búfer Modificar el registro en el búfer Reescribir el búfer en el disco Problema: registros de tamaño variable Solución: Eliminar el registro a modificar Insertar el registro modificado Con registros de longitud fija NO ordenados Bloques NO extendidos y de asignación continua En este caso es muy sencillo tener acceso a cualquier registro por la posición que ocupa en el fichero: Los registros se numeran como 0, 1, 2, 3,, r-1 Los registros en cada bloque se numeran como 0, 1,, fbl-1 Así el registro i-ésimo estará en: Bloque (i/fbl) Registro (i mod fbl) del bloque (mod es el resto de la división) Esta idea no ayuda a localizar un registro según una condición de búsqueda 27 28

8 Ficheros ordenados NO se trata de un fichero de montón Secuencial o secuencial ordenado recién ordenado Registros se mantienen físicamente ordenados según los valores de un campo: el campo de ordenación Si el campo de ordenación es clave, se llama clave de ordenación Bloque 1 Bloque 2 Bloque n NOMBRE Aaron, Ed Abbott, Diane Acosta, Marc Adams, John Adams, Robin Akers, Jan Wright, Pam Wyatt, Charles Zimmer, Byron NSS F_NCTO SALARIO SEXO Fig. 5.9 Bloques de un fichero ordenado (secuencial) de registros EMPLEADO con NOMBRE como campo clave de ordenación Ficheros ordenados: ventajas Lectura eficiente en orden del campo de ordenación Acceso eficiente al siguiente en el orden del campo de ordenación: Estará en el búfer (si quedan registros por leer) Si no, trae el siguiente bloque (si hay) Posibilidad de búsqueda binaria: Mucho más rápida Sólo si la condición de búsqueda se basa en un valor del campo clave de ordenación Búsqueda binaria (dicotómica) Se efectúa sobre bloques Ejemplo: bloques 1, 2,, b Las direcciones de 1, 2,, b, están en el descriptor Se desea encontrar un registro con valor K en su campo clave de ordenación Costo medio: acceso a log 2 (b) bloques Costo medio con búsqueda lineal: b/2 (b si no está) También se puede buscar por <, >, <=, >= sobre el campo de ordenación. Estos ficheros NO ofrecen ventajas para búsquedas por campos distintos al de ordenación Ficheros ordenados: operaciones Ficheros ordenados: operaciones (2) Se debe mantener el orden de los registros Inserción y eliminación: operaciones costosas Inserción Buscar el bloque donde insertar en orden el campo de ordenación Abrir espacio, desplazando el resto de registros del fichero Media: lectura y reescritura de b/2 bloques!! Insertar el nuevo registro y reescribir el bloque Alternativas: Bloques con espacio desocupado: cuando se llena tenemos el mismo problema Fichero de desbordamiento: NO está ordenado Los nuevos registros se insertan al final Periódicamente: reconstruir el fichero ordenado, colocando en su posición los registros del fichero de desbordamiento Inserción más eficiente Búsqueda más ineficiente Eliminación Similar a la inserción para la eliminación física Más sencillo si sólo se marca como borrado y se reorganiza periódicamente Modificación Según el caso podrá realizarse búsqueda binaria Si se modifica el campo de ordenación puede precisar cambiar de posición el registro. Eso supone hacer una eliminación y una inserción Si los registros son de longitud fija se podrá reescribir el bloque en la misma posición Uso de ficheros ordenados en BD Estos ficheros se usan poco en aplicaciones de BD Se usan más con un índice primario: ficheros secuenciales indexados 31 32

9 Técnicas de direccionamiento calculado (hashing) Acceso muy rápido para ciertas búsquedas Los ficheros de direccionamiento calculado se llaman también ficheros dispersos o directos Condición de búsqueda: igualdad sobre el campo de direccionamiento calculado (c.dir.cal.) El c.dir.cal. en la mayor parte de los casos es clave (valores únicos) Función de direccionamiento calculado o de aleatorización (f. hash) Se aplica a valores del c.dir.cal. del registro Resultado: dirección de un bloque de disco En el bloque está el reg. con ese valor de c.dir.cal. El registro se busca en el búfer Suele bastar con un acceso a bloques de disco Direccionamiento calculado interno: Estructura de datos (en memoria principal) muy útil en programación A continuación se hace un paréntesis para repasar esta estructura de datos (no se trata de ficheros) Los ficheros de direccionamiento calculado de los que se hablaba en esta página los estudiamos después como direccionamiento calculado externo Direccionamiento calculado interno M-1 NOMBRE NSS SALARIO. Array de 0..M-1 registros Elegir función de direccionamiento calculado: h(k)= k mod M k valor de k real: conversión previa a entero campo dir.cal. k string: conversión a entero usando los códigos Técnicas para las funciones de direccionamiento calculado: Plegado (folding): operación aritmética (ej. suma) ó lógica (ej. O exclusiva) en partes del c.dir.cal. para calcular la dirección Escoger dígitos Problemas con la mayoría de funciones de direccionamiento calculado: No garantiza direcciones distintas a claves distintas Espacio c.dir.cal. >> 0.. M-1 Colisión: la dirección obtenida ya está ocupada Búsqueda de otra dirección: resolución de colisiones Direccionamiento calculado interno (2) Métodos para resolución de colisiones Direccionamiento calculado interno (3) Direccionamiento abierto: búsqueda uno a uno en las direcciones siguientes a la devuelta por la función de direccionamiento calculado hasta encontrar un hueco libre Encadenamiento: Con áreas de desbordamiento Registros con un apuntador (campo nuevo) Registros de igual dirección: encadenados Espacio de direcciones Espacio de desbordamiento m-2 m-1 m m+1 m+2 NOM Campos de datos NSS FNAC SALARIOSEXO Apuntador desbordamiento m m+1-1 m m+k-1-1 Fig (b) Resolución de colisiones por encadenamiento Apunta al siguiente registro de la lista enlazada. -1 = a nulo Direccionamiento calculado múltiple: 2ª función de direccionamiento calculado en caso de colisión Caso de una 2ª colisión: uso de 3ª función Al final se usa direccionamiento abierto 35 Buscar, insertar y eliminar: Encadenamiento: algoritmos más simples Direccionamiento abierto: eliminación complicada Objetivo de una buena función de direccionamiento calculado: Distribuir uniformemente Mínimo de colisiones Máxima ocupación de posiciones en el array Resultado de simulaciones y análisis: Mejor 70%-90% de ocupación: Número bajo de colisiones Poco espacio desperdiciado Funciones con mod: Mejor distribución si M es primo Algunas funciones: Conviene que M=2 k 36

10 Direccionamiento calculado externo En ficheros de disco Proporciona el acceso más rápido a un registro concreto (por c.dir.cal.): en general un acceso a bloque Dirección: nº relativo de cubeta Una cubeta consta de 1 o varios bloques contiguos Tabla en descriptor: convierte el nº relativo de cubeta en dirección de bloque en disco Nº relativo de cubeta M-1 Dirección de bloque en disco Tabla contenida en el descriptor del fichero de direccionamiento calculado Fig Correspondencia entre número de cubeta y dirección de bloque en disco Direccionamiento calculado externo (2) Colisiones: sin problema hasta llenar cubeta Cubeta llena: lista enlazada de cubetas de desborde Punteros: dirección de bloque + nº de registro en el bloque Dirección de bloque en disco 0 1 M-1 Nº de cubeta En descriptor Cubetas principales Cubeta Puntero a Cubeta 1 registro nulo Cubeta M Datos Puntero a registro Puntero a registro Cubetas de desbordamiento Datos nulo 652 nulo Punteros a registro Fig Manejo de desbordamiento de cubeta por encadenamiento Problemas y operaciones en direccionamiento calculado externo Problemas: Las funciones de direccionamiento calculado, en general, NO preservan el orden de la clave Cantidad de espacio prefijada: M cubetas * m registros/cubeta Si nº reg. mucho menor: desperdicio de espacio Si es bastante mayor: Muchas colisiones Listas de cubetas de desbordamiento largas En ambos casos es preferible: Cambiar el espacio asignado Cambiar la función de dir. calculado Recolocar los registros Operaciones: Búsqueda: Por campo c.dir.cal. es tan costoso como en fichero no ordenado Eliminación: Cubeta: pasar un registro del área de desbordamiento Área de desbordamiento: eliminación en lista enlazada Modificación: C.dir.cal: eliminar e insertar Otro campo: reescritura Direccionamiento calculado con expansión dinámica El fichero crece según se necesita más espacio Soluciona el problema de espacio de direcciones fijo Dirección: se usa en forma de número binario Distribución: según bits de mayor peso Direccionamiento calculado extensible: Mediante listas Direccionamiento calculado lineal: No precisa estructura de datos (no los vamos a estudiar) 39 40

11 Ficheros de registros mixtos Índices Hasta aquí: ficheros con todos sus registros del mismo tipo Campos de conexión: Para representar relaciones (vínculos): claves extranjeras en el modelo relacional y referencias a objeto en el modelo orientado a objetos (OO) Constituyen referencias lógicas de campos entre registros de ficheros distintos Modelos OO, jerárquico y en red: Relaciones físicas: registros físicamente contiguos o mediante s Suelen asignar un área de disco que almacena registros de distintos tipos, que pueden estar agrupados físicamente Fichero mixto (registros de varios tipos): En OO contiene agrupados físicamente objetos relacionados Con un campo para almacenar el tipo de registro El SGBD una vez determinado el tipo de registro utiliza el catálogo para conocer los campos del registro y sus tamaños Estructuras de acceso que aceleran la obtención de registros (para ciertas condiciones de búsqueda) La mayoría de SGBD implementan sus índices con árboles B +. Estudiaremos exclusivamente estos índices Se distinguen cuatro tipos de índice: Índices secundarios sobre clave Índices secundarios sobre no clave Índices primarios (sobre clave) Índices de agrupación (sobre no clave) Los índices secundarios (o caminos de acceso secundario) admiten cualquier organización primaria Los índices primarios y los de agrupación exigen que la organización primaria sea fichero ordenado (por el campo o campos de indexación) Un fichero puede tener varios índices pero sólo puede tener uno primario o uno de agrupación. El resto serán secundarios. Se puede construir un índice sobre cualquier: Campo del fichero Conjunto de campos del fichero También se distingue entre índices: Físicos (con s) Lógicos (con valores de clave primaria) Índice compuesto Direccionamiento partido Ficheros rejilla Índice secundario sobre campo clave con árbol B + Índice secundario sobre campo clave con árbol B + (2) Fichero de DATOS ÍNDICE sobre el campo ID (con árbol B + ) Ang1 Buo1 Título Año Pintor Estilo Tamaño ID Bloque nº: Buo1 Can1 Deg1 Man1 Pic1 Vel2 Vin1 Buo2 Can1 Dal1 Deg1 Goy1 Goy2 Gri1 Man1 Goy2 Mun1 Pic1 Van1 Rem1 Van1 Vel1 Vel2 Vel3 Vin1 Meninas 1656 Velázquez Barroco 318x276 Hilanderas 1644 Velázquez Barroco 222x293 Ronda noche 1642 Rembrandt Barroco 363x437 Gioconda Creación Adán 1506 Da Vinci 1510 Buonarroti Renacimiento 077x053 Renacimiento null Guernica 1937 Picasso Cubismo 349x776 El grito 1893 Munch Expresionismo091x073 Pers. memoria 1924 Dalí Surrealismo 024x033 Marilyn 1964 Warhol Pop Art 101x101 Girasoles 1889 Van Gohg Impresionismo 095x073 Lanzas 1634 Velázquez Barroco 307x367 Maja desnuda 1800 Goya null 097x190 Aquelarre 1823 Goya null 140x435 Última cena Juicio final 1497 Da Vinci 1541 Buonarroti Renacimiento 480x880 Renacimiento 1370x1220 Guitarra 1913 Gris Cubismo 061x050 Cabaret 1877 Degas Impresionismo 024x044 Anunciación 1434 Angelico,F. Gótico 175x080 Pz. S. Marco 1750 Canaletto Barroco 068x112 El flautista 1866 Manet Impresionismo 161x097 Vel1 Vel2 Rem1 Vin1 Buo1 Pic1 Mun1 Dal1 War1 Van1 Vel3 Goy1 Goy2 Vin2 Buo2 Gri1 Deg1 Ang1 Can1 Man Vin2 War1 Índice secundario sobre campo(s) clave (IS-c): En el ejemplo se ha definido sobre ID Hojas: una entrada por cada registro del fichero de datos. Cada una tiene un valor de ID y un al registro con ese valor. Las entradas están ordenadas en las hojas. Las hojas están enlazadas y se pueden recorrer de izda a dcha. Fichero de datos: Puede tener cualquier organización primaria (montón, ordenado, dir. calculado, etc). Por tanto, pueden definirse varios IS-c sobre el un fichero Ordenamiento lógico: el IS-c permite leer los registros del fichero en orden ascendente de los valores de ID. Esa lectura puede suponer muchas transferencias de bloque (caso peor: tantas como registros) Búsqueda del registro con ID= Mun1 : se parte de la raíz y se sigue su central que lleva a los x tales que Goy1 <x Van1. En el nodo intermedio se sigue el central, que lleva a los x que Man1 <x Pic1. En el nodo hoja se encuentra el valor buscado Mun1 (si no estuviera, sería porque no existe). Se sigue el del valor Mun1 para obtener todos los campos del registro con ID= Mun Toda búsqueda recorre un nodo de cada nivel (una transferencia de bloque cada nodo) y transfiere el bloque del fichero de datos encontrado Inserción/eliminación de registros: supone actualizar y reorganizar el índice 43 44

12 Terminología de árboles Árboles B + SUBÁRBOL DEL NODO B B C A D Nodo raíz (nivel 0) Nodos del nivel 1 Siempre equilibrado Conlleva un desperdicio de espacio aceptable Inserción y eliminación de cierta complejidad Los nodos internos y las hojas son diferentes. E F J G H I K Nodos del nivel 2 Nodos del nivel 3 (Los nodos E, J, C, G, H y K son los nodos hoja del árbol) En nodos internos sólo apuntadores a otros nodos: P 1 K 1 K i-1 P i K i K q-1 P q a árbol a árbol a árbol X X X X K 1 K i-1 <X K i K q-1 <X En un nodo los K i ordenados: K 1 <K 2 <... <K q-1 Todos los nodos internos tienen el mismo tamaño: entran p s y p-1 valores K i como mucho Como mínimo debe haber p/2 s en cada nodo. La raíz tendrá como mínimo 2 s (cuando es nodo interno, ya que podría ser hoja) Cada K i del nodo estará repetido en el subárbol situado a su izquierda (en general será el mayor valor accesible en el subárbol al que apunta) Árboles B + (2) En nodos hoja sólo apuntadores a bloques de datos: K 1 Pr 1 K 2 Pr 2 K i Pr i K q-1 Pr q-1 P siguiente a datos a datos a datos a datos Puntero al siguiente nodo hoja del árbol B + En una hoja los K i ordenados: K 1 <K 2 <... <K q-1 Todos los nodos hoja tienen el mismo tamaño: entran p s y p valores K i como mucho Cada Pr i apunta a un registro de clave K i (o al bloque que lo contiene, o al bloque de s en el que hay s que llevan a registros con K i ) Como mínimo debe haber p/2 s (y valores) en cada nodo. Todas las hojas estarán en el mismo nivel Las hojas están enlazadas entre sí: permiten recorrer los registros en orden ascendente del campo de indexación Algunos valores de las hojas aparecen repetidos en nodos internos En algunos índices se incluyen s a la hoja anterior (recorridos en orden descendente) Si el campo de indexación no es clave: nivel extra de indirección (a bloques de s) Ejemplo con árboles B + Campo de indexación Puntero a datos Puntero a nodo Nodo: V=9 bytes, Pr = 7 bytes, P = 6 bytes B=512 bytes/bloque P 1 K 1 K i-1 P i K i K q-1 P q a árbol a árbol a árbol X X X X K 1 K i-1 <X K i K q-1 <X Máximo de s (p) a árbol (nodo interno)?: p*p+(p-1)*v B 15p 521 p=34 K 1 Pr 1 K 2 Pr 2 K i Pr i K q-1 Pr q-1 P siguiente a datos a datos a datos a datos Máximo de s (p hoja ) a dato (nodo hoja)?: p hoja *(Pr+V)+P B 16 p hoja 506 p hoja =31 Puede precisar información adicional por nodo: tipo de nodo (interno/hoja) q: nº de entradas al nodo padre y hermanos 47 48

13 Ejemplo con árboles B + (2) Árbol B + : inserciones Ocupación nodos: 69% Promedio: p=34 p*0,69=23 s a nodo (y 22 valores) por cada p hoja =31 nodo interno p hoja *0,69=21 s por hoja Raíz: 1 nodo, 22 valores, 23 s Nivel 1: 23 nodos, 506 valores, 529 s Nivel 2: 529, , Hojas: , , registros Apuntadores: a nodo 0 a datos a árbol nulo Insertar 3: desborde (división) Insertar 1: desborde (nuevo nivel) Insertar 7 Algoritmos de búsqueda e inserción (pg. 168): ver los ejemplos de las 3 páginas siguientes Todo valor del árbol existe en alguna hoja Todo valor de nodo interno es un valor extremo derecho del subárbol situado a su izquierda Insertar 12: desborde (división y se propaga nuevo nivel) Insertar Árbol B + : inserciones (2) Árbol B + : eliminaciones Apuntadores: a nodo 0 a datos a árbol nulo Insertar 6: desborde (división y se propaga) Eliminar Eliminar 12: Insuficiencia (redistribuir) Eliminar 9: insuficiencia (mezclar con izquierdo, persiste la insuficiencia, reducción de niveles)

14 Variaciones de B + Árboles B y B + : nodos ocupados al menos hasta la mitad Árbol B * : nodos ocupados al menos 2/3 Algunos sistemas permiten: Elegir el factor de llenado: entre 0,5.. 1,0 Indicar un factor distinto para hojas y nodos internos para los árboles B + Investigaciones sugieren Reducir el % de ocupación Permitir que el nodo se vacíe totalmente antes de fusionar: Simplifica la eliminación Por simulaciones se sabe que esto no desperdicia demasiado espacio cuando las inserciones y borrados se distribuyen aleatoriamente Bloques de Fichero de DATOS apuntadores ÍNDICE sobre el campo Pintor a registro (con árbol B + ) Índice secundario sobre campo NO clave con árbol B + Título Año Pintor Estilo Tamaño Buonarr.. Dalí Degas Munch Rembr.. Velazq.. Angélico,F. Buonarroti Canaletto Dalí Gris Da Vinci Degas Goya Gris Manet Munch Picasso Rembrandt Van Gohg Velazquez Meninas 1656 Velázquez Barroco 318x276 Hilanderas 1644 Velázquez Barroco 222x293 Ronda noche 1642 Rembrandt Barroco 363x437 Gioconda Creación Adán 1506 Da Vinci 1510 Buonarroti Renacimiento 077x053 Renacimiento null Guernica 1937 Picasso Cubismo 349x776 El grito 1893 Munch Expresionismo 091x073 Pers. memoria 1924 Dalí Surrealismo 024x033 Marilyn 1964 Warhol Pop Art 101x101 Girasoles 1889 Van Gohg Impresionismo 095x073 Lanzas 1634 Velázquez Barroco 307x367 Maja desnuda 1800 Goya null 097x190 Aquelarre 1823 Goya null 140x435 Última cena Juicio final 1497 Da Vinci 1541 Buonarroti Renacimiento 480x880 Renacimiento 1370x1220 Guitarra 1913 Gris Cubismo 061x050 Cabaret 1877 Degas Impresionismo 024x044 Anunciación 1434 Angelico,F. Gótico 175x080 Pz. S. Marco 1750 Canaletto Barroco 068x112 El flautista 1866 Manet Impresionismo 161x097 Warhol 53 ID Vel1 Vel2 Rem1 Vin1 Buo1 Pic1 Mun1 Dal1 War1 Van1 Vel3 Goy1 Goy2 Vin2 Buo2 Gri1 Deg1 Ang1 Can1 Man1 Bloque nº: Índice secundario sobre campo NO clave con árbol B + (2) Índice secundario sobre campo(s) no clave (IS-nc): En el ejemplo se ha definido sobre el campo Pintor La diferencia con IS-c es que las hojas pueden apuntar a los varios registros idéntico valor de campo de indexación. Por eso incluye un nivel de indirección a bloques de s (existen otras alternativas a este nivel de indirección) Fichero de datos: En IS-c e IS-nc se puede tener cualquier organización primaria (montón, ordenado, dir. calculado, etc). Pueden definirse varios índices secundarios (IS-c ó IS-nc) sobre el mismo fichero Ordenamiento lógico: o poder leer los registros en orden del campo(s) de indexación. Sólo para índices secundarios (los primarios y de agrupación tienen otra opción mejor) Búsqueda de un registro: igual que IS-c, salvo que aquí hay que visitar el nivel con bloques de s. Toda búsqueda visita un nodo de cada nivel, un bloque de s (o varios, si no caben todos los s en un bloque) y uno por cada bloque que tenga registros con el valor buscado (puede haber varios, ya que no es clave) Inserción/eliminación de registros: como con cualquier índice, supone actualizar y reorganizar el índice ÍNDICE sobre clave primaria (ID) (con árbol B + ) Fichero de DATOS (ordenado por clave primaria) Ang1 Buo1 Título Año Pintor Estilo Tamaño ID Bloque nº: Buo2 Can1 Índice primario con árbol B + (campo clave primaria) Buo1 Can1 Deg1 Man1 Pic1 Vel2 Vin1 Dal1 Deg1 Gótico 175x080 Renacimiento null Renacimiento 1370x Angelico,F Buonarroti 1541 Buonarroti Anunciación Creación Adán Juicio final Ang1 Buo1 Buo2 Goy1 Goy2 Barroco 068x112 Surrealismo 024x033 Impresionismo 024x Canaletto 1924 Dalí 1877 Degas Pz. S. Marco Pers. memoria Cabaret Can1 Dal1 Deg1 Gri1 Man1 null 097x190 null 140x435 Cubismo 061x Goya 1823 Goya 1913 Gris Maja desnuda Aquelarre Guitarra Goy1 Goy2 Gri1 Goy2 Mun1 Pic1 Van1 Impresionismo 161x097 Expresionismo091x073 Cubismo 349x Manet 1893 Munch 1937 Picasso El flautista El grito Guernica Man1 Mun1 Pic1 Rem1 Van1 Barroco 363x437 Impresionismo 095x073 Barroco 318x Rembrandt 1889 Van Gohg Ronda noche Girasoles Meninas Rem1 Van1 Vel1 Vel Velázquez Vel1 Hilanderas 1644 Velázquez Barroco 222x293 Vel3 Vin1 Barroco 307x367 Renacimiento 077x Velázquez 1506 Da Vinci Lanzas Gioconda Vel2 Vel3 Vin1 Renacimiento 480x880 Pop Art 101x Da Vinci 1964 Warhol Última cena Marilyn Vin2 War Vin2 War

15 Índice primario con árbol B + (2) (campo clave primaria) Índice de agrupación con árbol B + (campo no clave) Índice primario (IP): En el ejemplo se ha definido sobre la clave ID Se puede construir igual que IS-c (hay otras alternativas) Fichero de datos: ordenado por campo de indexación (ID). Por tanto sólo puede definirse un IP por fichero. Es incompatible con otras organizaciones primarias que exijan otra ordenación de los registros (dir. calculado, fich. ordenado por otro/s campo/s ) Ordenamiento lógico: aquí no tiene sentido ya que los registros están ordenados físicamente Búsqueda de un registro: igual que en IS-c. Toda búsqueda visita un nodo de cada nivel y el bloque que tiene el registro con el valor buscado (único, ya que es clave) Permite buscar registros que cumplan por ejemplo ID> Gri1 o por ejemplo Goy1 ID Vel3 Inserción/eliminación de registros: como con cualquier índice, supone actualizar y reorganizar el índice ÍNDICE sobre el campo Pintor (con árbol B + ) Fichero de DATOS (ordenado por campo de agrupación) Título Año Pintor Estilo Tamaño Buonarr.. Dalí Degas Munch Rembr.. Velazq.. Angélico,F. Buonarroti Gótico 175x080 Renacimiento null Renacimiento 1370x Angelico,F Buonarroti 1541 Buonarroti Anunciación Creación Adán Juicio final Canaletto Dalí Barroco 068x112 Surrealismo 024x033 Renacimiento 077x Canaletto 1924 Dalí 1506 Da Vinci Pz. S. Marco Pers. memoria Gioconda Gris Da Vinci Degas Goya Gris Renacimiento 480x880 Impresionismo 024x044 null 097x Da Vinci 1877 Degas 1800 Goya Última cena Cabaret Maja desnuda Aquelarre Manet Munch null 140x435 Cubismo 061x050 Impresionismo 161x Goya 1913 Gris 1866 Manet Guitarra El flautista Picasso Rembrandt Expresionismo 091x073 Cubismo 349x776 Barroco 363x Munch 1937 Picasso 1642 Rembrandt El grito Guernica Ronda noche Van Gohg Velazquez Girasoles 1889 Van Gohg Impresionismo 095x073 Meninas 1656 Velázquez Barroco 318x276 Hilanderas 1644 Velázquez Barroco 222x293 Warhol Barroco 307x367 Pop Art 101x Velázquez 1964 Warhol Lanzas Marilyn ID Bloque nº: Ang1 Buo1 Buo2 Can1 Dal1 Vin1 Vin2 Deg1 Goy1 Goy2 Gri1 Man1 Mun1 Pic1 Rem1 Van1 Vel1 Vel2 Vel3 War Índice de agrupación con árbol B + (2) (campo no clave) Índice de agrupación (IA): En el ejemplo se ha definido sobre el campo Pintor Se puede construir similar al IS-c, pero cada valor de las hojas apunta al bloque de datos donde está el 1º registro con ese valor (puede haber varios registros con el mismo valor de Pintor, ya que no es clave) Fichero de datos: ordenado por campo de indexación (Pintor). Así, todos los registros del mismo Pintor están juntos. Por tanto sólo puede definirse un IA por fichero. Es incompatible con otras organizaciones primarias que exijan otra ordenación de los registros (IP, dir. calculado, f. ordenado por otro/s campo/s ) Ordenamiento lógico: tampoco tiene sentido ya que los registros están ordenados físicamente Búsqueda de un registro: el primer registro con ese valor se busca igual que en IS-c. El resto de registros con el mismo valor están seguidos al 1º en el fichero de datos. Toda búsqueda visita un nodo de cada nivel y los bloques de datos que tienen registros con el valor buscado (pueden ser varios, ya que no es clave) Permite buscar registros que cumplan por ejemplo Pintor> Gris o por ejemplo Goya ID Velázquez Inserción/eliminación de registros: como con cualquier índice, supone actualizar y reorganizar el índice Fichero de DATOS (ordenado el campo de agrupación) ÍNDICE secundario sobre Año ÍNDICE de agrupación sobre Pintor Título Año Pintor ID Angélico,F. Buonarroti Canaletto Dalí Compatibilidad Gris Buonarr.. Dalí Degas Munch Rembr.. Velazq Angelico,F Buonarroti 1541 Buonarroti Anunciación Creación Adán Juicio final Ang1 Buo1 Buo Canaletto 1924 Dalí 1506 Da Vinci Pz. S. Marco Pers. memoria Gioconda Can1 Dal1 Vin Da Vinci Degas Goya Gris 1497 Da Vinci 1877 Degas 1800 Goya Última cena Cabaret Maja desnuda Vin2 Deg1 Goy Manet Munch 1823 Goya 1913 Gris 1866 Manet Aquelarre Guitarra El flautista Goy2 Gri1 Man Picasso Rembrandt 1893 Munch 1937 Picasso 1642 Rembrandt El grito Guernica Ronda noche Mun1 Pic1 Rem Van Gohg Velazquez Girasoles 1889 Van Gohg Meninas 1656 Velázquez Hilanderas 1644 Velázquez Van Vel1 Vel Warhol Velázquez 1964 Warhol Lanzas Marilyn Vel3 War

16 Compatibilidad (2) En el ejemplo anterior se han definido dos índices sobre el fichero: Un índice de agrupación sobre el campo pintor (IA(Pintor)) Un índice secundario sobre el campo no clave Año (IS-nc(Año)). Se podrán definir todos los índices secundarios que se desee Causa de las incompatibilidades: Se debe a que los registros de un fichero sólo pueden mantenerse ordenados físicamente por un único concepto. Es decir, no pueden estar ordenados por Pintor y al mismo tiempo por Título Por lo tanto podemos afirmar que: Un índice secundario (IS-c ó IS-nc) es compatible con cualquier otra cosa, incluyendo otros índices secundarios. Los índices primarios, los de agrupación, los ficheros ordenados y los de direccionamiento calculado sólo son compatibles con índices secundarios. Tampoco se pueden tener dos índices primarios sobre el mismo fichero, ni dos de agrupación ni dos ordenaciones distintas ni dos direccionamientos calculados. Índices densos y dispersos Índice denso: El que tiene una entrada para cada registro del fichero de datos Los ejemplos anteriores eran densos los índices sobre clave y no densos los índices sobre no clave. Índice disperso: El que no es denso, es decir, tiene entradas sólo para algunos registros del fichero de datos Ejemplo de índice primario disperso: el valor de cada hoja incluye el mayor valor del campo de indexación presente en el bloque apuntado. También puede hacerse lo mismo en índices de agrupación (ya que se aprovecha la ordenación de los registros) Los menores o igual a Buo2 Título ID Buo2 Anunciación Creación Adán Juicio final Ang1 Buo1 Buo2 Deg1 Pz. S. Marco Pers. memoria Cabaret Can1 Dal1 Deg1 Deg1 Pic1 Vin1 Gri1 Maja desnuda Aquelarre Guitarra Goy1 Goy2 Gri1 Pic1 El flautista El grito Guernica Man1 Mun1 Pic1 Vel1 Vin1 Ronda noche Girasoles Meninas Rem1 Van1 Vel1 Hilanderas Lanzas Gioconda Vel2 Vel3 Vin1 War1 Última cena Marilyn Vin2 War Búsquedas en ficheros (resumen de costos) Índices sobre clave compuesta (o clave múltiple) Organización Del fichero Montón (secuencial) Ordenado Direccionamiento calculado con índice primario con índice de agrupación con índice secundario sobre clave con índice secundario sobre no clave Campo (especial búsquedas) Ninguno de ordenación de direccionamiento calculado Clave primaria de Agrupación de indexación Búsqueda (= campo esp.) no se puede S2: log 2 b (clave) log 2 b + (no clave) S3: 1 S3: (S2) x + 1 S5: (S2) x + S6: x + 1 S6: x + b = nº de bloques x = nº de niveles (del índice, cuando es árbol B + ) Los se completan en el tema de optimización (estimación de costo en selección) Búsqueda Búsqueda (<,>,, campo esp.) (otro campo) no se puede log 2 b + S1: b S4: x + S4: x + S6: x + S6: x + S1: b/2 caso intermedio buscar uno b caso peor o buscar todos Suponiendo que la organización primaria sea fichero de montón S1= lineal, S2=binaria, S3=un reg. por índice primario o direccionamiento calculado, S4=varios reg. desigualdad por índice primario o agrupación, S5=varios reg. igualdad por índice de agrupación, S6=por índice secundario 63 Claves compuestas de varios atributos: Que aparecen frecuentemente en consultas Mejor crear un índice para la combinación En el ejemplo anterior: Pintor + Año Consulta: Pinturas de Velázquez realizadas en 1644 Ni Pintor ni Año son clave (puede haber varios registros de un pintor y varios de un año) Estrategias: IS-nc(Pintor) y Año sin índice: Usar el índice para buscar los registros con Pintor= Velázquez. Seleccionar entre ellos los de Año=1644 IS-nc(Año) y Pintor sin índice: Usar el índice para buscar los registros con Año=1644. Seleccionar entre ellos los de Pintor= Velázquez IS-nc(Pintor) y IS-nc(Año): Con un índice buscar los de Pintor= Velázquez y el otro para buscar los de Año=1644. Luego hacer la intersección de los registros encontrados (o de sus s) Problema cuando ocurre a la vez lo siguiente: Hay muchos cuadros de Velázquez Hay muchos cuadros de 1644 Hay pocos cuadros de Velázquez pintados en 1644 Solución: índice sobre clave compuesta (también llamada clave múltiple) Ninguna de las 3 estrategias es eficiente 64

17 Índices sobre clave compuesta (2) (o clave múltiple) Índices sobre clave compuesta (3) (o clave múltiple) ÍNDICE de agrupación sobre (Pintor,Año) Fichero de DATOS (ordenado por el par de campos de agrupación) Buon.., 1510 Angelico,F., 1434 ID Título Pintor Año Buonarroti, 1510 Canal.., 1750 Buonarroti, 1541 Canaletto, Angelico,F. Buonarroti Buonarroti Anunciación Creación Adán Juicio final Ang1 Buo1 Buo2 Da Vi.., 1497 Dalí, 1924 Da Vinci, 1497 Degas, 1877 Da Vinci, 1506 Degas, Canaletto Dalí Da Vinci Pz. S. Marco Pers. memoria Última cena Can1 Dal1 Vin2 Goya, 1823 Goya, 1800 Goya, Da Vinci Degas Goya Gioconda Cabaret Maja desnuda Vin1 Deg1 Goy1 Manet 1866 Picasso, 1937 Gris, 1913 Manet, Goya Gris Manet Aquelarre Guitarra El flautista Goy2 Gri1 Man1 Munch, 1893 Picasso, Munch Picasso Rembrandt El grito Guernica Ronda noche Mun1 Pic1 Rem1 Van G.., 1889 Rembrandt, 1642 Van Gohg, 1889 Girasoles Van Gohg 1889 Lanzas Velázquez 1634 Hilanderas Velázquez 1644 Van1 Velaz.., 1644 Velázquez, 1634 Velázquez, 1644 Vel3 Vel2 Velázquez, 1656 Warhol, Velázquez Warhol Meninas Marilyn Vel1 War1 El ejemplo anterior es un índice de los estudiados hasta el momento, que se define sobre un conjunto de campos Además de índices de agrupación, también se pueden definir índices primarios y secundarios sobre clave compuesta. Los valores de clave compuesta se ordenan lexicográficamente: ( Dalí,1924) < ( Goya,1800) para valores distintos del primer campo ( Da Vinci, 1497) < ( Da Vinci, 1506) para valores iguales del primer campo Otras estructuras sobre claves múltiples: Direccionamiento partido Ficheros rejilla (Grid) se estudian a continuación Direccionamiento partido Ficheros rejilla (Grid) Extensión del direccionamiento calculado Solo admite comparaciones de igualdad Función hash sobre la clave compuesta: Produce n direcciones La dirección de la cubeta es la concatenación de las n direcciones producidas Ejemplo: Pintor= Munch, dirección resultante=100 (3 bits) Año=1893, dirección resultante=10101 (5 bits) Dirección de la cubeta: (concatenados) Si solo buscamos los de Año= 1893, examinar las cubetas , ,, Ventajas: Se puede aplicar a cualquier nº de atributos Los bits de más peso pueden ser de los atributos accedidos con más frecuencia No hace falta una estructura por cada atributo Inconveniente: No se pueden hacer consultas de rango (<,>,, ) sobre los atributos de la clave compuesta (ejemplo: Año>1893) Escala lineal para ND 0 1, 2 1 3, , , 10 Array rejilla Fichero de empleados 0 Escala lineal para Edad Se construye una escala lineal (o dimensión) por cada clave de búsqueda En el ejemplo: escala lineal para ND y otra para Edad Escala lineal: contiene la distribución uniforme de los valores de una clave Array rejilla: cada celda tiene una dirección de cubeta donde se almacenan los registros correspondientes a los valores de sus escalas Para obtener los reg. con ND=4 y Edad=59 se consulta la celda (1,5). La dirección allí contenida indica la cubeta a examinar, donde estarán los reg. con ND=4 y Edad= >50 Área de la cubeta Área de la cubeta 67 68

18 Ficheros rejilla (Grid) (2) Índices físicos y lógicos Ventaja: consultas de rango sobre las claves para las que se han definido escalas lineales Para n claves de búsqueda: n puede ser cualquier número n escalas lineales Array rejilla de n dimensiones El array rejilla permite una partición del fichero de datos mediante las claves de búsqueda definidas Además proporciona acceso mediante la combinación de valores de las dimensiones Funcionan bien ya que se reduce el tiempo de acceso sobre clave múltiple Necesitan más espacio para guardar la estructura del array rejilla. Si el fichero es dinámico es necesaria una reorganización frecuente del mismo Índices físicos Son los vistos hasta ahora. Si el registro cambia de posición en el disco hay que cambiar los s Inconveniente: en ocasiones esto precisa muchas actualizaciones. Considerar por ejemplo un fichero de direccionamiento calculado con varios índices secundarios Índices lógicos Por ejemplo los índices secundarios de Sql Server son índices lógicos si se ha definido índice primario para la tabla. Las entradas tienen la forma (K, Kp), donde: K: campo de indexación secundaria Kp: clave primaria (la de la organización primaria, por ejemplo direccionamiento calculado) Un índice lógico es un índice secundario especial tal que al buscar el registro de clave K, encuentra el valor de su clave primaria Kp (la del registro donde está K). Habrá que usar la organización primaria (por ejemplo direccionamiento calculado) para buscar el registro de clave primaria Kp. Incorporan un nivel adicional de indirección Interesantes si las direcciones físicas van a cambiar con frecuencia Otros tipos de índices: análisis Diseño físico: representación física Connolly / Begg 2002 (16.2, step 5) Muchos sistemas crean y desechan índices dinámicamente: Ejemplo: para conseguir búsquedas más rápidas por otros campos de forma temporal Se consigue creando índices secundarios (sin ordenación física) Ventaja: se pueden crear con casi cualquier organización. Se utilizan para imponer la restricción de clave Fichero totalmente invertido: Es un fichero de montón Que tiene un índice secundario por cada campo Los índices casi siempre son árboles B + Utilizado por ADABAS (Software AG) Fichero VSAM de IBM: VSAM = método de acceso de almacenamiento virtual Es muy similar a la estructura de árbol B + Objetivo: para cada tabla de la BD encontrar el tipo de fichero más adecuado y sus índices, de manera que se consiga un buen rendimiento del sistema. PASO 1: ANALIZAR LAS TRANSACCIONES Objetivo: entender su funcionalidad y estudiar las más importantes. Regla del 80/20: el 20% más activo del total de transacciones supone el 80% del acceso a datos. Se estudia sólo ese 20% (si hay muchas transacciones) PASO 2: DECIDIR LA ORGANIZACIÓN PRIMARIA PARA CADA TABLA Objetivo: elegir una organización primaria (tipo de fichero) eficiente para cada tabla PASO 3: DECIDIR ÍNDICES SECUNDARIOS ADECUADOS PARA CADA TABLA Objetivo: elegir aquellos índices secundarios que pueden mejorar el rendimiento del sistema de información

19 Paso 1: Analizar transacciones 1.1. Frecuencia de ejecución de cada transacción Por ejemplo: 50 ejecuciones a la hora. También interesa conocer los picos. Por ejemplo: de 17:00 a 19:00 habrá 100 ejecuciones por hora. Sobre estos datos se aplica la regla Tendrán mayor prioridad, a disponer por ejemplo de índice, aquellos atributos accedidos más frecuentemente A qué tablas accede cada transacción 1) UPDATE Propiedad SET calle=, localidad=, codpostal=, tipo=, habitaciones=, renta= WHERE nump= 2) SELECT E.cargo, count(*) FROM Delegacion as D join Empleado as E on D.numD = E.Delegacion WHERE D.localidad= Pamplona ORDER BY E.cargo 3) SELECT FROM Propiedad as P WHERE P.Tipo = Tabla Transacción Frecuencia Veces al día 1 20 Propiedad 3 50 Delegación Empleado Paso 1: Analizar transacciones (2) 1.3. Acceso a los atributos de las tablas Candidatos a tener estructuras de acceso: Atributos en WHERE de SELECT, UPDATE o DELETE. Atributos que aparecen en JOIN. Atributos presentes en operaciones que suponen ordenación: ORDER BY, GROUP BY, UNION, DISTINCT, Candidatos a evitar estructuras de acceso: En UPDATE los atributos del SET (los modificados) Tabla Transacción Frecuencia Veces al día Atributos 1 20 where: nump Propiedad 3 50 where: tipo where: localidad Delegación join: numd join: delegacion Empleado order by: cargo Paso 2: Decidir la organización primaria Ejemplo: si obtendremos los empleados en orden alfabético interesa que la tabla empleado esté ordenada por nombre. Si también se obtienen los de salario comprendido entre dos valores la ordenación por nombre NO será de utilidad. Algunos SGBD sólo admiten definir índices. Montón: Si la tabla tendrá pocas filas. Si las consultas acceden a todas las filas (sin especificar ningún orden). Direccionamiento calculado: Si es importante mejorar una condición de igualdad sobre el atributo o atributos (where o join). NO es útil para acceso en orden por el(los) atributo(s) ni consulta de rango (<=, >=, <, >, between, ). Si la tabla crece y disminuye continuamente convendría usar direccionamiento calculado dinámico. Índice primario (IP) ó índice de agrupación (IA): Dos opciones: 1. Tabla desordenada (montón/dir. calculado) y crear IS necesarios. 2. Tabla ordenada con IP o IA y crear IS necesarios. Qué atributo(s) se elige(n) para el IP o IA (opción 2)?: El(los) más usado(s) en JOINs (podrá hacer la operación más eficiente) El(los) más usado(s) para recorrer las tuplas en orden respecto al(los) atributo(s) (ej: GROUP BY, ORDER BY, ) 75 Paso 3: Decidir índices secundarios Cuándo SÍ crearlos Para cada clave extranjera/foránea accedida frecuentemente Intervienen en joins y el IS podría hacerlo más eficiente. Hay SGBD que definen automáticamente IS para cada clave extranjera/foránea Para atributos frecuentes en WHERE, JOIN, u operaciones que precisan ordenación: ORDER BY, GROUP BY, UNION, DISTINCT, Podrían obtenerse los resultados finales o intermedios recorriendo el IS o aprovechando la ordenación lógica de sus hojas. Plan sobre un sólo índice: cuando se puede resolver la consulta con sólo recorrer el índice. Ejemplo: SELECT delegación, AVG(salario) FROM empleado GROUP BY delegación por ejemplo con IS(salario, delegación) ó con IS(delegación, salario) Con OR en WHERE sólo es útil tener índices para todo: SELECT * FROM Propiedad WHERE tipo= piso OR renta>600 OR habitaciones>2 Si existen sólo IS(tipo) e IS(renta) es necesario recorrer Propiedad para obtener las tuplas con habitaciones>2. Por tanto esos IS no acelerarían la consulta. Sí sirven si hubiera ANDs en lugar de OR. Con IS(tipo, renta, habitaciones) se pueden beneficiar tanto la consulta con OR como con AND. 76

20 Paso 3: Decidir índices secundarios (2) Cuándo NO crearlos Si la tabla es muy pequeña Puede ser más eficiente cargar la tabla entera en memoria. Si se actualizan frecuentemente el o los atributos (UPDATE) o la tabla (INSERT/DELETE) supondría modificar también los índices. Si el resultado de la consulta incluye una proporción grande de la tabla (ej: el 70 % de las tuplas) exige recorrer gran parte de la tabla Si el atributo contiene cadenas de caracteres muy largas (ejemplo: párrafos) entrarían pocos valores en cada nodo del índice disminuyendo su eficiencia Menos importante: Si hay escasez de espacio en disco los IS ocupan disco. Cuantos más IS más tarda el optimizador en decidirse En todos los casos: lo mejor es hacer pruebas sobre el resultado que ofrecen los IS frente a no tenerlos. Es útil usar las herramientas del SGBD que muestran el plan de ejecución. Hay que tener en cuenta que el SGBD crea índices para garantizar la unicidad de los atributos clave (primary key y unique) Ejemplo de diseño físico (tomamos el 20% más activo de 20 transacciones) Empleado tiene filas en 500 bloques y Propiedad filas en 5000 bloques veces al día SELECT E.* FROM Empleado AS E JOIN Empleado AS J ON E.Jefe=J.NumE WHERE J.Nombre=@nom AND J.Apellido=@ape AND J.Delegacion=@dele veces al día SELECT E.* FROM Empleado AS E WHERE E.Cargo=@cargo AND E.Delegacion=@dele ORDER BY E.Apellido, E.Nombre veces al día SELECT E.* FROM Propiedad AS P JOIN Empleado AS E ON P.Empleado=E.NumE WHERE E.Nombre=@nom AND E.Apellido=@ape AND E.Delegacion=@dele veces al día SELECT P.* FROM Propiedad AS P WHERE P.Localidad=@loc AND P.Renta<=@rent_max Tabla Trans. Frec. Atributos Empleado Propiedad j: jefe, nume w:nombre, apellido, delegación w: cargo, delegación o: apellido, nombre j: nume w: nombre, apellido, delegación j: empleado w: localidad, renta Organización e índices secun. También IP(numE) DC(numE) IS-nc(jefe) IS-nc(apellido, nombre, delegación) IA(localidad, renta) IS-nc(empleado) Ejercicio: acceso a ficheros de montón PROYECTO es un fichero de montón con factor de bloques 2: Ejercicios PROYECTO NOMBREP NÚMEROP LUGARP NÚMD ProductoX 1 Belén 5 ProductoY 2 Sacramento 5 ProductoZ 3 Higueras 5 Automatización 10 Santiago 4 Reorganización 20 Higueras 1 NuevasPrestaciones 30 Santiago 4 El siguiente programa escribe la información del proyecto 20: open(f,in_file, PROYECTO.dat ); while not end_of_file(f) loop read(f, R); if R.númerop = 20 then put(r.nombrep); put(r.númerop); put(r.lugarp); put(r.numd); new_line; exit; end if; end loop; close(f); El descriptor del fichero incluye las siguientes direcciones de bloque: 1003, 1004 y 2007 Cada vez que se transfiere un bloque a memoria se ejecuta la operación transferir nº bloque nº búfer Se pide: a) Escribe en orden de ejecución las operaciones transferir y read considerando que se dispone de un solo búfer. b) Haz lo mismo si se dispone de 2 búferes. c) Haz lo mismo que en el apartado a, si en vez de escribir por pantalla se modifica R.númerop a 3 y se modifica el fichero con update 79 80

Indice. Objetivo Estructuras de Almacenamiento Estructuras de Acceso Recomendaciones de diseño Tuning de consultas

Indice. Objetivo Estructuras de Almacenamiento Estructuras de Acceso Recomendaciones de diseño Tuning de consultas Diseño Físico 1 Indice Objetivo Estructuras de Almacenamiento Estructuras de Acceso Recomendaciones de diseño Tuning de consultas 2 Diseño Físico de la BD. Objetivo Se seleccionan las estructuras de almacenamiento

Más detalles

Registros Un campo: Registro:

Registros Un campo: Registro: Agenda 1) 2) registros ordenados registros desordenado Agenda 3) Organización de. 4) desordenado Organización de. Un campo: es el elemento de datos básico. Un campo individual contiene un valor único.

Más detalles

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO 1. Introducción 2. Conceptos fundamentales de organizaciones de ficheros 3. Dispositivos de almacenamiento secundario 4. Ficheros desordenados

Más detalles

Organización física de las bases de datos T

Organización física de las bases de datos T Bases de Datos 1 Dpto. Lenguajes y Sistemas Informáticos Organización física de las bases de datos T7.2006-07 Dpto. Lenguajes y Sistemas Informáticos Universidad de Alicante organización física bd Objetivos

Más detalles

Archivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A.

Archivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A. Docente: Albert A. Osiris Sofía 1º Cuatrimestre 2002 Conceptos Básicos Indices Ordenados Arboles Asociación Indexación y Asociación Archivos Indice 1 2 3 1 Archivos Indice Ordenados Asociativos Primario

Más detalles

Jerarquía de Almacenamiento

Jerarquía de Almacenamiento 1) Explicar la organización de los medios de almacenamiento en primarios, secundarios y terciarios. Jerarquía de Almacenamiento Velocidad de Acceso, Costo, Memoria Cache Memoria Ppal. Volátil Almacenamiento

Más detalles

Indexación y Asociación

Indexación y Asociación Bases de Datos Indexación y Asociación Contenidos Conceptos básicos Indices Ordenados Árboles B+ ArbolesB Asociación estática Bases de Datos Indexación y Asociación 2 Conceptos básicos Los Indices se utilizan

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo. FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 3. Estructuras de Almacenamiento Básicas. Definición y Manejo. 1.- Búsqueda de Información. Definición de Clave. 2.- Definición y Manejo

Más detalles

Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria

Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria Estructura de datos y Algoritmos Tema III Clasificación en memoria secundaria 3.1. Clasificación externa basada en mezcla 3.1.1. Mezcla directa. 3.1.2. Mezcla natural. 3.1.3. Mezcla balanceada múltiple.

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 4. Técnicas de Dispersión. Definición y Manejo.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 4. Técnicas de Dispersión. Definición y Manejo. FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 4. Técnicas de Dispersión. Definición y Manejo. 1.- Introducción. 2.- Funciones de Dispersión. 3.- Saturación Progresiva. 4.- Empaquetado

Más detalles

Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria

Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 6). Garcia-Molina, Ullman

Más detalles

Almacenamiento y estructura de archivos

Almacenamiento y estructura de archivos Bases de Datos Almacenamiento y estructura de archivos Almacenamiento y Estructura de Archivos Introducción a los medios de almacenamiento Discos Magnéticos RAID Almacenamiento Terciario Acceso de almacenamiento

Más detalles

Sistemas Operativos. Gestión de E/S Discos. Dr. Wenceslao Palma

Sistemas Operativos. Gestión de E/S Discos. Dr. Wenceslao Palma Sistemas Operativos Gestión de E/S Discos Dr. Wenceslao Palma M. Conceptos Considerando el almacenamiento se tiene la siguiente jerarquía: Memoria Caché, Memoria Principal, Discos

Más detalles

Modelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Modelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Bases de Modelo Físico M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl de un solo II Semestre - 2014 Bases de de un solo de un solo Bases de Objetivos de la Unidad Entender

Más detalles

Tarea #6. Gestión de E/S y Planificación de Discos

Tarea #6. Gestión de E/S y Planificación de Discos 1 Tarea #6. 1. Enumere y defina brevemente las tres técnicas de realización de E/S E/S Programada: el procesador emite una orden de E/S de parte de un proceso a un módulo de E/S; el proceso espera entonces

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

Ficheros Contenido del Tema

Ficheros Contenido del Tema Ficheros Contenido del Tema T E M A 3 3.1. Introducción. 3.2. Conceptos básicos. 3.3. Operaciones sobre ficheros. 3.4. Tipos de ficheros. 3.5. Organización de ficheros. 3.6. Primitivas de acceso. 3.7.

Más detalles

Estructuras Dinámicas de datos.

Estructuras Dinámicas de datos. Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos

Más detalles

02/02/2012. El objetivo de este tema es dar unas nociones básicas del fichero electrónico.

02/02/2012. El objetivo de este tema es dar unas nociones básicas del fichero electrónico. El objetivo de este tema es dar unas nociones básicas del fichero electrónico. 1 2 La idea central es que la "forma" del archivo la determina el estado tecnológico del momento. A partir de ahora hablaremos

Más detalles

Sistemas Operativos. Curso 2016 Estructuras de dispositivos masivos de datos

Sistemas Operativos. Curso 2016 Estructuras de dispositivos masivos de datos Sistemas Operativos Curso 2016 Estructuras de dispositivos masivos de datos Agenda Estructura de almacenamiento masivo Planificación de disco. Manejo de discos Estructuras RAID. Sistemas Operativos Curso

Más detalles

Almacenamiento y discos

Almacenamiento y discos Almacenamiento y discos Almacenamiento y discos 1. Motivación 2. Cintas magnéticas 3. Discos magnéticos 4. Discos ópticos 5. RAID Motivación Memoria volátil se pierde al apagarse la computadora Primeros

Más detalles

SISTEMAS DE ALMACENAMIENTO RAID. Gestión de Sistemas informáticos.

SISTEMAS DE ALMACENAMIENTO RAID. Gestión de Sistemas informáticos. SISTEMAS DE ALMACENAMIENTO RAID Gestión de Sistemas informáticos. ESI-UCA ÍNDICE Introducción. Niveles RAID estándar. Niveles RAID Anidados. Niveles RAID Propietarios. Optimización del sistema RAID. Ventajas

Más detalles

Unidad 3: Gestión de Archivos

Unidad 3: Gestión de Archivos Unidad 3: Gestión de Archivos Tema 6, Implementación del Sistema de Archivos: 6.1 Estructura del Sistema de Archivos. 6.2 Métodos de Asignación: Continua, enlazada, indexada. 6.3 Fiabilidad del sistema

Más detalles

Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación. Tema 1. Los sistemas de gestión de archivos

Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación. Tema 1. Los sistemas de gestión de archivos Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Tema 1. Los sistemas de gestión de archivos Contenidos Tema 1. Los Sistemas de gestión de archivos Estructuras de

Más detalles

Capítulo 3. Clasificación en Memoria Secundaria

Capítulo 3. Clasificación en Memoria Secundaria Capítulo 3. Clasificación en Memoria Secundaria INTRODUCCIÓN Las memorias secundarias (cintas magnéticas, discos duros, ) se caracterizan en general porque el acceso es secuencial. Es decir, en un instante

Más detalles

RAID CLASES O TIPOS. RAID 0 unión de discos físicos en paralelo.

RAID CLASES O TIPOS. RAID 0 unión de discos físicos en paralelo. RAID Los servidores son ordenadores de rendimiento continuo, por lo tanto de funcionamiento las 24 horas del día, los 365 (366) días al año. Para ello tienen redundancia de discos duros; RAID (Redundant

Más detalles

Tema 10. Indexación y asociación

Tema 10. Indexación y asociación Tema 10. Indexación y asociación Juan Ignacio Rodríguez de León Resumen Conceptos básicos. Índices ordenados. Archivos de índices de árbol B+. Archivos de índices de árbol B. Asociación estática. Asociación

Más detalles

Clase de Backup + RAID

Clase de Backup + RAID Clase de Backup + RAID Juan Pablo Darago - Sistemas Operativos October 15, 2013 Backup El problema Tenemos información en storage permanente Esto suele ser en disco Que problemas tiene el disco? Puede

Más detalles

Gestión de archivos. Gestión de archivos

Gestión de archivos. Gestión de archivos Gestión de archivos Secciones Tanenbaum: 6.1.2 6.1.5 6.2.1 6.2.4 6.3.1 6.3.5 6.4 1 Gestión de archivos Generalidades y objetivos Estructura de archivos: secuencia de bytes, secuencia de registros, o árbol

Más detalles

Gestión de archivos. Gestión de archivos. Gestión de archivos. Objetivo general

Gestión de archivos. Gestión de archivos. Gestión de archivos. Objetivo general Gestión de archivos Gestión de archivos Secciones Tanenbaum: 6.. 6..5 6.. 6..4 6.3. 6.3.5 6.4 Los archivos son el elemento central de la mayoría de las aplicaciones Tienen vida fuera de cualquier aplicación

Más detalles

Algoritmos y Estructuras de Datos Curso 04/05. Ejercicios

Algoritmos y Estructuras de Datos Curso 04/05. Ejercicios 35. Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática

Algoritmos y Estructuras de Datos Ingeniería en Informática 2.1.Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas

Más detalles

Necesidad de las memorias secundarias.

Necesidad de las memorias secundarias. Contenido del Tema 4.1. Introducción. 4.2. Conceptos básicos. 4.3. Operaciones sobre ficheros. 4.4. Tipos de ficheros. 4.5. Organización de ficheros. 4.6. Primitivas de acceso. 4.7. Ordenación externa.

Más detalles

Tema 5: Memorias. Espacio reservado para notas del alumno

Tema 5: Memorias. Espacio reservado para notas del alumno Tema 5: Memorias S Definiciones S Parámetros característicos S Jerarquía de memoria S Dispositivos de almacenamiento S Clasificación S Fundamentos de las memorias S Memoria caché / Memoria virtual S Memoria

Más detalles

La organización lógica y física de los sistemas de archivo y sus mecanismos de acceso de archivo.

La organización lógica y física de los sistemas de archivo y sus mecanismos de acceso de archivo. La organización lógica y física de los sistemas de archivo y sus mecanismos de acceso de archivo. Se refiere a las diferentes maneras en las que puede ser organizada la información de los archivos, así

Más detalles

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63 y B + 3.8 y B+! Problema de los ABB cuando se usa almacenamiento secundario:! la búsqueda de un elemento requeriría muchos accesos a disco (un acceso a disco es extremadamente lento si lo comparamos con

Más detalles

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Departamento de Informática Universidad de Valladolid Curso 2011-12 Grado en Ingeniería Informática Grado en Ingeniería Informática de

Más detalles

7. Agrupamiento (clustering)

7. Agrupamiento (clustering) 7. Agrupamiento (clustering) INMUEBLES y CONTRATOS I IA4 En medio, 8 Centro Castellón 600 C 004 Q6 600 Visa 00 S /6/99 /5/00 I IL94 Riu Ebre, 4 Ronda Sur Castellón 50 C 0075 Q76 50 Efectivo 700 N //00

Más detalles

Tabla de Símbolos. Programación II Margarita Álvarez

Tabla de Símbolos. Programación II Margarita Álvarez Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados

Más detalles

Tabla de Símbolos. Programación II Margarita Álvarez

Tabla de Símbolos. Programación II Margarita Álvarez Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados

Más detalles

Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones

Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones Rafael Vázquez Pérez Unidad 4 Administración de Dispositivos Tipos de dispositivos Acceso

Más detalles

Almacenamiento Secundario y Terciario. Unidad 4. Almacenamiento y Estructuras de Archivos

Almacenamiento Secundario y Terciario. Unidad 4. Almacenamiento y Estructuras de Archivos Almacenamiento Secundario y Terciario Unidad 4. Almacenamiento y Estructuras de Archivos Medios de Almacenamiento Los medios de almacenamiento son memoria externa El acceso a estos dispositivos siempre

Más detalles

En las preguntas 1-30 indique la respuesta correcta. e= ninguna de las anteriores

En las preguntas 1-30 indique la respuesta correcta. e= ninguna de las anteriores Estructuras de Información... 1 En las preguntas 1-30 indique la respuesta correcta. e= ninguna de las anteriores 1. Cuál de las siguientes afirmaciones es falsa: a. Un nodo es un objeto, un link es un

Más detalles

Sistemas y Aplicaciones Informáticas. Tema 14. Utilización de Ficheros según su Organización.

Sistemas y Aplicaciones Informáticas. Tema 14. Utilización de Ficheros según su Organización. Sistemas y Aplicaciones Informáticas Tema 14. Utilización de Ficheros según su Organización. 1. ÁMBITO DE DOCENCIA....3 2. UTILIZACIÓN DE FICHEROS SEGÚN SU ORGANIZACIÓN...3 2.1. INTRODUCCIÓN...3 2.1.1.

Más detalles

Facilitar a los usuarios la posibilidad de estructurar los archivos de la manera más adecuada.

Facilitar a los usuarios la posibilidad de estructurar los archivos de la manera más adecuada. Introducción: Es la parte del SO encargada de administrar el almacenamiento secundario Las funciones básicas que debe realizar un sistema de gestión de archivos son: Crear un archivo, mediante la definición

Más detalles

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 05: Tablas hash M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Función

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 2. Estructura de un Fichero. Operaciones. Básicas.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 2. Estructura de un Fichero. Operaciones. Básicas. FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 2. Estructura de un Fichero. Operaciones Básicas. 1.- Introducción. 2.- Organización: Campos y Registros. 3.- Acceso a la Información.

Más detalles

Hashing (Funciones de Dispersión)

Hashing (Funciones de Dispersión) Hashing características Hashing (Funciones de Dispersión) Mauricio Solar Lorna Figueroa No necesita almacenamiento adicional (índice). Facilita la inserción y eliminación rápida de registros. Encuentra

Más detalles

Almacenamiento y Recuperación de la Información

Almacenamiento y Recuperación de la Información Almacenamiento y Recuperación de la Información Técnicas de Indexación do Semestre 005 Wenceslao Palma M. www.inf.utfsm.cl/~wpalma/ari Un índice es un archivo usado para agilizar

Más detalles

Almacenamiento y Recuperación de la Información

Almacenamiento y Recuperación de la Información Almacenamiento y Recuperación de la Información Técnicas de Indexación Indices Dinámicos do Semestre 5 Wenceslao Palma M. www.inf.utfsm.cl/~wpalma/ari Indices Dinámicos Indices tipo

Más detalles

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Subsistemas de memoria. Departamento de Arquitectura de Computadores Subsistemas de memoria Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características

Más detalles

Tarea 5 Gestión de Archivos

Tarea 5 Gestión de Archivos 1 Tarea 5 1. Cuál es la diferencia entre un campo y un registro? Un campo es el elemento de datos básico. Un campo individual contiene un valor único, como el apellido de un empleado, una fecha o el valor

Más detalles

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas Tema 5. Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 28-29 Tema 5 Hoja: 2 / 36 Tema 5 Hoja: 3 / 36 Base teórica La memoria es el lugar en

Más detalles

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA.

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA. UNIDAD TEMÁTICA 3: ACELERACIÓN DEL ACCESO A MEMORIA. 10. Evaluación de las prestaciones del subsistema de memoria. 11. Mejora de las prestaciones de las antememorias. 12. Mejora de las prestaciones de

Más detalles

Noticia: Información almacenada hasta la Luna.

Noticia: Información almacenada hasta la Luna. Noticia: Información almacenada hasta la Luna. Miden los datos que guardamos 295 billones de megabytes al año acumulamos en distintos formatos. Si toda esa información fuese grabada en CDs la torre llegaría

Más detalles

Introducción a la Computación. Capitulo 4 Memoria Cache

Introducción a la Computación. Capitulo 4 Memoria Cache Introducción a la Computación Capitulo 4 Memoria Cache Características generales Ubicación Capacidad Unidad de transferencia Método de Acceso Prestaciones Dispositivo Físico Características Físicas Organización

Más detalles

Sistemas operativos. Tema 10: Sistemas de ficheros

Sistemas operativos. Tema 10: Sistemas de ficheros Sistemas operativos Tema 10: Sistemas de ficheros Sistemas de ficheros El sistema de ficheros suele ser el aspecto más m visible de un SO para los usuarios. Objetivos: Ofrecer una visión n uniforme del

Más detalles

Sistema Cache. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Sistema Cache. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Sistema Cache Técnicas Digitales III Ing. Gustavo Nudelman 2012 RAM dinámica Almacena un bit como una capacidad espuria en un transistor La necesidad de conservar la carga y la lectura destructiva obliga

Más detalles

Introducción. Tema 10a. Introducción. Memoria RAM. Memoria RAM HDD

Introducción. Tema 10a. Introducción. Memoria RAM. Memoria RAM HDD Introducción Tema 10a Manejo de archivos Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida. Para hacer cualquier cosa es necesario tener MEMORIA

Más detalles

TEMA 0 REPASO DE CONCEPTOS BÁSICOS TEST PARA AUTOEVALUACIÓN DEL ALUMNO

TEMA 0 REPASO DE CONCEPTOS BÁSICOS TEST PARA AUTOEVALUACIÓN DEL ALUMNO TEMA 0 REPASO DE CONCEPTOS BÁSICOS TEST PARA AUTOEVALUACIÓN DEL ALUMNO NOTA: Sólo hay una respuesta válida. Responder a las preguntas justo en el orden en que están planteadas. A) Fundamentos de Matemáticas:

Más detalles

localizar de un dato con un acceso directo y en una sola comparación de la llave. HASH

localizar de un dato con un acceso directo y en una sola comparación de la llave. HASH HASH Un conjunto es una colección de objetos, los cuales no necesariamente tienen relación entre sí, como de orden, descendencia, etc.; tampoco están obligados a compartir atributos. En el área computacional,

Más detalles

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre. II Parcial

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre. II Parcial Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre II Parcial 1) (2,9 puntos). a) (0,8 puntos) Constrúyase un árbol B+ mínimo con n=5

Más detalles

Esta unidad describe cómo se almacena la información en los dispositivos magnéticos.

Esta unidad describe cómo se almacena la información en los dispositivos magnéticos. Esta unidad describe cómo se almacena la información en los dispositivos magnéticos. Los dispositivos de almacenamiento permiten a los usuarios almacenar datos de forma permanente en sus ordenadores para

Más detalles

4.1 Concepto de árbol.

4.1 Concepto de árbol. Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 1 4.1 Concepto de árbol. Una estructura de árbol es una forma de representar la JERARQUÍA de ciertos objetos en una forma gráfica.

Más detalles

Almacenamiento. Universidad de Buenos Aires Facultad de Ciencias Económicas Tecnología de la Información Profesor Adjunto Dr. Anibal Mazza Fraquelli

Almacenamiento. Universidad de Buenos Aires Facultad de Ciencias Económicas Tecnología de la Información Profesor Adjunto Dr. Anibal Mazza Fraquelli Universidad de Buenos Aires Facultad de Ciencias Económicas Tecnología de la Información Profesor Adjunto Dr. Anibal Mazza Fraquelli Almacenamiento File: 2-18000 1 Almacenamiento Secundario Discos Cintas

Más detalles

Sistemas Operativos Tema 10. Sistema de archivos José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban

Sistemas Operativos Tema 10. Sistema de archivos José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban Sistemas Operativos Tema 10. Sistema de archivos 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban 1 Contenidos Interfaz del sistema de archivos Implementación del sistema de

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U GESTION DE DISPOSITIVOS E/S

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U GESTION DE DISPOSITIVOS E/S GESTION DE DISPOSITIVOS E/S Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen La interfaz de una computadora con el mundo exterior es la arquitectura E/S. I. DISPOSITIVOS DE ENTRADA Y

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras SEMANA 10 UNIVERSIDAD NACIONAL DE QUILMES Qué vimos? Mascaras Repeticiones controladas Arreglos Modo indirecto Q5 Hoy! Memorias: Características Memorias ROM Jerarquía de memorias

Más detalles

Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL

Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL Examen de Ficheros y bases de datos Convocatoria de junio II PARCIAL ) 3 puntos) Considérese un fichero secuencial con un índice con asociación estática. El índice es primario y está organizado sobre una

Más detalles

Práctica 7. Organización del Computador 1 2do. Cuatrimestre de 2005

Práctica 7. Organización del Computador 1 2do. Cuatrimestre de 2005 Práctica 7 Organización del Computador 1 2do. Cuatrimestre de 2005 Aclaraciones Preliminares Los resultados que se indican al final de la práctica son aproximados. Por diferencias en el redondeo o truncamiento

Más detalles

Memoria y caché. Organización del Computador I, verano de 2016

Memoria y caché. Organización del Computador I, verano de 2016 Organización del Computador I, verano de 2016 (2) El problema que nos ocupa hoy Tiempos de acceso en ciclos: Registro: 0-1 ciclos. Memoria: 50-200 ciclos. Disco: decenas de millones de ciclos. Dicho de

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

Estructura de los dispositivos de E/S.

Estructura de los dispositivos de E/S. Estructura de los dispositivos de E/S. Sistemas Operativos. Tema 6. 1 Estructura dispositivos de almacenamiento masivo. Almacenamiento secundario o masivo: Su misión: Contener permanentemente gran cantidad

Más detalles

Sistemas Operativos Tema 4. Sistema de archivos

Sistemas Operativos Tema 4. Sistema de archivos Contenidos Sistemas Operativos Tema 4. Sistema de archivos Interfaz del sistema de archivos Implementación del sistema de archivos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban

Más detalles

Tema 0. Introducción a los computadores

Tema 0. Introducción a los computadores Tema 0 Introducción a los computadores 1 Definición de computador Introducción Máquina capaz de realizar de forma automática y en una secuencia programada cierto número de operaciones sobre unos datos

Más detalles

Organización y acceso a los datos (continuación)

Organización y acceso a los datos (continuación) Organización y acceso a los datos (continuación) Bases de Datos 2 - Tecnologo de Informatica Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices

Más detalles

Dispositivos de I/O. El código destinado a manejar el I/O representa una fracción significativa de un sistema operativo.

Dispositivos de I/O. El código destinado a manejar el I/O representa una fracción significativa de un sistema operativo. UT 6 E/S Dispositivos de I/O El código destinado a manejar el I/O representa una fracción significativa de un sistema operativo. Controladores de dispositivos Las unidades de I/O consisten típicamente

Más detalles

Introducción. Universidad de Sonora Arquitectura de Computadoras 2

Introducción. Universidad de Sonora Arquitectura de Computadoras 2 Memoria virtual Introducción Memoria virtual es un mecanismo que permite que la memoria principal parezca mas grande que su tamaño físico. Permite ejecutar programas mas grandes que la memoria física disponible.

Más detalles

TEMA 7 UNIDAD DE MEMORIA

TEMA 7 UNIDAD DE MEMORIA TEMA 7 UNIDAD DE MEMORIA 1. INTRODUCCIÓN. 2. LAS MEMORIAS. Medio o soporte de la unidad de memoria. Trasductores de escritura y lectura. Mecanismo de direccionamiento. 3. CARACTERÍSTICAS DE LAS MEMORIAS.

Más detalles

Tema 2.3. Hardware. Unidades de Almacenamiento

Tema 2.3. Hardware. Unidades de Almacenamiento Tema 2.3 Hardware. Unidades de Almacenamiento Introducción Introducción Almacenamiento permanente Contraposición a Memoria Central, volátil. Susceptible a ser destruido por medios externos Terminología

Más detalles

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información 1 1. Conceptos básicos 2 Qué hacen los ordenadores? Un ordenador trabaja únicamente con información. Cuatro funciones básicas: Recibe información (entrada). Procesa la información recibida. Almacena la

Más detalles

Unidad II: Memorias. Ing. Marglorie Colina

Unidad II: Memorias. Ing. Marglorie Colina Unidad II: Memorias Ing. Marglorie Colina Memoria Elemento de un sistema digital que almacena información binaria en grandes cantidades (datos o instrucciones). Puede verse como un conjunto de m registros

Más detalles

Tema III: Componentes de un Sistema Operativo

Tema III: Componentes de un Sistema Operativo Tema III: Componentes de un Sistema Operativo Concepto de proceso Jerarquía de memoria: Concepto de memoria cache Memoria virtual Partición Sistema de ficheros Sistema de entrada/salida: Driver y controladora

Más detalles

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas: ADMINISTRACION DE LA MEMORIA Función del Administrador de Memoria Registra qué parte de memoria está libre y ocupada Asigna y libera espacio en memoria a los procesos Administra el intercambio entre la

Más detalles

INDICE 1. Introducción: Archivos y Estructuras de Archivos 2. Operaciones Fundamentales para el Procesamiento de Archivos

INDICE 1. Introducción: Archivos y Estructuras de Archivos 2. Operaciones Fundamentales para el Procesamiento de Archivos INDICE 1. Introducción: Archivos y Estructuras de Archivos 1.1. Almacenamiento primario y secundario 2 1.2. Nada es gratis 3 1.3. Archivos 5 1.4. Estructuras de archivos versus estructuras de datos 6 1.5.

Más detalles

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria Organización del Sistema de Memoria 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria 1. Tipos de memoria La memoria se puede clasificar de acuerdo

Más detalles

Las unidades de almacenamiento. El disco duro. Imprimir. Imagen:

Las unidades de almacenamiento. El disco duro. Imprimir. Imagen: 1 de 7 21/04/2010 11:45 Imprimir Imagen: Las unidades de almacenamiento -La memoria RAM (Random Acces Memory, memoria de acceso aleatorio) tiene una capacidad de almacenamiento limitada, pero sobre todo

Más detalles

Estructura de Datos. Listas Enlazadas

Estructura de Datos. Listas Enlazadas Estructura de Datos Listas Enlazadas Conceptos de Lista enlazada Una lista enlazada es una secuencia de nodos que se interconectan mediante sus campos de enlace. Nodo: un objeto creado desde una clase

Más detalles

GESTION DE LA MEMORIA

GESTION DE LA MEMORIA GESTION DE LA MEMORIA SISTEMAS OPERATIVOS Generalidades La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección Tanto el tamaño de la tabla (memoria), como el de los datos

Más detalles

ESTRUCTURAS DE ARBOLES Y HASHING

ESTRUCTURAS DE ARBOLES Y HASHING Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Bases de Datos Integrantes: Herrera, Manuel C.I. 17.171.090 Balladares, Edgar C.I. 17.631.176 ESTRUCTURAS

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 1. Aspectos Básicos de los Ficheros.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 1. Aspectos Básicos de los Ficheros. FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 1. Aspectos Básicos de los Ficheros. 1.- Jerarquía de Memoria. 2.- Ficheros Lógicos y Ficheros Físicos. 3.- Acceso a los Datos situados

Más detalles

Sistemas de Archivos. Unidad 2 Almacenamiento y Estructuras de Archivos

Sistemas de Archivos. Unidad 2 Almacenamiento y Estructuras de Archivos Sistemas de Archivos Unidad 2 Almacenamiento y Estructuras de Archivos Introducción Archivo Un archivo es un conjunto de datos que el usuario ve como una sola unidad o entidad Sistemas de Archivos Sistema

Más detalles

Tema 7. Entrada / Salida

Tema 7. Entrada / Salida Tema 7 Entrada / Salida Problemática Entrada/Salida Elementos claves en un computador: Procesador, memoria y módulos de E/S Cada módulo de E/S se conecta al bus del sistema y controla a uno o a más periféricos

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Tema 11 Bases de datos. Fundamentos de Informática

Tema 11 Bases de datos. Fundamentos de Informática Tema 11 Bases de datos Fundamentos de Informática Índice Evolución Tipos de modelos de datos y SGBD El modelo relacional y el Diseño de una Base de Datos Operaciones básicas: consulta, inserción y borrado.

Más detalles

Estructura Lógica de un Disco Duro (Cilindros, Cabezas, Sectores, Pistas,

Estructura Lógica de un Disco Duro (Cilindros, Cabezas, Sectores, Pistas, Reciclando la Naturaleza, reciclando la Tecnología Estructura Lógica de un Disco Duro en Video Parte I Estructura Lógica de un Disco Duro (Cilindros, Cabezas, Sectores, Pistas, Cluster ) Publicado el mayo

Más detalles

Tema II. Unidad de memoria

Tema II. Unidad de memoria Tema II Unidad de memoria 2 Unidad de memoria 2.1 Definiciones y conceptos básicos 2.1.1 Localización 2.1.2 Capacidad 2.1.3 Unidad de transferencia 2.1.4 Método de acceso 2.1.5 Tipos físicos 2.1.6 Características

Más detalles

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES BUSQUEDA Cuando se realizan operaciones de búsqueda es preciso

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles