Bases de données avancées Indexation

Documents pareils
Structure fonctionnelle d un SGBD

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Programmation parallèle et distribuée

Programmation parallèle et distribuée

Bases de données et sites WEB

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Limitations of the Playstation 3 for High Performance Cluster Computing

La présente publication est protégée par les droits d auteur. Tous droits réservés.

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

1. Aménagements technologiques 2. Installation de Microsoft SQL Server 2012

Évaluation et optimisation de requêtes

ARBRES BINAIRES DE RECHERCHE

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Image d un intervalle par une fonction continue

1.1 L EXPLORATEUR WINDOWS

Les arbres binaires de recherche

Rappels sur les fichiers

ZOTERO Un outil gratuit de gestion de bibliographies

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

Administration de Bases de Données : Optimisation

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Codage d information. Codage d information : -Définition-

TP Contraintes - Triggers

26 Centre de Sécurité et de

Windows 7, Configuration

Licence Sciences et Technologies Examen janvier 2010

4D v11 SQL Release 5 (11.5) ADDENDUM

Administration de Parc Informatique TP07 : Installation de Linux Debian

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Ecran principal à l ouverture du logiciel

Représentation des Nombres

Progressons vers l internet de demain

Arbres binaires de recherche

Cours Bases de données 2ème année IUT

Manuel d'installation de GESLAB Client Lourd

6605 MFP 3615 MFP. Sommaire : Paramètres généraux. Réglages de l Horloge et des Bacs. Paramètre Copie (par défaut) Paramètres Réseaux (IP)

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Baladeur Santé VITAL'ACT

UTILISATION DE LA BORNE PAR LE CLIENT

Traitement numérique de l'image. Raphaël Isdant

Un duo de choc : DocuWare et Microsoft Outlook

Installation poste de travail. Version /02/2011

MICROSOFT ONEDRIVE INSTALLATION ET FONCTIONNALITÉS. Proposé par PCProfi Informatique SA

Sécuristation du Cloud

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet.

Calculs conditionnels Calculs conditionnels imbriqués Somme conditionnelle Nombre conditionnel Fonctions Recherche...

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Cloud computing et sécurité

La mémoire. Un ordinateur. L'octet. Le bit

Direction des Systèmes d'information

Continuité et dérivabilité d une fonction

Les bases de données

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Aide à l installation et à la migration en HelloDoc 5.60

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Le Langage De Description De Données(LDD)

GUIDE D UTILISATION DE LA PLATEFORME DE L UNIVERSITE DE BOURGOGNE POUR L ENSEIGNEMENT EN LIGNE ( PLUBEL )

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

LOGICIEL ALARM MONITORING

1. Aménagements technologiques 2. Installation de Microsoft SQL Server Microsoft SQL Server 2008 Service Pack 3

Short Message Service Principes et Architecture

Algorithmique, Structures de données et langage C

Chapitre 13 Numérisation de l information

Bases de données documentaires et distribuées Cours NFE04

Logiciel interne (firmware) du DiMAGE X1 Ver.1.10

La gestion des disques

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

MANUEL UTILISATEUR BALADEUR SANTÉ AUXILIAIRES MÉDICAUX ET SAGES-FEMMES C.D.C 1.40

TD : Codage des images

Administration des bases de données relationnelles Part I

Evry - M2 MIAGE Entrepôts de Données

SharePoint 2013 L'environnement de travail collaboratif

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Découverte de l ordinateur. Partie matérielle

Le Fax par Mail : Mode d emploi

Découvrir l'ordinateur (niveau 2)

Guide d installation du logiciel Proteus V.8 Sous Windows Vista, 7, 8

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

SYSTÈME DE GESTION DE FICHIERS

INTRODUCTION AU DATA MINING

Compression de Données - Algorithme de Huffman Document de Conception

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Le langage SQL Rappels

Les systèmes de gestion de version

Chapitre 7. Récurrences

données en connaissance et en actions?

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Les ressources numériques de la bibliothèque sont regroupées dans un portail web ; elles offrent des services complets et facilement accessibles.

Transcription:

