Les fichiers indexés (Les B-arbres)

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Module Systèmes d’exploitation
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : B arbres
Structures de données avancées : Principales structures de données
Structures de données avancées : MBT ( Multidimensional B-trees )
Structures de données avancées : MTH ( Multidimensional trie hashing )
Chap. 4 Recherche en Table
Arbre-B+ Hypothèse initiale : clé simple et unique Nœud = bloc.
Witold Litwin Structures physiques Witold Litwin
Chap. 1 Structures séquentielles : listes linéaires
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Cours 8 Arbres équilibrés
Structures de données linéaires
LOGO Responsable du cours Mlle Amina GHRAB : 1 ère année IAG Institut Supérieur de Gestion de Tunis.
Les structures de données arborescentes
Arbre binaire de recherche
II. Chaînage, SDD séquentielles
Arbre Rouge Noir.
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
Bases de données lexicales
Gestion de Fichiers Arbres B.
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
Sections sélectionnées du Chapitre 11
LA STRUCTURE D'ARBRE-B Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
LES ARBRES IUP 2 Génie Informatique
Arbres Rouge noir Démo : INF3105 Structures de données et algorithmes
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Structures de données IFT-10541
IFT Structures de données
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Indexes à Arbres et Indexes à Hachage
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
1 Survol du Stockage et de lIndexage Chapitre 8. 2 Objectifs Stockage persistant Organisation des fichiers Fichiers de données Fichiers dindexes Operations.
Indexes à Arbres et Indexes à Hachage
Les arbres binaires.
Les arbres et tas binomiaux
Gestion de Fichiers GF-12: Comment Gerer les Indexes qui ne tiennent pas en Memoire de Maniere Efficace?: I. Indexes Bases sur les Structures dArbres Binaires.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Index multi-niveaux dynamiques (les B-arbres et les B-arbres+)
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Semaine 11 Gestion des arbres binaires de tri et de recherche. Les arbres cousus. Les arbres n-aires Département.
Gestion de Fichiers GF-14: Acces Sequentiel et Indexe aux Fichiers et Arbres B+ Prefixes (Base sur le Chapitre 10 de Folk, Zoellick & Riccardi, File Structures,
Gestion de Fichiers GF-12: Comment Gerer les Indexes qui ne tiennent pas en Memoire de Maniere Efficace?: II. Arbres B (Base sur les Sections de.
Arbres binaires et tables de hachage
Structures de données avancées : Fichiers uni-dimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
GF-11: Tri Interne Efficace et Tri Externe
Structures de données avancées : MBT ( Multidimensional B-trees )
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
1 Survol du Stockage et de l’Indexage Chapitre 8.
Structures de données avancées : B arbres
Structures de données avancées : Variantes des B arbres
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Structures de données avancées : Range Partionning: RP*
Structures de données avancées TH ( Hachage digital ) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Principales structures de fichiers
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Principales structures de données
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Matière Sélectionnée: Triage Externe, Join à Hachage, … Chapitres 13—15: 13.1—13.5, 14.4,
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
Files de priorité (Priority Queue)
Les monceaux (Heap) Monceaux Propriétés des Monceaux
CSI2510 Structures des Données et Algorithmes
CSI25101 Maps et Dictionnaries. CSI25102 Un dictionnaire (dictionary) est un modèle abstrait de base de données. tel une file à priorité, un dictionnaire.
4/25/2017 4:30 PM Arbres (2,4) CSI2510 CSI2510.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
. Le B-Arbre.
Transcription de la présentation:

Les fichiers indexés (Les B-arbres)

Indexation Buts: Stocker de grands fichiers Implémenter efficacement l’ajout et la suppression d’éléments. Permettre la recherche par différents types de clefs. Permettre la recherche par intervalle de clefs.

Définitions(1) Fichier séquentiel: Ordonne les enregistrements de façon chronologique (le premier enregistrement inséré apparaît en premier) Recherche séquentielle Fichier indexé: Le fichier est organisé de façon à optimiser les recherches. Des pointeurs indiquent l’emplacement réel des enregistrements. Peut être organisé sous forme de liste triée, d’arbre, ou autres.

Définitions(2) Clef primaire: Un identificateur unique associé à chaque enregistrement. Clef secondaire: Une clef alternative de recherche. Plusieurs enregistrements peuvent posséder une clef secondaire commune.

Indexation linéaire Le fichier est indexé comme une simple séquence ordonnée d’éléments de la forme (K,P) où K est la clef primaire et P est un pointeur vers l’enregistrement. Index linéaire Enregistrements

Indexation linéaire (2) Si l’index est trop grand pour être contenu en mémoire, un second niveau d’index peut être utilisé. Second niveau d’index en mémoire Index sur disque

Indexation par arbre (1) L’indexation linéaire n’est pas efficace pour effectuer les opérations d’insertion et de suppression. L’indexation par arbre peut efficacement supporter toutes les opérations désirées. Insertion/suppression Recherche par clefs multiples Recherche par intervalle de clefs

Indexation par arbre (2) Afin de minimiser le nombre d’accès disque: Plusieurs noeuds appartiennent au même bloc L’arbre doit être balancé. Chaque chemin doit toucher au plus petit nombre de blocs possibles.

Arbres 2-3 (1) Un arbre 2-3 possède les propriéteés suivantes: Un noeud contient 1 ou 2 clefs Chaque noeud interne a 2 enfants (s’il contient deux clefs) ou 3 enfants (s’il contient 2 clefs). Toutes les feuilles sont au même niveau dans l’arbre (qui est donc balancé). La recherche dans un arbre 2-3 ressemble à celle dans un arbre binaire de recherche.

Arbre 2-3 (2) Contrairement à un arbre binaire de recherche, un arbre 2-3 peut être modifié de façon efficace.

Insérer 14 (1)

Insérer 55

Ajouter 19 (1)

Ajouter 19 (2)

Enlever une valeur 3 cas à considérer: feuille contenant 2 éléments nœud interne

B-arbres (1) Un B-arbre est une généralisation d’un arbre 2-3. Le B-arbre est maintenant la méthode standard d’organisation de fichiers pour les applications demandant des insertions, suppressions et recherches par intervalle de clefs.

B-arbres (2) Les B-arbres sont toujours balancés Les B-arbres conservent les clefs contenant des valeurs similaires dans un même bloc de façon à minimiser le nombre d’accès disque. Les B-arbres garantissent que tous les noeuds seront remplis à au moins un certain pourcentage de leur capacité. Cela optimise l’espace disque utilisé ainsi que le nombre d’accès disque.

Définition Un B-arbre d’ordre m possède les propriétés suivantes: La racine est soit une feuille ou possède au moins 2 enfants. Chaque noeud, excepté la racine et les feuilles, a entre m/2 et m enfants. Toutes les feuilles sont au même niveau dans l’arbre. La taille d’un noeud dans un B-arbre est choisit de façon à correspondre à la taille d’un bloc sur le disque. Un noeud peut avoir des centaines d’enfants.

Recherche dans un B-arbre Généralisation d’une recherche dans un arbre 2-3. Effectuer une recherche binaire dans l’arbre. Si la clef est trouvée, retourner l’enregistrement. Sinon, retourner une valeur indiquant que la clef n’est pas dans l’arbre.

Insertion Généralisation de l’insertion dans un arbre 2-3 Trouver la feuille qui devrait contenir l’élément. S’il y a de l’espace, insérer l’élément. Sinon, diviser la feuille en deux La clef du milieu est promue au parent

B+-arbres La forme de B-arbre habituellement implémentée. Les noeuds internes ne contiennent que les clefs afin de guider la recherche. Les feuilles contiennent les enregistrements ou les pointeurs vers les enregistrements. Une feuille peut contenir plus ou moins d’information que les noeuds internes. Les nœuds d’un même niveau sont chaînés.

Exemple

Plusieurs autres insertions On insère 50 Plusieurs autres insertions On insère 30

Enlever 18

Enlever 12

Enlever 33

Analyse (1) Les noeuds internes d’un B+-arbres sont toujours au moins à moitier pleins. Le coût de l’insertion et de la suppression d’un noeud est dans (log n). La base du log correspond au nombre moyen d’enfants des nœuds de l’arbre. Une base de données typique utilise un nombre moyen d’enfants très grand (plus de 100).