La soluzione B-tree
Gli indici B-tree sono strutture dati ad albero bilanciate in cui i singoli nodi rappresentano delle pagine dati, il bilanciamento e mantenuto dalle operazioni di inserimento e update.
Il numero di entries di un nodo e un valore nell’intervallo dove e detto ordine dell’albero
il numero di nodi figli e e oscilla nell’intervallo
Algoritmo di ricerca di un b-tree
L’algoritmo di ricerca, dato un valore della chiave percorre l’albero prendendo in considerazione il figlio -esimo con tale per cui
Costo di una ricerca in un b-tree
In una ricerca in un b-tree il costo e dato dall’altezza dell’albero + l’accesso al data file
la root si presume già essere in memoria centrale
Di conseguenza e necessario poter computare l’altezza di un b-tree
Si ha che il numero massimo di nodi di un b-tree e dato quando tutti i nodi hanno entry di conseguenza si ha che
Di conseguenza il massimo numero di entry e dato da
Viceversa il numero minimo di nodi si ha quando tutti escluso la root sono pieni a meta ovvero hanno entry
Di conseguenza il minimo numero di entry e dato da
L’altezza dell’albero e di conseguenza inclusa nel range:
Limitazioni di un b-tree
Un B-tree risulta inefficente nelle ricerche a range in quanto le entry sono contenute anche nei nodi intermedi, per risolvere questo problema si introducono i B+tree