Está en la página 1de 21

Tema 4: Organizacin Indizada

Introduccin.
Ficheros Indizados (organizaciones indizadas)
ndices Multinivel
Indizacin por rboles
Indizacin Mediante Claves Secundarias

. Univ. Carlos III

Tema 4.1: Introduccin


Las organizaciones base suelen establecerse entorno a un
proceso privilegiado (o unos pocos procesos).
Serial  privilegia inserciones
Secuencial  privilegia acceso ordenado y localizacin CO
Direccionada  privilegia localizaciones a travs de CD
Si queremos acceder por otras claves de bsqueda. qu
necesitamos? Realizar una bsqueda serial....
Motivacin para la indizacin: almacenar en un fichero aparte
una relacin entre la clave de bsqueda y su localizacin en el
fichero.

. Univ. Carlos III

Tema 4.1: Introduccin. Definicin


NDICE: directorio cuya entrada se refiere a un solo registro
- Es como un listado para traducir punteros (lgicos a relativos)
Almacenamiento auxiliar utilizado para localizar los registros
- Los ndices se almacenan en un fichero (o varios) de ndices.
- Los registros se almacenan en un fichero de datos o fichero principal
- El fichero principal mantendr su organizacin bsica

El acceso selectivo a los registros a travs del ndice se har mediante


una clave que recibe el nombre de clave de indizacin.
Tipos de ndice: segn sea la clave de indizacin
 ndice primario
 ndice secundario

- si es clave de identificacin
- cualquier clave de bsqueda no unvoca

. Univ. Carlos III

Tema 4.1: Introduccin. Propiedades


Un fichero puede contar con ms de un ndice (ndices mltiples)
Posibilidad de buscar por distintas claves.
Asi-Fin
3
Dum-Con 4
Dum-Mos 1
Per-Cap 2
...
...
Asimov
Dumas
Dumas
Prez-Reverte

...

...

Dum-Mos
Per-Cap
Asi-Fin
Dum-Con
...
Dum-Mos
Per-Cap
Asi-Fin
Dum-Con
...

Los Tres Mosqueteros

Dumas

El Capitn Alatriste

Prez-Reverte

El Fin de la Eternidad

Asimov

El Conde de Montecristo

Dumas

...

...

Los Tres Mosqueteros

Dumas

El Capitn Alatriste

Prez-Reverte

El Fin de la Eternidad

Asimov

El Conde de Montecristo

Dumas

...

...

...
...
...
...
...
...
...
...
...
...

. Univ. Carlos III

Tema 4.1: Introduccin. Propiedades


Es deseable que el ndice est almacenado en memoria principal
(total o parcialmente) para optimizar el acceso (selectivo).
Si se cuenta con ms de un ndice, se puede considerar un
ndice primario (poco voltil) y referir el resto a este.
Asimov
...
Dumas
Dumas
...

...

...

Prez-Reverte

...

...

ndice secundario

Asi-Fin
3
Dum-Con 4
Dum-Mos 1
Per-Cap 2
...
...

ndice primario

Dum-Mos
Per-Cap
Asi-Fin
Dum-Con
...

Los Tres Mosqueteros


El Capitn Alatriste
El Fin de la Eternidad
El Conde de Montecristo
...

...
...
...
...
...

Fichero de datos

Es conocido como CLUSTERING


@

. Univ. Carlos III

Tema 4.1: Introduccin. Ventajas


Por qu un ndice ?
(1) Aumento de la Tasa de Acierto

Hit: Coincidencia en una bsqueda

Hit Rate: Tasa de acierto (coincidencia) de una bsqueda sobre un soporte

Ejemplo: fichero secuencial; 105 registros de 1Kb; 1024 Kb de Mintermedia


una direccin de absoluta ocupa 2 caracteres, la clave 1caracter
- Sin ndice:
en Mint tenemos 1024 reg. Hit Rate 1% (casi siempre hay que buscar)
- Con ndice
caben 10242/3 bytes = 349525 entradas de ndice Hit Rate (ndice) = 100%
El ndice no nos da el registro, pero si su direccin (localizacin inmediata)
El 100% de las veces, hacemos 1 acceso
@

