Académique Documents
Professionnel Documents
Culture Documents
Dfinitions prliminaires 1. 2. 3. Index = table permettant dassocier une cl darticle (donne dapplication) ladresse relative de cet article (position dans le fichier) Mthodes daccs index = faon daller chercher des articles (donnes dapplication) dans un fichier partir dorganisation indexe ( index primaire) Densit dun index = quotient du nombre de cls dans lindex sur le nombre darticles du fichier. Ainsi, un index dense possde autant de cls quil y a darticles dans le fichier. Si le fichier est tri, on peut utiliser un index non dense (ex : la cl la plus grande des articles de chaque bloc avec ladresse relative du bloc) Index hirarchis = index sur un index, sur un index, pour acclrer la recherche de la cl dans lindex Index discriminants ou non = sur une donne discriminante ou non (identifiant un article de manire unique ou non) Index plaant = qui range les articles dans lordre des cls et les restitue dans lordre en lecture squentielle de la mmoire Index primaire = qui est bas sur la cl des articles, permet de les ranger en mmoire (au passage, acclre laccs sur cl) Index secondaire = un acclrateur daccs, cet index est non-discriminant
4. 5. 6. 7. 8.
Introduction Les organisations indexes ncessitent la cration d'un index tri sur lequel sont appliques les recherches dichotomiques d'une valeur de cl discriminante ou non. Le fichier tant lui-mme tri sur cl, l'index correspondant est de type primaire non dense. Cet index peut tre vu comme une table de couples (val_cl, adr_page) o val_cl est la plus petite cl des articles stocks dans la page rfrence par adr_page. Lorsque l'index est de grande taille, on le dcompose en une arborescence dont chaque nud a une taille infrieure ou gale une page. Le nud sommet de l'arborescence est appel racine de l'index. Lors de la recherche d'une valeur de cl dans l'index, un examen de la racine permet de dterminer la partie de l'arbre dans laquelle se poursuivra la recherche en renvoyant sur un nud de niveau immdiatement infrieur. L'examen de ce nud permet son tour d'affiner l'intervalle de recherche. Ce processus rcursif s'applique jusqu' rencontrer un nud ou une feuille (nud de plus bas niveau de l'arbre) contenant la valeur de cl cherche et l'adresse de la page associe. Les organisations arborescentes se diffrencient par le principe suivant lequel est gre la dynamicit de l'index hirarchique. Ce principe dtermine les performances obtenues tant au niveau du nombre d'E/S ncessaires pour parcourir l'index qu'au niveau du taux d'occupation de chaque nud de la hirarchie. Un arbre balanc est galement appel arbre-B, B-tree ou arbre quilibr. Intuitivement, il est possible de construire une arborescence dynamique de la faon suivante. Lorsqu'un index est de grande taille, il est possible d'indexer son tour le fichier contenant cet index et ce, de faon rcursive jusqu' ce que l'index de plus haut niveau (la racine) tienne sur une seule page. Compte tenu de la dynamicit de l'index, la racine elle-mme peut crotre et ne plus tenir dans une page. On rajoute alors un niveau la hirarchie d'index. La hirarchie grossit donc par la racine de telle sorte que tous les chemins de la racine aux feuilles ont mme longueur. La dfinition formelle d'un arbre-B est donne ci-dessous et est illustre sur l'exemple de la Figure 2. Un arbre-B d'ordre m est un arbre tel que
(i) chaque nud contient k cls tries, avec m k 2m sauf la racine pour laquelle k vrifie 1 k 2m. (ii) tout nud non feuille a (k+1) fils. Le ime fils a des cls comprises les (i-1)me et ime cls du pre. (iii) l'arbre est quilibr.
31 10 15 24 34 50 60 70
58
11 12 13 17 18
25 29
32 33
35 38 39
52 53
62 64
75 80
Question 1 Compte tenu de la dfinition formelle des arbre-B, quelle seront les hauteurs minimale et maximale (nombre de niveaux) d'un arbre-B d'ordre m contenant n cls ? Question 2 Quels sont les critres de choix de l'ordre d'un arbre-B si l'on utilise cette structure pour construire un index ? Question 3 Quel est l'intrt que la structure d'un index arborescent soit quilibre ? Question 4 Dans les applications relles, les cls d'accs peuvent tre de taille variable. En dduire le format de stockage du nud d'un arbre-B. Quelle est l'utilit des bornes m et 2m fixes pour le nombre k de cls par nud et comment faut-il interprter ces bornes dans de cas de cls de taille variable ? Question 5 Reprsenter l'arbre-B de la Figure 1 aprs insertion des cls 37 puis 36. Question 6 Reprsenter l'arbre-B de la Figure 1 aprs suppression des cls 17 puis 31. Question 7 De nombreuses applications excutent des traitements squentiels tris sur leurs fichiers. La structure d'arbre-B est-elle bien adapte ce type de traitements ? Combien d'E/S ncessite un parcours squentiel tri de toutes les cls de l'arbre-B prsent Figure 1 ? Proposer une optimisation de cette structure permettant de lire uniquement les feuilles de l'arbre lors d'un parcours squentiel tri. Cette organisation est connue sous le nom arbre-B+. Discuter des avantages des arbres B+ par rapport aux arbres B.