Sunteți pe pagina 1din 19

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
5. Ficheros ordenados
6. Ficheros dispersos
7. Agrupamiento
8. Indices

1. Introducción

t. acceso a DISCO ≈ 30 mseg. t. acceso a RAM ≈ 120 nseg.

Características del disco como medio de almacenamiento:


ƒ Lento.
ƒ Gran capacidad a bajo coste.
ƒ No volátil.

Es fundamental un buen diseño de la estructura de los ficheros para poder tener acceso a toda
la capacidad del disco sin hacer que las aplicaciones tengan que esperar mucho tiempo por los
datos.

Tema 2. Organizaciones de ficheros y estructuras de acceso 2


Objetivos en el diseño de estructuras de ficheros

ƒ Obtener la información con un solo acceso a disco.


ƒ Si no se puede en un acceso, hacen falta estructuras que permitan encontrar la
información con el mínimo número de accesos posible.
ƒ Hace falta que la estructura del fichero permita agrupar la información de modo que se
puedan obtener todos los datos que se necesitan de una sola vez.

Todo esto no es difícil si los ficheros nunca cambian, pero con


ficheros que crecen y disminuyen en tamaño a medida que la
información se añade o se borra, es muy complejo.

Tema 2. Organizaciones de ficheros y estructuras de acceso 3

Un poco de historia sobre estructuras de ficheros

ƒ Ficheros en cinta → Acceso secuencial.


ƒ Discos → Se empiezan a utilizar los índices.
ƒ Indices demasiado grandes y que cambian mucho → Difíciles de gestionar → Estructuras
en forma de árbol.
ƒ Los árboles crecen de modo muy desigual → Muchos accesos a disco para obtener la
información.
ƒ Arboles AVL (1963) → Muy buenos para RAM, pero muy malos para ficheros.
ƒ Arboles B (1972) → Muy buenas prestaciones.
ƒ Arboles B+ → Prestaciones como el árbol B, pero también se permite el acceso secuencial.
ƒ Dispersión → Acceso muy rápido a los datos.

Tema 2. Organizaciones de ficheros y estructuras de acceso 4


2. Conceptos fundamentales de organizaciones de ficheros

Fichero de Plantilla
Enum Apellido Puesto DNI Onum campo
EL21 Pastor Director 39432212E O5
EG37 Cubedo Supervisor 38766623X O3 registro
EG14 Collado Administrativo 24391223L O3
EA9 Renau Supervisor 39233190F O7
EG5 Prats Director 25644309X O3 valor del campo Onum
EL41 Baeza Supervisor 39552133T O5 en un registro

Enum Apellido Puesto DNI Onum


EL21 Pastor Director 39432212E O5
EG37 Cubedo Supervisor 38766623X O3 1
EG14 Collado Administrativo 24391223L O3
EA9 Renau Supervisor 39233190F O7 bloques / páginas
EG5 Prats Director 25644309X O3 2
EL41 Baeza Supervisor 39552133T O5

Tema 2. Organizaciones de ficheros y estructuras de acceso 5

Estructuras de ficheros

El orden en que se colocan los registros en un fichero depende de su estructura.

Los principales tipos de estructuras son los siguientes:


ƒ Ficheros desordenados.
ƒ Ficheros ordenados.
ƒ Ficheros dispersos (hashing).
ƒ Agrupamiento (clustering).

Tema 2. Organizaciones de ficheros y estructuras de acceso 6


3. Dispositivos de almacenamiento secundario

Discos

La información se almacena en pistas consecutivas del disco. En un paquete de discos, las


pistas que se encuentran unas sobre otras forman cilindros.

Tema 2. Organizaciones de ficheros y estructuras de acceso 7

Las pistas se dividen en porciones, que son las unidades más pequeñas de espacio que se
pueden direccionar, y son:
O bien sectores: • Son divisiones físicas (tamaño fijo).
• Presentan problemas de fragmentación interna.
• Hay información invisible al programador al principio de cada sector (dirección de
sector, dirección de pista y condición).
O bien bloques: • Son divisiones lógicas (su tamaño es variable, definido por el usuario).
• El tamaño de bloque se puede fijar como un múltiplo del tamaño de registro: no
hay problemas de fragmentación.
• Los bloques contienen datos e información sobre los datos: tamaño en bytes y, a
veces, una clave.
• Hay información invisible al programador al principio de cada bloque (más que
con los sectores), pero también hay información que debe ser tenida en cuenta por
el programador.
Un cluster es una cantidad fija de sectores/bloques contiguos, la unidad de espacio más pequeña que se
puede asignar a un fichero; el gestor de ficheros ve un fichero como un conjunto de clusters (FAT).
En extent es un trozo de fichero formado por varios clusters contiguos.