. Univ. Carlos III

Tema 4.1: Introduccin. Ventajas


(2) Acceso por claves alternativas

Ejemplo 1: fichero secuencial con clave de ordenacin


Ejemplo 2: fichero direccionado con clave de direccionamiento
- si la clave de bsqueda es otra la bsqueda es serial
- si el hit rate es bajo, habr que leer todo el fichero casi siempre
Solucin 1: ndice que relacione clave_bsqueda clave_ordenacin
/direccionamiento har que la bsqueda sea dicotmica (coste logartmico) o AT
Solucin 2: ndice que relacione clave_bsqueda direccin_fsica bsqueda
inmediata, pero si los registros cambian de posicin (por copia, reorganizacin,
etc.) habra que reorganizar el ndice
clave_bsqueda direccin_relativa (cierta independencia)
@

. Univ. Carlos III

Tema 4.1: Introduccin. Ventajas


(3) Reorganizacin ms cmoda
Ejemplo: fichero secuencial con clave de ordenacin
genera un rea desordenada al final del fichero
precisa reorganizaciones peridicas

Solucin: puedo tener el fichero desordenado (org. serial) pero con


un ndice ordenado (clave de ordenacin posicin fsica o
relativa)
Ventaja: se sigue precisando reordenar el ndice (exactamente igual)
pero es mejor reorganizar algo que cabe en memoria ppal.
- Se reorganiza con facilidad
- Actualizar (almacenar) los cambios es poco costoso
- Antes de actualizar los cambios, se aprovecha la reorganizacin

Inconveniente: qu ocurrira si el ndice no cupiera en memoria principal?


@

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Estructura


Estructura de una Organizacin Indizada :
Fichero de Datos + Fichero de ndices [ + Fichero de Desbordamientos ]

Parmetros de una Organizacin Indizada:


- el tipo de ndice
- la organizacin del ndice
- la organizacin del fichero de datos
- la gestin de desbordamientos

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


Segn el carcter identificativo de la clave de indizacin:
- si es clave de identificacin
 ndice primario
- cualquier clave de bsqueda no unvoca
 ndice secundario
Segn la correspondencia (biyectiva o no) entre entradas y registros:
- Denso (1:1): existe una entrada del ndice para cada registro
- No Denso (1:n): varios registros indizados por una sola entrada
Segn el recubrimiento del ndice:
- Exhaustivo: todos los registros que deben tener entrada la tienen
- Parcial: no se indizan todos los registros
(se dejan aparte los que se acceden rara vez, los ltimos en ser introducidos, etc.)

 Si el ndice exhaustivo falla, indica que el elemento buscado no existe;


pero si un ndice parcial falla, no aporta ningn valor informativo.

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


tipo de ndice
denso
Per-Cap 2
Dum-Con 4
Asi-Fin
3
Dum-Mos 1
...
...

organizacin del ndice


serial

Dum-Mos
Per-Cap
Asi-Fin
Dum-Con
...

organizacin del f. datos


serial

Los Tres Mosqueteros


El Capitn Alatriste
El Fin de la Eternidad
El Conde de Montecristo
...

...
...
...
...
...

Propiedades:
localizacin: serial sobre el ndice (mucho tiempo de proceso)
si el ndice cabe todo en memoria, pocos accesos (1)
tamao del ndice: gen. grande, ya que cada registro tiene una entrada.

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


tipo de ndice
denso
Asi-Fin
3
Dum-Con 4
Dum-Mos 1
Per-Cap 2
...
...

organizacin del ndice


secuencial
Dum-Mos
Per-Cap
Asi-Fin
Dum-Con
...

organizacin del f. datos


serial

Los Tres Mosqueteros


El Capitn Alatriste
El Fin de la Eternidad
El Conde de Montecristo
...

...
...
...
...
...

Propiedades
localizacin: ordenada sobre el ndice (menor t. de proceso)
el resto de consideraciones, no cambian
(salvo que en este caso aparece la necesidad de reorganizar)

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


