Structures de donnes avances Principales structures de fichiers

  • Slides: 20
Download presentation
Structures de données avancées : Principales structures de fichiers D. E ZEGOUR Institut National

Structures de données avancées : Principales structures de fichiers D. E ZEGOUR Institut National d ’Informatique

Les principales structures de fichiers Structures simples de fichiers. Tableau de blocs. Liste linéaire

Les principales structures de fichiers Structures simples de fichiers. Tableau de blocs. Liste linéaire chaînée de blocs ¨ Remarques q L'organisation du fichier est quelconque (format fixe ou variable) q Si fichier ordonné : chargement initial à 60 -70%. ==> économiser les décalages intra-blocs. q limitées à des petits fichiers. ( < 6 accès disque)

Les principales structures de fichiers Structures simples de fichiers Vue macroscopique Tableau Liste Ordre

Les principales structures de fichiers Structures simples de fichiers Vue macroscopique Tableau Liste Ordre Sans Ordre Vue microscopique Fixe Variable Chevauchement Sans Chevauchement Structures de fichiers : TOF, L^OVC, T^OV^C, …. .

Les principales structures de fichiers Les méthodes d'index ¨ Utilise un index(recherche dichotomique en

Les principales structures de fichiers Les méthodes d'index ¨ Utilise un index(recherche dichotomique en mémoire). ¨ 2 fichiers sont utilisés : fichier d'index et fichier au données. ¨ En règle générale, le fichier de données n'est pas trié. ¨ Il peut être un tableau ou une liste linéaire chaînée de blocs sur le disque. ¨ Le fichier d'index est supposé en mémoire et est trié selon les clés des articles.

Les principales structures de fichiers Les méthodes d'index ¨ Index à un niveau q

Les principales structures de fichiers Les méthodes d'index ¨ Index à un niveau q Table de couples(clé, adresse) en mémoire centrale. q Recherche : a) Recherche dichotomique sur l'index. b) Si clé trouvée, ramener le bloc en mémoire centrale c) Si article à cheval sur deux blocs, ramener le deuxième bloc q Insertion a) Si clé non trouvée dans l'index, il y a insertion avec décalages. b) l'article est inséré en fin de fichier.

Les principales structures de fichiers Les méthodes d'index ¨ Index à un niveau q

Les principales structures de fichiers Les méthodes d'index ¨ Index à un niveau q Suppression Généralement logique ==> extrêmement rapide. q Réorganisation Éliminer physiquement les articles supprimés. Généralement, on construit un autre fichier.

Les principales structures de fichiers ¨ Index à un niveau

Les principales structures de fichiers ¨ Index à un niveau

Les principales structures de fichiers Les méthodes d'index ¨ Index à 2 niveaux q

Les principales structures de fichiers Les méthodes d'index ¨ Index à 2 niveaux q Principe . Accélérer la recherche en mémoire centrale. Deux tables ( niveaux 1 et 2). Dans l'index du niveau 1, on range certaines clés : 100 -ième, 200 ième, . . Dans le niveau 2, on range toutes les clés. q Recherche : . Niveau 1 donne un intervalle de l'index du niveau 2. . Recherche dichotomique sur l'intervalle sélectionné.

Les principales structures de fichiers Les méthodes d'index ¨ Remarque : deux recherches dichotomiques

Les principales structures de fichiers Les méthodes d'index ¨ Remarque : deux recherches dichotomiques sur petits vecteurs sont beaucoup plus rapides qu'une seule recherche dichotomique sur un seul grand vecteur. ¨ Autres Opérations: analogues à celles définies sur l'index à un niveau

Les principales structures de fichiers Index à deux niveaux

Les principales structures de fichiers Index à deux niveaux

Les principales structures de fichiers Accès séquentiel indexé ¨ Définition a) pour localiser un

Les principales structures de fichiers Accès séquentiel indexé ¨ Définition a) pour localiser un article on utilise un index. b) pour avoir le suivant, on ne repasse pas par l'index.

Les principales structures de fichiers Les méthodes d'index ¨ Limitation Si l'index est large