Tema 2. Organizaciones de ficheros y estructuras de acceso 8


Coste del acceso a disco
Un acceso conlleva tres operaciones físicas:
ƒ Tiempo de búsqueda (seek).
ƒ Tiempo de rotación (latencia).
ƒ Tiempo de transferencia.

El disco: un cuello de botella

Disco ≈ 5 Mbytes/seg. Red ≈ 100 Mbytes/seg.


La CPU tiene que esperar a los datos debido a la lentitud de los discos.
Hay una serie de técnicas que se utilizan para resolver este problema:
ƒ Multiprogramación.
ƒ Stripping.
ƒ Discos RAM.
ƒ Caché de disco.

Tema 2. Organizaciones de ficheros y estructuras de acceso 9

Acceso a los datos

write("texto",c,1) c: 'P'
1. El programa pide al SO que escriba el contenido de c en el fichero texto.
2. El SO pasa el trabajo al gestor de ficheros (GF).
3. El GF comprueba que las características lógicas del fichero son consistentes
con lo que se quiere hacer.
4. El GF busca en la FAT la posición física del sector que recibirá el sector/bloque donde se almacena
el byte.
5. El GF pide que el sector se lea y almacene en un buffer de E/S en RAM y escribe P
en la posición correspondiente en el buffer.
6. El GF dice al procesador de E/S dónde está el sector/bloque en RAM y dónde va en el disco.
7. El procesador de E/S espera a que el dispositivo esté disponible y pone los datos en
el formato del disco.
8. El procesador de E/S envía los datos al controlador del disco.
9. El controlador del disco indica al dispositivo que mueva la cabeza a la pista, espera hasta
que el sector esté bajo ella y le manda los datos, que son escritos bit a bit.

Tema 2. Organizaciones de ficheros y estructuras de acceso 10


4. Ficheros desordenados

Los registros se colocan en el fichero en el orden en que se van insertando.

Buscar: Búsqueda lineal.


Leer ordenadamente: Ordenación externa.
Insertar: Añadir por el final. Es muy eficiente.
Eliminar: Encontrar registro y borrarlo o marcarlo como borrado.
Cada cierto tiempo se debe hacer una reorganización.
Modificar: Encontrar y modificar en caso de que quepa.
Si no cabe, hay que borrar e insertar.

Los ficheros desordenados pueden tener registros de longitud fija o de longitud variable.
Se suelen utilizar con caminos de acceso adicionales (índices).
También se utilizan para almacenar datos que se van a procesar más tarde.

Tema 2. Organizaciones de ficheros y estructuras de acceso 11

5. Ficheros ordenados
Los registros se encuentran ordenados físicamente en el fichero según el valor de un campo,
el campo de ordenación.
Buscar: Búsqueda binaria si es por el campo de ordenación,
sino búsqueda lineal.
Leer ordenadamente: Muy eficiente si es a través del campo de ordenación,
sino ordenación externa.
Insertar: Encontrar posición, hacer hueco y escribir. Se puede tener espacio vacío
en cada bloque para inserciones o bien tener un fichero de
desbordamiento (overflow).
Eliminar: Encontrar registro y borrarlo o marcarlo como borrado.
Cada cierto tiempo se debe hacer una reorganización.
Modificar: Encontrar y modificar en caso de que quepa (longitud variable).
Si no cabe hay que borrar, hacer hueco e insertar. Si se modifica el campo
de ordenación, hay que cambiar el registro de lugar (borrar, hacer hueco e
insertar).
Los ficheros ordenados se suelen utilizar para hacer índices.

Tema 2. Organizaciones de ficheros y estructuras de acceso 12


6. Ficheros dispersos (hashing)

La dirección de cada registro se calcula aplicando cierta función sobre uno de sus campos, el
campo de dispersión. El acceso a los datos es muy rápido sólo si se busca con la condición de
igualdad sobre dicho campo. A los ficheros que utilizan este tipo de organización se les suele
llamar también ficheros directos.
La dispersión se puede utilizar a nivel interno (RAM), como una estructura de datos de un
programa o bien a nivel externo para ficheros en disco.
Hay varios tipos de dispersión a nivel externo:
ƒ Estática.
ƒ Dinámica.
ƒ Extensible.
ƒ Lineal.