tipo de ndice
denso

organizacin del ndice


serial
secuencial

organizacin del f. datos


secuencial

Ventajas:
(1) si CI = CO; posibilidad de utilizar una tcnica para procesos a
la totalidad, y otra para procesos selectivos.
(2) si CI CO aporta variedad en las claves de bsqueda.
Desventajas:
(1) si CI = CO; reorganizaciones tanto en el fichero como en el
ndice.

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


tipo de ndice
denso

organizacin del ndice


serial
direccionado

organizacin del f. datos


direccionado

Propiedades
Es obligado que la CI CD. Permite buscar por claves de bsquedas

distintas de la CD
tipo de ndice
denso

organizacin del ndice


secuencial

organizacin base
direccionado

Propiedades
Si la CI = CD se mejora la consulta ordenada a la totalidad

En otro caso estaramos en el caso anterior aunque con una


ordenacin lgica del fichero direccionado
@

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


tipo de ndice
No denso
Asi-Fin
1
Dum-Con 2
Per-Cap 3
...
...

organizacin del ndice


secuencial

organizacin del f. datos


secuencial

Asi-Fin
...

El Fin de la Eternidad

Dum-Con
Dum-Mos
...

El Conde de Montecristo

Per-Cap
...

El Capitn Alatriste

...

Los Tres Mosqueteros


...

...

...
...
...
...
...
...
...

localizacin:
bsqueda ordenada en el ndice se obtiene direccin del cubo
se recupera el cubo, y se busca dentro del cubo ordenado
@

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


Propiedades de los ndices No Densos:
Slo puede aplicarse si la organizacin base es secuencial (ordenada), el
ndice es secuencial (ordenado), y clave_indizacin = clave_ordenacin

 slo puede existir un ndice no denso para cada fichero de datos


Aporta varias posibilidades de acceso:
1.- procesos ordenados (a la totalidad): acceso serial (ordenado)
2.- procesos selectivos (solucin nica): a travs del ndice
3.- mixtos (seleccin de un rango): acc. indizado (1er elemento) + serial

. Univ. Carlos III

Tema 4.2: Ficheros Indizados.


Propiedades de los ndices No Densos:
Surge el clsico problema de desbordamientos, con sus consecuencias:
1.- Gestin por rea de Desbordamiento (con o sin encadenamiento)
A veces se considera en un fichero aparte (fichero desbordamientos)
2.- Reorganizacin:
la reorganizacin puede provocar cambios en el ndice!

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Tipos


Asi-Fin
1
Dum-Con 2
Per-Cap 3
...
...

Dum-Con
Dum-Mos
Ner-Poe
Men-Sin

Asi-Fin
1
Dum-Con 2
Ner-Poe 3
...
...

El Conde de Montecristo
Los Tres Mosqueteros
Veinte Poemas de Amor

Sin Noticias de Gurb

Dum-Con
Dum-Mos
Men-Sin
Ner-Poe
Per-Cap
...

...

El Conde de Montecristo
Los Tres Mosqueteros
Sin Noticias de Gurb
Veinte Poemas de Amor
El Capitn Alatriste
...

...
...
...

...
...
...
...
...
...

?
!

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Interaccin


Operaciones sobre Ficheros Indizados:
Operaciones sobre la totalidad del fichero:
Creacin: hay que crear el ndice (al crear el fichero o posteriormente)
Borrado: si se borra el fichero de datos, hay que borrar el ndice
- se puede destruir el ndice sin borrar el fichero de datos.
Consulta: generalmente, interesa hacerla sin contar con el ndice
(excepcin: proceso ordenado, con ndice ordenado y f. de datos serial)

Operaciones selectivas (sobre registros aislados):


Localizacin: se har a travs del ndice
Operaciones de Actualizacin: pueden afectar al ndice
(es necesario actualizarlo)

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Interaccin