Les principales structures de fichiers Les méthodes d'index ¨ Limitation Si l'index est large pour être contenu en mémoire (i) recherche binaire chère et (ii) réarrangement coûteux à cause des décalages) on a recours à d'autres techniques : q Hachage : extrêmement rapide (entre 1 et 2 accès disque) efficaces que pour les fichiers statiques et non ordonnés. q Arbres : rapides (3 accès disque ) ordonnés Certaines sont très adaptées pour les fichiers dynamiques.

Les principales structures de fichiers Accès multicritères q Concepts Un article = (cle 1,

Les principales structures de fichiers Accès multicritères q Concepts Un article = (cle 1, cle 2. . . cléd) Une clé primaire et d-1 clés secondaires Récupérer l'article par plusieurs clés Exemples de requêtes : Livres parus en 1973, Livres parus en 1973 de l'auteur X donné. q Solution Créer des indexes secondaires pour chaque attribut Passer toujours par l'index primaire.

Les principales structures de fichiers Accès multicritères ¨ Organisation d'un index secondaire "listes inversées".

Les principales structures de fichiers Accès multicritères ¨ Organisation d'un index secondaire "listes inversées". ( clé secondaire ==> clé primaire ==> article )

Les principales structures de fichiers Accès multicritères ¨ Algorithme qui Récupère les articles possédant

Les principales structures de fichiers Accès multicritères ¨ Algorithme qui Récupère les articles possédant l'attribut X l'attribut Y. q Il existe donc des indexes sur X et Y q L' index sur X donne l'ensemble des clés primaires avec l'attribut X. q L'index sur Y donne l'ensemble des clés primaires avec l'attribut Y. q L'intersection donne l'ensemble des clés primaires ayant l'attribut X et Y. q Pour chaque élément de cet ensemble, on fait alors un accès disque.

Les principales structures de fichiers Accès multicritères ¨ Suppression : ===> Ne pas toucher

Les principales structures de fichiers Accès multicritères ¨ Suppression : ===> Ne pas toucher aux indexes secondaires (CAR les clés secondaires référencent les clés primaires) ¨ Recherche : C'est dans l'index primaire qu'on s'aperçoit que l'article à été supprimé.

Les principales structures de fichiers Les méthodes d'arbres ¨ Si le fichier est très

Les principales structures de fichiers Les méthodes d'arbres ¨ Si le fichier est très volumineux, on ne peut garder l'index en RAM. ¨ Garder l'index en mémoire secondaire coûte chère car : 1) la recherche dichotomique exige beaucoup d'accès disque 2) il faut maintenir l'index ordonné Trouver une meilleure façon de faire les insertions et les suppressions d'articles avec seulement une réorganisation locale.

Les principales structures de fichiers Les méthodes d'arbres ¨ Utilisation d'un arm comme méthode

Les principales structures de fichiers Les méthodes d'arbres ¨ Utilisation d'un arm comme méthode d'accès q L'arbre de recherche m-aire est surtout utilisé pour le stockage en mémoire externe q Un nœud de l'arbre est alors un bloc sur le disque. q A un moment donné seule une page est ramenée en mémoire. q Nécessite des buffers de taille très grande( ordre de 200).

Les principales structures de fichiers Les méthodes d'arbres ¨ Implémentation q Utilisation des fils

Les principales structures de fichiers Les méthodes d'arbres ¨ Implémentation q Utilisation des fils explicites q Deux façons de ranger les articles : (i) dans les nœuds avec les clés, (fichier = arm) (ii) séparément. pointeur additionnel vers l'information. (fichier = index vers un fichiers de données ) q Si le fichier est grand on préfère de loin utiliser (ii) même si on fait une lecture supplémentaire pour retrouver l'article.

Les principales structures de fichiers Les méthodes d'arbres ¨ Le problème de taille ne

Les principales structures de fichiers Les méthodes d'arbres ¨ Le problème de taille ne se pose plus ¨ Inconvénient : déséquilibre de l’arm Pas de solution Réorganisation périodique ¨ Destinés pour les fichiers statiques