Tema 2. Organizaciones de ficheros y estructuras de acceso 13

Dispersión Interna NOMBRE NSS PUESTO SALARIO


0
1
Funciones más comunes: 2
3
: :
ƒ h(K) = K mod M (figura) : :
M-2
ƒ Partir el campo en trozos y M-1

sumarlos o aplicar función lógica. campos de datos ptr. desborde


0 -1
ƒ Extraer ciertos dígitos del campo. 1 M
2 -1 espacio
3 -1 de
4 M+2 direcciones
Resolución de colisiones: :
M-2 M-1
M-1 -1
ƒ Direccionamiento abierto. M M+5
M+1 -1 espacio
ƒ Encadenamiento (figura). M+2
:
M+4 de
desborde
M+O-2 -1
ƒ Dispersión múltiple. M+O-1 -1

Tema 2. Organizaciones de ficheros y estructuras de acceso 14


Dispersión Estática
Número de Dirección de
bloque bloque en
relativo disco
0
1
2

:
...
:

M-2
M-1

La función de dispersión produce un número de bloque relativo. En una tabla que se guarda en
la cabecera del fichero se convierte ese número relativo en una dirección efectiva del disco
(bloque o cluster).

Dispersión Estática

Manejo de colisiones mediante encadenamiento: cada bloque con colisiones tiene un puntero a
una lista de registros de desbordamiento (overflow). Los registros de esta lista están
encadenados (enlazados por punteros).
Bloques principales
Bloque 0 340
460
Bloques de desborde
Puntero a registros 981 Puntero a registros
Puntero a registros
Bloque 1 321 182 Puntero a registros
761 :
91
Puntero a registros 652 Puntero a registros
761 Puntero a registros
Bloque 2 22 91 Puntero a registros
72
522 (los punteros apuntan a registros
Puntero a registros dentro de los bloques de desborde)

Bloque 3 399
89

Puntero a registros

Tema 2. Organizaciones de ficheros y estructuras de acceso 16


Dispersión Estática

Buscar: Muy rápido si es por el campo de dispersión.


Sino hay que hacer una búsqueda lineal.
Leer ordenadamente: Caro, ya que, normalmente, las funciones de dispersión no
mantienen los registros en el mismo orden.
Insertar: Aplicar la función de dispersión y si hay colisión, hay que
aplicar el algoritmo correspondiente.
Eliminar: Encontrar registro y borrarlo. Si hay lista de desbordamiento,
mover un registro de la lista al bloque.
Modificar: Encontrar y modificar. Si se modifica el campo de dispersión,
es posible que haya que cambiar el registro de lugar (borrar e
insertar).
El mayor inconveniente de la dispersión estática es que el espacio de almacenamiento es fijo. Si hay m
bloques y en cada uno caben n registros, como máximo puede haber m*n registros. Si hay menos de
m*n, hay espacio no utilizado. Si hay más de m*n el acceso será más lento ya que habrá largas listas de
desbordamiento. En este caso puede ser preferible cambiar a otra función de dispersión y redistribuir los
registros (¡!).

Tema 2. Organizaciones de ficheros y estructuras de acceso 17

Técnicas que permiten la expansión dinámica del fichero

ƒ Dispersión Dinámica.
ƒ Dispersión Extensible.
ƒ Dispersión Lineal.

Las dos primeras técnicas necesitan almacenar una estructura de acceso o directorio además
del fichero. La tercera técnica no necesita directorio.

Estos esquemas aprovechan el hecho de que el resultado de la función de dispersión es un


número entero no negativo y que por tanto se puede representar en binario. Los registros se
distribuyen teniendo en cuenta los primeros bits de este número, al que se denomina valor de
dispersión.

Tema 2. Organizaciones de ficheros y estructuras de acceso 18


Profundidad local
Dispersión Extensible de cada bloque Bloques del fichero
d'=3

d'=3
Directorio
000
001
010 d'=2
011
100
101
110 d'=2
111

Profundidad global d=3

d'=3

d'=3

Tema 2. Organizaciones de ficheros y estructuras de acceso 19

Bloques del fichero


d'=0 1101 ¡lleno!
Directorio 0000
0111
d=0 1111
Ejemplo
d'=1 0000
Directorio 0111
0
1
d=1 d'=1 1001
¡lleno!
1000
1101
1111