Operaciones Selectivas sobre Ficheros Indizados:
Recuperacin:
Consulta Selectiva: localizacin + recuperacin del registro
(si el ndice es no denso, se recupera un cubo y se busca dentro el registro)

Actualizacin:
Insercin:
- ndice denso: insercin en ambos (f. de datos e ndice)
cada fichero (datos e ndice) mantiene sus peculiaridades (orden, ...)
- ndice no denso: insercin slo en fichero de datos
(puede producir desbordamientos, que a su vez pueden afectar al ndice)

. Univ. Carlos III

10

Tema 4.2: Ficheros Indizados. Interaccin


Operaciones Selectivas sobre Ficheros Indizados:
Actualizacin: (cont.)
Borrado:
- ndice denso: borrado en ambos aparecen huecos
Los huecos pueden ser gestionados mediante una lista de huecos
- si el fichero de datos es secuencial, la lista de huecos ser ordenada
- si no lo es, la lista de huecos podra estar ordenada por tamaos
- si los registros son de longitud fija, simplemente es una lista
- ndice no denso: el borrado genera espacio en el cubo (no pasa nada)
El problema puede venir si el elemento borrado es el ndice de su cubo
En este caso, se hace necesario reorganizar ese cubo y actualizar el ndice

. Univ. Carlos III

Tema 4.2: Ficheros Indizados. Interaccin


Operaciones Selectivas sobre Ficheros Indizados:
Actualizacin: (cont.)
Modificacin:
- ndice denso: modificacin en el fichero de datos
si cambia la clave, modificacin en ambos
si el fichero de datos tiene registros variables, o es secuencial,
puede dar problemas: una solucin es borrar y reinsertar
- ndice no denso: modificacin en el fichero de datos
si cambia la clave y esta es el ndice del cubo,
ser necesario modificar en ambos y comprobar
si es necesaria una reorganizacin
tambin pueden dar problemas los registros variables (raro)

. Univ. Carlos III

11

Tema 4.2: Ficheros Indizados.


Gestin de Desbordamientos: (solo ndices no -densos)
rea (o Fichero) de Desbordamiento
- con organizacin serial
- con encadenamiento
- con punteros mltiples (el ndice tiene una coleccin de punteros)
- nueva entrada en el ndice para cada cubo de desbordamiento
Espacio Libre Distribuido: procurar espacio libre en el rea de datos
- intercalar cubos completamente vacos
(se podra emplear tambin para secuencial indizado denso, pero no se hace)

- dejar espacio en cada cubo: admite tcnicas para mantener ese espacio
rotaciones: traspasar elementos de un cubo lleno a otro vecino con sitio
particionamiento celular: dividir un cubo lleno en dos semi-llenos
@

. Univ. Carlos III

Tema 4.2: Ficheros Indizados.


ndices muy grandes
El ndice denso puede ser muy grande elevado coste de
almacenamiento y de reorganizacin (si adems es ordenado).
Un ndice no denso precisa menos entradas. As, es apropiado
cuando hay muchas entradas y el ndice no cabe en memoria
Si sigue sin caber, habr que fraccionar el ndice.
Cmo organizar esos fragmentos de ndice?
Qu tal con un ndice de ndices? ndice binivel
Y si ese ndice sigue siendo grande? ndice multinivel

. Univ. Carlos III

12

Tema 4.3: ndices Multinivel


Son ndices con n niveles (el nivel n es ndice del nivel n+1)
nivel n
(hojas)

nivel 1
(raz)

And
San
Wel
. . . ...

And
Del
Men
. . . ...

And
Asi
Con
. . . ...
Men
New
Per
. . . ...

Andersen
Annimo
...

Cuentos Completos
El Lazarillo de Tormes
...

...
...
...

...
Mendoza
Neruda
...

La cripta embrujada
Veinte Poemas de Amor
...

...
...
...

El nmero de niveles es fijo


Siempre n_entradas_nivel_n < n_entradas_nivel_n+1

. Univ. Carlos III

Tema 4.3: ndices Multinivel


