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 9.5-16 de.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Structures de données avancées : Principales structures de fichiers
Structures de données avancées : B arbres
Notions de fonction Initiation.
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Les éléments de mémorisation
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
CSI3525: Concepts des Langages de Programmation Notes # 11: Sous-Programmes ( Lire Chapitre 8 )
Cours 8 Arbres équilibrés
OCaml – Les arbres L3 MI.
Les structures de données arborescentes
Administration de SharePoint
Arbre Rouge Noir.
Gestion de Fichiers GF-15: Addressage Disperse (Hashcoding) (Base sur le Chapitre 11 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Gestion de Fichiers Arbres B.
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
Sections sélectionnées du Chapitre 11
FRACTIONS PARTIELLES cours 13.
Les fichiers indexés (Les B-arbres)
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
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.
Introduction et Motivation
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.
Gestion de Fichiers Hachage Extensible.
Gestion de Fichiers GF-1: Introduction à la Géstion des Fichiers et Opérations de Base.
Indexes à Arbres et Indexes à Hachage
3.2 PRODUIT VECTORIEL Cours 7.
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-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Semaine 12 (2 ième partie) Les B-arbres Département d’informatique et de génie logiciel Édition septembre.
Gestion de Fichiers GF-7: Compression des Donnees (Base sur la section 6.1 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented Approach with.
Entiers relatifs Définition:
Coupes efficaces pour la relaxation lagrangienne
Gestion de Fichiers GF-3: Structures d’Enregistrements, Acces Sequentiel et Direct, Manipulation de classes en C++ (Base sur des segments des Chapitres.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Paradigmes des Langages de Programmation
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-16: Addressage Disperse Extensible (Extendible Hashcoding) (Base sur le Chapitre 12 de Folk, Zoellick & Riccardi, File Structures,
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Gestion de Fichiers GF-1: Introduction a la Gestion des Fichiers et Operations de Base.
Management Définition: Le management est le processus par lequel le gestionnaire maximise l’utilisation des ressources de l’entreprise dans le but d’atteindre.
Le site-en-kit pour les locales 2. Créer des pages.
Les principes de la modélisation de systèmes
Gestion de Fichiers GF-9: Construction d’Indexes (Base sur le Chapitre 7 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented Approach with.
Mathématiques Discrètes
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Programmation linéaire en nombres entiers
Gestion de Fichiers GF-8: Organisation des Fichiers pour l’Amelioration de la Performance (Base sur la section de Folk, Zoellick & Riccardi, File.
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
2. Optimisation sans contrainte Fonctions à une seule variable
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : Variantes des B arbres
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.
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.
1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.
. Le B-Arbre.
Transcription de la présentation:

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 Folk, Zoellick & Riccardi, File Structures, An Object-Oriented Approach with C++;)

2 Resume du Cours sur les Arbres B Description Generale et Example Recherche dans un Arbre B Insertion dans un Arbre B Quelques Considerations Formelles sur les Arbres B Effacement dans les Arbres B Meilleure Utilisation du Storage  Redistribution pendant l’Insertion et division 2-3  Arbres B* Garder les pages en memoire Tampon  Arbres B Virtuels Arbres B a enregistrements et Cles a longueur variable.

3 Arbres B: Description Generale Les arbres B sont construits de bas en haut plutot que de haut en bas. De cette maniere, ils permettre de resoudre le probleme des arbres pagines: avec les arbres B, on permet a la racine d’emerger plutot que d’avoir a la choisir sans avoir vu toutes les donnees et essayer de la changer si elle n’est pas optimale. Les arbres B sont aussi des indexes a niveaux multiples, mais ils resolvent le probleme de l’insertion et l’effacement a cout lineaire. Les arbres B sont, maintenant, la maniere standard de representer les indexes.

4 Example d’un Arbre B PW DMP TW A BCD G IM NP U W RST Note: les references a l’enregistrement n’apparaissent que dans les feuilles de l’arbre. Les noeuds internes ne sont que des indexes de niveau superieur (ce qui explique les repetitions dans l’arbre).

5 Comment les Arbres B Fonctionnent-ils: Idees Principales Chacun des noeuds d’un arbre B est un enregistrement d’indexe. Chacun de ces enregistrements a le meme nombre maximum de paires de cle/reference. Ce nombre s’appelle l’ordre de l’arbre B. Ces enregistrements ont aussi un nombre minimum de paires de cle/reference qui est, typiquement, la moitie de l’ordre. Lorsque l’on ajoute une nouvelle cle dans un noeud qui n’est pas plein, on doit simplement mettre ce noeud a jour et, peut-etre, mettre a jour les noeuds superieurs recursivement. Si, par contre, on ajoute une nouvelle cle dans un noeud deja plein, ce noeud est divise en deux nouveaux noeuds, chacun contenant la moitie des cles du noeud originel. La cle a la valeur la plus eleve dans le noeud originel est promue au noeud superieur. Ceci peut provoquer une nouvelle division.

6 Recherche dans un Arbre B P W D M P TW ABCD GIM NP U W RST Probleme 1: Chercher la cle L Probleme 2: Chercher la cle S

7 Insertion dans un Arbre B Faire une recherche jusqu’au bas de l’arbre afin de trouver la location ou la cle doit etre inserree. Ajouter la cle, detecter s’il y a debordement d’un noeud deja plein, diviser le noeud present et tous les noeuds sur le cheminement recursif vers le haut, si necessaire. Creer une nouvelle racine si la racine presente a du etre divisee.

8 Insertion dans un arbre B: Pas de Division et Division Contenue CD TS Apres l’Insertion de C, S, D, T: Insertion du A D T ACDS T

9 Insertion dans un Arbre B: Division Recursive P W D M P T W ABCD GIM NPUW RST D M P W A B C DG I MN PS T U W Insertion du R

10 Definitions Formelles des Proprietes d’un Arbre B Dans un Arbre B d’ordre m, Chaque page a un maximum de m descendants. Chaque page, a part la racine et les feuilles, a au moins m/2 descendants. La racine a au moins deux descendants (a moins que ce ne soit une feuille). Toutes les feuilles apparaissent au meme niveau. Le niveau des feuilles forme un indexe ordonne et complet du fichier de donnees associe.

11 Profondeur de la Recherche au Pire des Cas I Etant donne 1,000,000 de cles et un arbre B d’ordre 512, quel est le maximum nombre d’acces au disque necessaire pour localiser une cle dans l’arbre? En d’autres termes quelle profondeur aura l’arbre? Chaque cle apparait dans une feuille  Quelle est la hauteur maximale d’un arbre de 1,000,000 de feuilles? La hauteur maximale sera atteinte si toutes les pages (ou noeuds) de l’arbre a le nombre minimum de descendant permis. Pour un arbre B d’ordre m, le nombre minimum de descendants de la page racine est de 2. Il est de  m/2  pour toutes les autres pages.

12 Profondeur de la Recherche au Pire des Cas II Pour chaque niveau d d’un arbre B, le nombre minimum de descendants partant de ce niveau est 2  m/2  d-1  Pour un arbre de N cles dans ses feuilles, nous avons N  2  m/2  d-1  d  1 + log  m/2  (N/2)  Pour m = 512 et N = 1,000,000, nous obtenons donc: d  3.37

13 Effacement d’un Arbre B: Regles pour l’Effacement d’une cle k d’un noeud n I Si n a plus du nombre minimum de cles dans un noeud et k n’est pas la cle a la valeur la plus elevee dans n, il suffit d’effacer k de n. Si n a plus que le minimum nombre de cles et k est la cle a la valeur la plus elevee dans n, il faut effacer k et modifier les indexes de plus haut niveau afin de refletter le fait que n a une nouvelle cle a la valeur la plus elevee.

14 Effacement d’un Arbre B: Regles pour l’Effacement d’une cle k d’un noeud n II Si n a exactement le nombre minimum de cles et l’un des noeuds fraternels, f, de n a peu de cles, fusionner n avec f et effacer une cle du noeud parent. Si n a exactement le nombre minimum de cles et l’un des noeuds fraternels, f, de n a des cles de plus, redistribuer en mettant certaines des cles de f en n, et modifier les noeuds de niveaux superieurs afin de refletter cette re-distribution.

15 Effacement d’un Arbre B: Example I P Z D G IM PT X Z A B C D J K L M Q R S T Y Z E F GH IN O P U V W X  Probleme 1: Effacer C  Probleme 2: Effacer P  Probleme 3: Effacer H

16 Redistribution pendant L’Insertion La redistribution pendant l’insertion est un moyen d’eviter—ou, tout du moins, reporter—la creation de pages nouvelles. La redistribution nous permet de mettre certaines des cles debordant d’une page dans une autre page (moins pleine), plutot que de diviser un page debordante. Les arbres B* formalisent cette idee (voir diapo suivante)

17 Arbres B*: Proprietes Les proprietes d’un arbre B* sont les suivantes: Chaque page a un maximum de m descendants. Chaque page, a part la racine, a au moins  (2m-1)/3  descendants. La racine a au moins deux descendants (a moins que ce ne soit une feuille). La difference principale entre un arbre B et un arbre B* est donc la deuxieme regle.

18 Arbres B Virtuels Le fait qu’un arbre B a trois niveaux ne veut pas necessairement dire qu’il faut faire trois acces au disque afin de recuperer une cle  On peut faire mieux que cela en gardant certaines parties de l’arbre B en memoire. On peut creer une memoire tampon pour pages (noeuds) de l’arbre B qui peut garder plusieures pages en memoire (5, 10 ou, peut-etre, encore plus). Si la page desiree n’est pas en memoire, on va la chercher sur storage secondaire et l’amene en memoire, remplacant par ce faire une autre page. On peut utiliser une strategie de remplacement telleque LRU ou une strategie basee sur la hauteur de la page.

19 Arbres B et Enregistrements et Cles a Longueur Variable Les arbres B peuvent etre etendus de maniere a permettre a la longueur des cles et des enrgistrements de varier. Dans ce case, un arbre B doit etre modifie et n’a plus d’ordre m clairement defini comme avant. Il faut donc de nouvelles conventions pour cet arbre plus flexible. Ceci demontre que la structure de l’arbre B discute dans cette section n’a pas besoin d’etre aussi rigide que notre presentation l’a suggere. Notre discussion etait seulement un point de depart.