d'=1 0000
Directorio 0111
00
01
10 d'=2 1001
11 ¡lleno!
1000
d=2 1001
1010

d'=2 1101
1111

Tema 2. Organizaciones de ficheros y estructuras de acceso 20


d'=1 0000
Directorio 0111
000 0101
001
010 d'=3 1001
011 ¿borrar?
1000
100 1000
101 1001
110
111 d'=3 1010 ¡recombinar!
d=3

d'=2 1110
1101
1101
1111

Tema 2. Organizaciones de ficheros y estructuras de acceso 21

7. Agrupamiento (clustering)
INMUEBLES y CONTRATOS
- Inmueble seguido de su grupo de
I IA14 En medio, 128 Centro Castellón 600
contratos (acceso frecuente a estos
C 10024 Q62 600 Visa 1200 S 1/6/99 31/5/00 12 datos "juntos").
I IL94 Riu Ebre, 24 Ronda Sur Castellón 350 - Contratos: no hace falta incluir el
C 10075 Q76 350 Efectivo 700 N 1/1/00 30/6/00 6 número del inmueble (hay referencia
física) -
I IG24 San Francisco, 10 Vinaroz 550

C 10002 Q56 500 Efectivo 1000 S 1/1/97 30/6/97 6


- Algunos accesos se penalizan /

C 10012 Q74 550 Cheque 1100 S 1/7/99 30/6/00 12 - Es un fichero ordenado /

EMPLEADOS por OFICINA


O O3
E EG37 Cubedo Supervisor 38766623X
E EG14 Collado Administrativo 24391223L
E EG5 Prats Director 25644309X - Agrupamiento sobre un solo fichero.
O O5 - En cada registro se puede eliminar el
E EL21 Pastor Director 39432212E número de oficina, aunque es necesario
E EL41 Baeza Supervisor 39552133T incluirlo delante de cada grupo.
O O7
E EA9 Renau Supervisor 39233190F

Tema 2. Organizaciones de ficheros y estructuras de acceso 22


8. Indices

Indices de un solo nivel

ƒ Los índices de un solo nivel son ficheros ordenados.


ƒ Se implementan mediante ficheros ordenados cuyos registros tienen dos campos:
ƒ El campo de indexación: coincide con uno de los campos del fichero de datos.
ƒ La dirección del registro que corresponde al valor del campo de indexación.

ƒ Al ser ficheros ordenados se pueden realizar búsquedas binarias.

Hay varios tipos de índices de un solo nivel:


ƒ Indices Primarios.
ƒ Indices de Agrupamiento.
ƒ Indices Secundarios.

Tema 2. Organizaciones de ficheros y estructuras de acceso 23

Indices Primarios

ƒ Entradas: registros de longitud fija.


ƒ Campo de indexación: campo clave de
ordenación del fichero de datos (campo
clave).
ƒ Indice no denso.
ƒ Entrada: valor de la clave del
primer/último registro del bloque y
puntero a dicho bloque.
ƒ Búsqueda binaria sobre el índice: visita
menos bloques de disco.
ƒ Problema: son ficheros ordenados
(opciones: fichero de desbordamiento
desordenado; lista enlazada de registros
de desbordamiento).
ƒ Importante: sobre un fichero ordenado
por clave sólo puede definirse un índice
primario.

Tema 2. Organizaciones de ficheros y estructuras de acceso 24


Indices de Agrupamiento
ƒ Entradas: registros de longitud fija.
ƒ Campo de indexación: campo de
ordenación del fichero de datos
(campo no clave). Se le suele
denominar campo de agrupamiento.
ƒ Indice no denso: cada entrada apunta
a un bloque.
ƒ Entrada: una por cada valor distinto
del campo de agrupamiento. El
puntero apunta al primer bloque que
contiene un registro con dicho valor.
ƒ Búsqueda binaria sobre el índice:
visita menos bloques de disco.
ƒ Problema: son ficheros ordenados.
(opción: reservar un bloque entero
para cada valor distinto del campo de
agrupamiento).
ƒ Sobre un fichero ordenado por un
campo no clave sólo puede definirse
un índice de agrupamiento.

Tema 2. Organizaciones de ficheros y estructuras de acceso 25

Indices de Agrupamiento
Aquí se ha reservado
un bloque para cada
valor distinto del campo
de agrupamiento.
Se van añadiendo y
enlazando bloques
conforme sea
necesario.

Tema 2. Organizaciones de ficheros y estructuras de acceso 26


Indices Secundarios