Tiempo de Acceso:
Con un ndice de este tipo, es ventajoso que todo el nivel 1 quepa
en memoria (ahorramos un acceso al soporte).
Si un cubo de cualquier nivel se lee en un acceso (Tcubo = Tbloque),
el nmero de accesos para conseguir la direccin de los datos ser n-1
Si el cubo de datos se lee en un acceso, el total sern n accesos

Problemas:
- el ndice puede crecer y, si no aumenta el cubo, acabar desbordando
- el nmero de accesos puede hacerse muy elevado
- mantener el ndice ordenado es muy costoso (mucha reorganizacin)

. Univ. Carlos III

13

Tema 4.4: Indizacin en rbol


Es un caso particular de ndice multinivel (en forma de rbol)
Definiciones:
Un rbol est formado por nodos. Los nodos tienen un tamao fijo
(en cada nodo cabe un nmero fijo de entradas de ndice)
Cada nodo tiene un solo padre (menos la raz, nivel 1, que no tiene)
Cada nodo tiene uno o ms hijos (menos las hojas, nivel n, que no tienen)
Nodos internos son todos aquellos que no sean ni raz ni hojas.
Respecto de un nodo, los nodos que estn por encima suyo (de menor nivel)
son ascendientes, y los que estn debajo (de mayor nivel) son descendientes.
Un subrbol consta de un nodo interno con todos sus descendientes.

. Univ. Carlos III

Tema 4.4: Indizacin en rbol


Distintas aproximaciones clsicas
rbol binario. Cada nodo tiene una entrada (clave+puntero al f. de datos)
y dos punteros dirigidos a dos nodos hijos (exceptuando las hojas, claro).
El recorrido es inorden, es decir, {subrbol_izq} nodo {subrbol_derecho}
Mejora: rbol binario paginado (Tpagina = Tbloque)
rbol AVL. Evita la degeneracin de los rboles binarios; por lo tanto mejora el
acceso.
Mejora: rbol AVL paginado (Tpagina = Tbloque)

acceso med. binario:


log 2 (n+1)
acceso med. binario paginado: log m+1 (n+1) ( k =claves/por pgina)
acceso max. AVL:

1.44 log2 (n+2)

El gran problema es que no se asegura una ocupacin mnima en cada pgina


y las reorganizaciones son muy costosas.
@

. Univ. Carlos III

14

Tema 4.4: Indizacin en rbol B


rboles B (Bayer/McCreight)
Idea: ya que inicialmente no se conoce el elemento que es mejor separador,
se comienza por las hojas. A medida que crezca, se construye hacia arriba.
Nodo: cada nodo va a llenar un bloque; contiene entradas de ndice (pares
clave indizacin-puntero a los datos) y punteros (para apuntar nodos hijo)
Entrada 2

E1

E2Clave

E3 ...

Ek

(al fichero de datos)

Orden del rbol (m): indica la capacidad de los nodos


segn las entradas: el n mnimo de claves de un nodo (Bayer)
segn los punteros (hijos): n mximo de hijos de un nodo (Knuth)
@

. Univ. Carlos III

Tema 4.4: Indizacin en rbol B


rboles B : Particin y Promocin
Las entradas dentro de un nodo van ordenadas
Cuando un nodo desborda, se divide en dos y se promociona el elemento
intermedio hacia el nivel superior (ese elemento se lleva dos punteros: uno
hacia cada hijo, es decir, hacia cada uno de esos dos nuevos nodos)
http://slady.net/java/bt/ y http://articulos.conclase.net/arboles-b/

E1

E2

E3

E4

E5

E6

E5

E6

E4
E1
@

E2

E3

. Univ. Carlos III

15

Tema 4.4: Indizacin en rbol B


rboles B : Observaciones
Si el rbol es de orden m, cualquier nodo tendr a lo sumo m descendientes
Si un nodo tiene m descendientes (no hoja), tendr m-1 entradas
Corolario: un nodo de un rbol de orden m tiene a lo sumo k=m-1 entradas

m Tpuntero + k Tentrada < Tnodo