Un exemple pour ce chapitre Bases de données avancées Indexation Sarah Cohen-Boulakia Laboratoire de Recherche en Informatique Université Paris Sud http://www.lri.fr/~cohen/bd/bd.html Schéma : EMP(, Age, Salaire) Instance : éléments quantitatifs sur le stockage 1 000 000 (un million) d employées Un enregistrement : 120 octets Un bloc = 4K (34 enregistrements) Fichier de données (table) = 30 000 blocs = 120 Mo Modèle de coût B = nb pages de données R = nb enregistrements par page D : tps moyen de transfert 1 2 Les opérations de recherche Recherche par clé attention : pas nécessairement la clé primaire de la relation = Dupont Recherche par préfixe like Dupont% Recherche par intervalles Age > 18 and Age < 65 Autre opérations insertion, suppression (sur critères) 3 Rappel B : nb pages; D : temps transfert Coût pour un fichier Parcours : BD Recherche non trié Cout des opérations versus trié sur l attribut versus D log 2 B (dichotomie) (=) : BD versus D log 2 B ([ ]) : BD versus D log 2 B Insertion (en fin) : 2D (vs recherche + décalage) Suppression : (B+1) D (vs recherche + compactage) 4

Les index : types et propriétés 5 Index Clé de recherche (1 att ou une liste triée d att) AGE Attention : clé de recherche clé d une relation Index = fichier Enregistrement d un index = entrée de l index Recherche = accès index puis accès direct aux données La recherche d une clé dans l index doit être rapide et elle sera suivie d un accès direct à l enregistrement Un index accélère l accès au fichier de données Attention : coût de l index Temps de création et maintenance coût en temps et en espace 6 Types d index Entrée d index (notée ) Contient toujours une valeur k de la clé de recherche 3 types d index Type 1 : =enregistrement Type 2 : =(k, rid) //record id Type 3 : =(k, liste de rid) Organisation des entrées Triées sur la clé de recherche Dans une table de hachage, dans un arbre de recherche 7 Adresses physiques sur le DDur @1 Sylvie 23 45000 @2 David 45 78000 @3 Paul 57 67090 @4 Julie 19 24000 @5 Seb 21 67000 @6 Paul 23 76900 Exemple : Type 2 19 @4 21 @5 23 @1 23 @6 45 @2 57 @3 rid Fichier d index 8

Exemple : Type 3 Exemple : Type 1 Adresses physiques sur le DDur L index contient toute l info (triée sur la clé d index) @1 Sylvie 23 45000 @2 David 45 78000 @3 Paul 57 67090 @4 Julie 19 24000 @5 Seb 21 67000 @6 Paul 23 76900 19 @4 21 @5 23 @1, @6 45 @2 57 @3 Fichier d index 9 @1 Sylvie 23 45000 @2 David 45 78000 @3 Paul 57 67090 @4 Julie 19 24000 @5 Seb 21 67000 @6 Paul 23 76900 Pas de copie : on remplace 19 Julie 19 24000 21 Seb 21 67090 23 Sylvie 23 45000 23 Paul 23 76900 45 David 45 78000 57 Paul 57 67090 10 Index groupant Exemple : Index groupant sur Age (type 2 ici) Lorsque l index et le fichier de données sont organisés de façon identique relativement à une clé Un seul index groupant par fichier Impact sur la recherche par clé et par intervalle Quel type d index est toujours groupant? Attention : index groupant est très couteux à maintenir! 11 @1 Julie 19 24000 @2 Seb 21 67000 @3 Sylvie 23 45000 @4 Paul 23 76900 @5 David 45 78000 @6 Paul 57 67090 Groupant : Les données ont été triées sur le disque 19 @1 21 @2 23 @3 23 @4 45 @5 57 @6 rid Fichier d index 12