ƒ Campo de indexación: cualquier campo que


no sea el campo de ordenación.

ƒ Pueden definirse varios índices secundarios


sobre un mismo fichero.

ƒ Proporcionan un ordenamiento lógico de los


registros según el campo de indexación.

ƒ Indice secundario sobre un campo clave: una


entrada por cada registro (índice denso).

ƒ Los índices secundarios son


más grandes que los primarios.

ƒ La mejora en tiempo de acceso


con los índices secundarios es
mayor que con los primarios.

Tema 2. Organizaciones de ficheros y estructuras de acceso 27

Indices Secundarios

ƒ Indice secundario sobre un campo


no clave:

ƒ Una entrada por cada registro:


índice denso.

ƒ Registros de longitud variable:


índice no denso y el campo de
la dirección contiene una lista
de punteros.

ƒ Registros de longitud fija: índice


no denso con un nivel extra de
indirección para manejar
punteros múltiples (en la
figura).

Tema 2. Organizaciones de ficheros y estructuras de acceso 28


Indices Multinivel
ƒ Objetivo: reducir más que con la búsqueda
binaria el trozo de índice en donde seguir
buscando.

ƒ Primer nivel: un fichero ordenado con entradas


de tamaño fijo y con un valor distinto del campo
de indexación en cada una (índice primario, de
agrupamiento o secundario)

ƒ Siguientes niveles: índices primarios sobre el


nivel anterior.

ƒ En cada bloque caben siempre el mismo


número de registros r: primer nivel i1 entradas,
segundo nivel i2=i1/r entradas, tercer nivel
i3=i2/r entradas, etc.

ƒ Se necesita un nivel más si el anterior ocupa


más de un bloque.

ƒ Un índice multinivel con i1 entradas en el primer


nivel tiene aproximadamente logr i1 niveles.

ƒ Reducen el número de accesos a bloque al


hacer búsquedas, pero son ficheros ordenados.

Tema 2. Organizaciones de ficheros y estructuras de acceso 29

Ejemplo comparativo de índices


Se tiene un fichero ordenado por campo clave con 30.000 registros de 100 bytes.
El tamaño de cada bloque de disco es de 1024 bytes.
1. ¿Cuántos accesos hay que realizar para encontrar un registro en este fichero a través del campo de ordenación?

Sobre este mismo fichero se define un índice sobre el campo de ordenación para acelerar el tiempo de acceso.
2. ¿Qué tipo de índice será?
3. ¿Cuántos accesos hay que realizar ahora para realizar la misma búsqueda?
Tamaño de las entradas del índice: 9 bytes del campo de indexación + 6 bytes del puntero al bloque que contiene el registro.

4. ¿Cuántos accesos hay que realizar para encontrar un registro en el mismo fichero a través de un campo clave que no es
el de ordenación?
5. Si se define un índice secundario sobre este campo para acelerar el tiempo de acceso ¿cuántos accesos hay que realizar
ahora para hacer la misma búsqueda?
Tamaño de las entradas del índice: 9 bytes del campo de indexación + 6 bytes del puntero al bloque que contiene el registro.

6. Si este índice secundario se utiliza como primer nivel para un índice multinivel ¿cuántos niveles son necesarios para
construirlo?

Tema 2. Organizaciones de ficheros y estructuras de acceso 30


Ejemplo comparativo de índices

1. Registros por bloque = 1024/100 = 10


Bloques de datos = 30000/10 = 3000
Búsqueda binaria Æ log2 3000 = 12 accesos a bloques
2. Indice primario
3. Entradas por bloque = 1024/15 = 68 ; bloques de índice = 3000/68 = 45
Búsqueda binaria Æ log2 45 = 6 accesos al índice
Total de accesos a bloques = 6 (índice) + 1 (fichero de datos) = 7
Mediante el índice se ha conseguido ahorrar algo más del 40% en el número de accesos.
4. Búsqueda lineal Æ 3000/2 = 1500 accesos a bloques
5. Bloques de índice = 30000/68 = 442
Búsqueda binaria Æ log2 442 = 9 accesos al índice
Total de accesos a bloques = 9 (índice) + 1 (fichero de datos) = 10
6. Primer nivel Æ 442 bloques
Segundo nivel Æ 442/68 = 7
Tercer nivel Æ 7/68 = 1
Total de accesos a bloques = 3 (índice) + 1 (fichero de datos) = 4

Tema 2. Organizaciones de ficheros y estructuras de acceso 31