El nodo raz tiene al menos un elemento y, por tanto, al menos 2 hijos.
Todas las hojas estn al mismo nivel rbol plano (bushy)
La insercin de una nueva entrada puede dar lugar a una (o ms) particiones
El borrado de una entrada puede dar lugar a una (o ms) concatenaciones
@

. Univ. Carlos III

Tema 4.4: Indizacin en rbol B


rboles B : Propiedades
Todos los nodos menos el raz
garantizan una ocupacin mnima:

kmn = k
2

Corolario
mmn = kmn + 1
Cuntos descendientes tienen los nodos intermedios?
m+1
(suponiendo poltica de dividir cuando desborda)
mmn =

2
Tamao del fichero de ndices
Se puede obtener una cota superior del fichero de ndices
Nmx nodos fichero = (n entradas fichero-1) / kmn + 1 (raz)
Tmx fichero = nmx nodos fichero Tnodo

. Univ. Carlos III

16

Tema 4.4: Indizacin en rbol B


rboles B : Propiedades (II)
El n de niveles (n) para un rbol de orden m y e entradas tiene cota superior:
nivel

nodos

entradas

acumulado

2 kmn

1+ 2kmn

2 mmn

2mmnkm

...

...

 n
n+1

...

...

...

2mmnn2k
mn

(2mmnn-1)-1

2 mmnn-

2mmnn1k
mn

(2mmnn)-1

n 1 + log

n-

2 mmn

Cota Superior:
m+1
2

( e+1 )
2

<e
>e

(este nivel ya no vale)

. Univ. Carlos III

Tema 4.4: Indizacin en rbol B


rboles B : Propiedades (III)
El nmero de accesos al soporte coincide, en general, con el n de niveles.
Pues en general la raz estar siempre en memoria

El tiempo de acceso (mximo) a registro aleatorio depender del nmero


de niveles (n) y del tiempo de acceso a un nodo:
tmx = n tnodo
Este tiempo de acceso ser cota superior del tiempo de acceso en cualquier
momento de la vida del fichero (mientras no cambien sus condiciones).
Puede calcularse una cota inferior en el tpo. de acceso en base al nmero
de niveles del rbol perfectamente construido, es decir, los nodos con su
mxima ocupacin.
@

. Univ. Carlos III

17

Tema 4.4: Indizacin en rbol B


rboles B : Valoracin
Aspectos Positivos:
Existe una cota superior razonable del nmero de accesos a soporte
Generalmente, las operaciones (de insercin o borrado) requieren
reestructurar un nodo. Y si son ms, suelen ser pocas nodos.
En el peor caso, los nodos estn ocupadas a la mitad (aproximadamente)

Aspectos a Mejorar
Si las entradas son grandes, el orden puede ser demasiado pequeo
La densidad (mnima) de los nodos es muy mejorable
En las hojas se desperdicia mucho espacio (no necesitan punteros desc.)

. Univ. Carlos III

Tema 4.4: Indizacin en rbol B+


Idea: se pretende reducir el tamao de las entradas de ndice
Se va a considerar que los nodos intermedios son separadores, y que todas
las entradas de ndice estn en las hojas. En los nodos no hojas slo ser
necesaria la clave (se ahorra el espacio; el de elpuntero al f. de datos). Por
tanto, en cada pgina caben ms claves (el orden es mayor).
Entrada 2

E1

E2Clave

Entrada 2

E3 ...

E1

E2Clave

Nodo Hoja

E3 ...
(al fichero de datos)

Nodo No Hoja

Por otro lado, las hojas, al no tener hijos, no utilizan esos punteros. Ahora los
van a utilizar para apuntar al rea de datos (puntero izqdo. = puntero externo)

. Univ. Carlos III

18

Tema 4.4: Indizacin en rbol B+


rboles B+ : Particin y Promocin
El funcionamiento es similar al de rboles B. Slo cambia en la
promocin: el elemento que promociona desde una hoja, se tiene que quedar
tambin en una de las hojas resultantes de la divisin.
Observar que en los nodos hoja sobra un puntero (el del extremo derecho).
Cuando se divide, en el hijo de la izquierda este puntero se asigna apuntando
a su hermano (el hijo de la derecha). De este modo, se tienen todas las
pginas hoja encadenadas.
http://www.cs.msstate.edu/~cs2314/global/BTreeAnimation/visualization.html