Index dense et non dense Exple : dense (Age), non dense () Index dense : pour chaque n-uplet du fichier de données il existe une entrée d index Lorsque le fichier d index lui-même est trop gros on peut l indexer à son tour (index multi-niveaux) Index non dense index groupant index dense index non dense En chiffres Dans notre exemple Index non dense () : 200 pages Index dense (Age) : 2 942 pages 13 Sylvie Valerie Sylvie 23 45000 Tova 45 78000 Uri 57 67090 Valerie 19 24000 Volga 21 67000 Zoe 23 76900 Clé d index k : (Non dense) Une valeur par page est dans l index 19 21 23 23 45 57 (dense) Autant de valeurs dans l index que dans la base 14 Structures pour un index Structures pour un index Un fichier trié Index bitmap Considère toutes les valeurs possibles de l attribut indexé Table de n (nb de valeurs possibles) * l (nb de lignes) bits Très utile si les valeurs de l attribut sont «catégorisées» Une table de hachage Avantage : recherche (=) Typiquement utilisée pour les index uniques (clé primaire) Un arbre B Avantage : range (inégalités) Arbre parfaitement équilibré (balanced) Ordre d : nombre max d éléments d un nœud Ordre de l arbre lié à la taille de la page bre de niveaux (empirique) : 3 à 4 15 16

Généralités sur les arbres B Arbre B d ordre d Chaque nœud contient k clés triées avec d <= k <= 2d pour les nœuds non racines 1 <= k <= 2d pour la racine Chaque chemin de la racine à une feuille a la même hauteur Un nœud est terminal (feuille) Ou bien il a k+1 fils et les clés du i ème fils ont des valeurs comprises entre les valeurs des i-1 ème et i ème clés du père 17 Index arbre B+ (recherche sur k) Données (entrées d index : ) Illustration 18 Exemple Niveau non feuille pour la recherche racine de valeurs de (k) < 17 17 Niveau feuille () C est au niveau feuille que l on accède aux données (elles-mêmes ou à un pointeur vers les données selon le type d index 1, 2 ou 3) 19 Principe d insertion (arbre B) 1/2 Insertion dans une feuille Recherche de la feuille d insertion Si la feuille n est pas pleine alors l insérer à sa place Sinon (la feuille a déjà 2d clés) Laisser les d+1 plus petites valeurs dans le nœud Créer un nouveau nœud et y placer les d plus grandes valeurs Remonter la plus petite clé du nouveau nœud dans le nœud père Relancer récursivement 20

Principe d insertion (arbre B) 2/2 Insertion au niveau non feuille Analogue au cas feuille mais les d plus petites valeurs restent dans le nœud courant les d plus grandes dans le nouveau nœud et la valeur médiane remonte au niveau du père 21 Principe de suppression (1/2) Suppression dans une feuille Si nb clés restantes [d,2d] Supprimer et tasser Si nb clés restantes < d cas 1 : Si 1 voisin a strictement plus de d clés alors Prendre une clé à voisin Mettre à jour les clés du père On remplace la valeur du père de tout nœud qui a une nouvelle valeur de gauche cas 2 : Si voisin a un nb <= d clés prendre toutes ses valeurs et supprimer voisin supprimer la clé du père inutilisée remplir tjsle nœud le plus à gauche [si on fusionne avec le voisin de gauche : la fusion se fait dans le voisin sinon dans le nœud courant] 22 Principe de suppression (2/2) Suppression dans un nœud non feuille Si nb clés restantes [d,2d] Supprimer et tasser Si nb clés restantes < d Redistribuer les données uniformément en passant par le nœud père Bulk loading : Création d un arbre B Principe d insertion à partir des feuilles Extraire et trier les clés à insérer dans l arbre Coût majoré par N/P + (N*3*h) N : nb pages du fichier de données P : nb max de données par page H : hauteur de l arbre 23 24

Et les doublons? Lorsqu une même valeur de clé d index est présente plusieurs fois, on crée des pages de débordement Stocker les pointeurs vers tous les enregistrements des personnes qui ont 18 ans Deux stratégies possibles (dans un arbre) Débordement par valeur de clé A chaque nouvelle valeur déjà dans l arbre, on crée une feuille de débordement dédiée à cette valeur Une feuille pour les personnes de 18 ans, une pour 19, une pour 20 Débordement par feuille Toutes les valeurs qui apparaissent au moins deux fois sont insérés ensemble dans des feuilles 25