Arboles B y Arboles B+

Problemas de los índices multinivel: son ficheros ordenados.


Posible solución: reservar espacio en cada bloque para futuras inserciones (índices dinámicos multinievel).
Arboles de búsqueda:

donde K1 < K2 < ... K q-1 dentro de cada nodo.


ƒ Los algoritmos que realizan inserciones y borrados no garantizan que el árbol esté equilibrado.
ƒ Las eliminaciones de registros pueden hacer que queden nodos casi vacíos: se desperdicia espacio.
ƒ El que haya nodos casi vacíos también provoca un aumento en el número de niveles.

Tema 2. Organizaciones de ficheros y estructuras de acceso 32


Arboles B de orden p

ƒ En cada nodo K1 < K2 < ... K q-1 con q ≤ p


ƒ Cada nodo tiene, al menos, p/2 punteros a nodos del árbol.
ƒ Todas las hojas están al mismo nivel.
ƒ Las hojas tienen la misma estructura que los nodos internos, pero los punteros a nodos del árbol son nulos.

Tema 2. Organizaciones de ficheros y estructuras de acceso 33

Arboles B+ de orden p

ƒ En cada nodo K1 < K2 < ... K q-1 con q ≤ p


ƒ Cada nodo interno tiene, al menos, p/2 punteros a nodos del árbol.
ƒ Todas las hojas están al mismo nivel.
ƒ Cada nodo hoja tiene, al menos, p/2 valores.

Tema 2. Organizaciones de ficheros y estructuras de acceso 34


Ejemplo comparativo de árboles B y árboles B+
Dado un fichero con las siguientes características:
ƒ Tamaño campo de indexación V = 9 bytes.
ƒ Tamaño de bloque B = 512 bytes.
ƒ Tamaño de los punteros a registros de datos Pdatos = 7 bytes.
ƒ Tamaño de los punteros a subárboles Párbol = 6 bytes.

1. ¿Cuál será el orden p de un árbol B?


2. ¿Cuál será el número entradas del árbol B si tiene 3 niveles?

3. ¿Cuál será el orden p de un árbol B+?


4. ¿Cuál será el número entradas del árbol B+ si tiene 3 niveles?

Tema 2. Organizaciones de ficheros y estructuras de acceso 35

Ejemplo comparativo de árboles B y árboles B+

1. p * Párbol + (p-1) * (V + Pdatos) ≤ B 3. p * Párbol + (p-1) * V ≤ B


p ≤ 23 p ≤ 34
Ya que los nodos están a un 69% de su capacidad : ¿phoja ? Æ phoja * (Pdatos + V) + P ≤ B
p * 0.69 = 16 punteros phoja ≤ 23
Ya que los nodos están a un 69% de su capacidad :
2. nodos entradas punteros p * 0.69 = 23 punteros
Raíz 1 15 16 phoja * 0.69 = 21 punteros
Nivel 1 16 240 256
Nivel 2 256 3840 4096 4. nodos entradas punteros
nivel 3 4096 61440 raíz 1 22 23
65535 entradas nivel 1 23 506 529
nivel 2 529 11638 12167
nivel 3 12167 255507 entradas

Tema 2. Organizaciones de ficheros y estructuras de acceso 36


Arboles B y Arboles B+

ƒ En los árboles B+, además de tener acceso a los registros mediante el


índice, se puede acceder según el orden del campo de indexación de
modo secuencial.
ƒ Ya que los nodos internos de un árbol B+ guardan menos punteros, tienen
mayor capacidad que los nodos de los árboles B. Esto puede hacer que
un árbol B+ tenga menos niveles y por tanto se mejore el tiempo de
acceso.
ƒ Ya que los nodos internos y los nodos hoja de un árbol B+ tienen distinta
estructura, su orden p puede ser distinto.

Tema 2. Organizaciones de ficheros y estructuras de acceso 37

Ficheros dispersos como índices

También se pueden crear estructuras de acceso similares a los índices


basándose en la dispersión.

Las entradas del índice (K, Pr) se pueden organizar como un fichero
disperso que va cambiando de tamaño mediante dispersión dinámica,
extensible o lineal.

El algoritmo de búsqueda aplica la función de dispersión sobre K. Una


vez se ha encontrado la entrada, el puntero Pr se utiliza para
localizar el registro correspondiente en el fichero de datos.

Tema 2. Organizaciones de ficheros y estructuras de acceso 38

S-ar putea să vă placă și