E4
E1 E2

E3

E4 E5

(al fichero de datos)

E6

(al fichero de datos)

. Univ. Carlos III

Tema 4.4: Indizacin en rbol B+


La ocupacin mnima de las hojas ser:

kmn =

(suponiendo poltica de dividir cuando desborda)

k+1

La ocupacin mnima de los nodos intermedios ser k/2 


(se operan como los nodos de un rbol B)

m+1
mmn =

Clculo del nmero de niveles:


El nivel de las hojas es el nivel n. Cuntas hojas?

n hojas = e / kmn
e = n total de entradas

El n de nodos en el nivel n-1 depende del nmero de nodos del nivel n


n nodos (n-1) = n nodos (n) / mmn
Cuando se llega a un nivel con un solo nodo (la raz), este ser el nivel 1.
@

. Univ. Carlos III

19

Tema 4.4: Indizacin en rbol B+


rboles B+ : Observaciones
El orden es mayor que el de los rboles B. Esto hace que existan menos
nodos separadores. En consecuencia, la profundidad del rbol ser menor
(menor o igual en general) aunque se repitan entradas!
Todos los elementos tienen el mismo coste de acceso.
Aunque algunos elementos empeoren, la media del coste de acceso mejora.
El encadenamiento de las hojas proporciona un mtodo de acceso alternativo
(es un rbol que proporciona acceso secuencial y selectivo)

El tamao del fichero de ndices es el nmero total de nodos (la suma de


los nodos necesarios entre todos los niveles) por el tamao de un nodo.

. Univ. Carlos III

Tema 4.4: Indizacin en rbol B*


Idea: se pretende aumentar la densidad de los nodos
Para ello, en lugar de dividir un nodo en dos, se dividirn dos nodos en tres.
As, en lugar de conseguir una ocupacin mnima del 50% se obtendr el 66%
Cuando un nodo desborda, en lugar de dividir, se procurar ceder uno de sus
elementos a su vecino (rotacin). Si su vecino tambin est lleno, se dividen.
Aparece otra ventaja: un desbordamiento no siempre supone divisin/promocin

Por lo dems, el resto del funcionamiento es como el de los rboles B.

Propiedades: las mismas del B, pero teniendo en cuenta que...


2k

Todos los nodos menos el raz garantizan una ocupacin mnima:
3
2k
Los nodos intermedios cuentan con
+1 descendientes
2m+1
3
3
(suponiendo poltica de dividir cuando desborda)

. Univ. Carlos III

20

Tema 4.4: Indizacin en rbol B*


Consideraciones Finales
Se puede organizar un fichero de datos en rbol (equivale a sustituir
el puntero por el correspondiente registro de datos). Slo interesa si
el registro es pequeo y el nodo es grande (el orden ha de ser grande).
Se pueden combinar las mejoras logradas por rboles B+ y B*
En general, se buscan variantes que proporcionen mayor eficiencia
menor nmero de accesos
menor profundidad del rbol
mayor aprovechamiento de espacio
mayor orden
mayor ocupacin

mnimo coste de actualizacin

. Univ. Carlos III

Tema 4.5: Indizacin. Claves Secundarias


ndice Secundario: la diferencia es que la identificacin no es unvoca
(pueden existir varias entradas de ndice para cada valor de la clave)

- Probablemente, el fichero no est ordenado por la clave secundaria.


En consecuencia, interesa contar con un ndice denso ordenado.
- Si se quiere considerar un ndice multinivel, por el mismo motivo el
nivel n del ndice tendr que ser denso

Tipos de ndice Secundario: (atendiendo a la completitud)


- ndice Exhaustivo: todos los registros indizados
- ndice Parcial: slo se indizan los registros ms interesantes

. Univ. Carlos III

21