Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9.

Slides:



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

Module Systèmes d’exploitation
Structures de données avancées : Introduction
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Gestion de FICHIERS.
Systèmes d’Exploitation
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Parallel Programming in C with MPI and OpenMP
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Stockage des Données: Disques et Fichiers
Structures de données linéaires
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Section XI Traitement de fichiers
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9.
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Atomicité Transactions Atomiques Recouvrement à Base de Journal
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
II. Chaînage, SDD séquentielles
Gestion de Fichiers Arbres B.
Sections sélectionnées du Chapitre 11
Allocation de mémoire Allocation de mémoire.
Les fichiers indexés (Les B-arbres)
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Hiérarchie de la mémoire
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Contrôle de lAccès Simultané Chapitre 17.
Stockage Secondaire: Disques
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.
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.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Évaluation des Requêtes: Survol Chapitre 12.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Survol du Stockage et de lIndexage Chapitre 8.
1 Survol du Stockage et de lIndexage Chapitres 9-12.
Indexes à Arbres et Indexes à Hachage
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Survol du Stockage et de lIndexage Chapitre 8.
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
Organisation des Fichiers pour la Performance
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.
Gestion de Fichiers GF-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
Faculté des sciences économique et gestion de Nabeul
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Gestion de Fichiers Hachage (suite et fin). 2 Plan du cours d’aujourd’hui Utilisation des “buckets” Effacements dans des fichiers hachés Autres méthodes.
GF-11: Tri Interne Efficace et Tri Externe
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Structure de stockage et relations
Cours LCS N°4 Présenté par Mr: LALLALI
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Les fichiers 1ère partie
GF-4: Storage Secondaire: Disques
1 Survol du Stockage et de l’Indexage Chapitre 8.
Les bases du protocole Modbus
Système de gestion fichiers
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 : Introduction D. E ZEGOUR Institut National d ’Informatique.
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,
Architecture et technologie des ordinateurs II
Module 3 : Gestion des fichiers de base de données
CPI/BTS 1 Algorithmique & Programmation Les Fichiers Algo – Prog CPI/BTS1 – M. Dravet – 21/04/2004 Dernière modification: 21/04/2004.
INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d’informatique, U.de Moncton Bureau D216,
Analyse, élaboration et exploitation d’une Base de Données
Memoire.
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.
Transcription de la présentation:

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke2 Objectifs Hiérarchie de stockage Caractéristiques des disques et bandes RAID Gestion de lespace disque Gestion des mémoires tampon Gestion des fichiers

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke3 Disques et Fichiers Un SGBD stocke les informations sur des disques durs. Ceci a des implications majeures pour le design du SGBD! READ: transfert des données du disque vers la mémoire primaire (RAM). WRITE: transfert des données du RAM vers le disque. Les deux sont des opérations à coût élevé par rapport aux opérations en mémoire, raison pour laquelle elles doivent être soigneusement planifiées!

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke4 Pourquoi Ne Pas Tout Stocker en Mémoire Primaire? Coûts trop élevés. A titre dexemple, avec $80, on peut acheter soit 256MB de RAM ou 40GB de disque. Caractère volatile de la mémoire principale. Nous voulons sauver les données entre des exécutions du système! Hiérarchie de stockage typique: Mémoire primaire (RAM) pour les données en usage. Disque pour la base de données principale (stockage secondaire). Bandes magnétiques pour archivage de vieilles versions des données (stockage tertiaire).

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke5 Disques Appareil de stockage secondaire le plus utilisé. Avantage principale sur les bandes magnétiques: accès aléatoire vs. séquentielle. Données stockées et puisées en unités appelées blocs de disque ou pages. Contrairement au RAM, le temps de puiser une page de disque varie selon son emplacement sur disque. Doù lemplacement relatif des pages sur disque a un impact majeur sur le performance des SGBDs!

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke6 Composantes dun Disque Plateaux Les plateaux tournent (90tps). Axe Le bras est déplacé (par un contrôleur ) pour positionner une tête de lecture/écriture sur la piste désirée. Les pistes sous les têtes de lecture forment un cylindre. Tête Mouvement du bras Assemblage du bras Une seule tête de lecture lit/écrit à la fois. Pistes Secteur La taille de bloc est un multiple de la taille du secteur (qui est fixe).

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke7 Accès à une Page de Disque Le temps daccès à un bloc de disque est fait de: seek time (déplacement du bras pour positionner la tête de lecture/écriture sur une piste) rotational delay (temps dattente pour que le bloc tourne sous la tête de lecture/écriture) transfer time (temps de transfert des données vers/de la surface du disque) Le temps de recherche (seek time) et le délai de rotation (rotational delay) dominent. Le temps de recherche varie denviron 1 à 20msec Le délai de rotation varie de 0 à 10msec Le taux de transfert est denviron 1msec par page de 4KB Elément crucial des coûts I/O: réduire les délais de recherche et de rotation! Solutions hardware vs. software?

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke8 Arrangements des Pages sur Disque Concept de bloc `suivant ( Next ): blocs sur la même piste, suivi des blocs sur le même cylindre, suivi des blocs sur le cylindre adjacent Les blocs dans un fichier devraient être arrangés séquentiellement sur disque (suivant le concept de `suivant) afin de minimaliser le délai de recherche et de rotation. Pour un scannage séquentiel, une prélecture de plusieurs pages à la fois est un grand gain!

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke9 RAID (Redundant Arrays of Independent Disks) Banc de disques: Arrangement de plusieurs disques donnant lillusion dun seul large disque. Buts: Augmenter la performance et la fiabilité du stockage secondaire. Deux techniques principales: Répartition des données (Data striping): les données sont divisées en partitions réparties sur plusieurs disques. Redondance: Utilisation de plus de disques => plus de failles. Linformation redondante permet de reconstruire les données en cas de faillite dun disque. La répartition des données augmente la performance et la redondance améliore la fiabilité.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke10 RAID: Répartition des Données vs. Redondance Répartition des données: les données sont divisées en partitions; la taille dune partition est appelée unité de partition. Les partitions sont réparties sur plusieurs disques: Sil y a D disques, une partition i est stockée sur le disque i mod D (algorithme round-robin). Redondance: Utilisation de plus de disques => plus de failles. Linformation redondante permet de reconstruire les données en cas de faillite dun disque: Utiliser tous les disques (« striping ») vs. Nutiliser que des check disks pour linfo redondante. Linfo redondante est calculée en utilisant un schème de parité. La parité est utilisée pour reconstruire la valeur des bits des disques corrompus. Plusieurs méthodes dorganisation appelées niveaux de RAID existent dans lindustrie: elles balancent répartition et redondance.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke11 Niveaux de RAID Niveau 0: Striping; aucune redondance Niveau 1: Miroitement (deux copies identiques) Chaque disque a une image miroir. Lectures parallèles; utilisation de deux disques pour lécriture. Taux de transfert maximum = taux de transfert dun disque. Niveau 0+1: Striping et miroitement Lectures parallèles; implication de deux disques pour lécriture. Le taux de transfert maximum bénéficie de la somme des bandes passantes (bandwidth) de tous les disques impliqués.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke12 Niveaux de RAID (Suite) Niveau 2: Code de correction derreurs Unité de partition: un bit. Utilisation de la parité (Hamming code) qui est stocké sur des disques de surveillance (check disk). Le # de check disks croit logarithmiquement par rapport à celui des disques de données. Lecture parallèle possible pour de petites requêtes; les larges requêtes peuvent utiliser toute la bande passante des disque impliqués. Les écritures impliquent le bloc modifié ainsi que le check disk. Niveau 3: Bit-Interleaved Parity Unité de partition: un bit. Un seul check disk stockant tout juste la parité (sans tout le Hamming code !) est utilisé. Les performances sont similaires à celles du niveau 2.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke13 Niveaux de RAID (Suite) Niveau 4: Block-Interleaved Parity Unité de partition: un bloc de disque. Un seul check disk. Ressemble au niveau 3, sauf que lunité de partition change du bit au bloc. Lecture parallèle possible pour de petites requêtes; les larges requêtes peuvent utiliser toute la bande passante de tous les disques à la fois. Les écritures impliquent les blocs modifiés ainsi que le check disk. Niveau 5: Block-Interleaved Distributed Parity Similaire au niveau 4 sauf que les blocs de parités sont distribués sur tous les disques (au lieu de les stocker sur un seul check disk).

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke14 Gestion de lEspace Disque La couche la plus basse du SGBD gère lespace sur disque. Les couches plus élevées font appel à cette couche la plus basse afin de: Affecter/désaffecter de lespace mémoire Lire/écrire sur une page La requête pour une séquence de pages doit être satisfaite par lallocation de pages de manière séquentielle sur le disque! La gestion des espaces libres est transparente aux couches supérieures du SGBD.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke15 Gestion des Mémoires Tampon Les données doivent être ramenées dans le RAM afin que le SGBD opère sur elles! Le système maintient une table de paires. DB MEMOIRE PRINCIPALE DISQUE Page de disque Cadre libre Requête de page dun niveau plus élevé BUFFER POOL Le choix dun cadre à remplacer lorsque la réserve est pleine est régi par une police de remplacement

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke16 Procédure en Cas de Requête pour une Page Le manager maintient 2 variables: pin_count : # dutilisateurs courants (ne remplacer une page que si cette variable = 0). dirty : page modifiée? Si la page requise est dans la réserve, incrémenter le pin_count. Sinon: Choisir un cadre pour remplacement Si le cadre est sale (dirty), lécrire sur disque Lire la page requise dans le cadre choisi Incrémenter le pin_count de la page et retourner son adresse. * Si les requêtes peuvent être prédîtes (p.ex. dans le scannage séquentiel), plusieurs pages peuvent être prélues à la fois!

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke17 Police de Remplacement des Cadres Un cadre est choisi pour remplacement en fonction dune police de remplacement: LRU (Least-recently-used), Clock, MRU, FIFO, LIFO, etc. Ces polices peuvent avoir un grand impact sur le # de I/Os; elles dépendent du patron daccès. Inondation séquentielle : Situation désastreuse causée par le LRU + scannages séquentiels à répétition. # cadres < # pages dans le fichier: chaque page requise cause un I/O. Le MRU se comporte mieux dans ce cas.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke18 SGBD vs. Système de Fichiers dun SE Puisque le SE gère lespace mémoire et le disque, pourquoi ne pas laisser ces tâches au SE? Les raisons suivantes militent en faveur du non: Différences sur le support SE: problèmes de portabilité Limitations inhérentes des SEs; p.ex. les fichiers ne peuvent sétendre sur plusieurs disques La gestion de mémoire en SGBDs requiert la capacité de: pinning des pages en réserve; forcer une page vers le disque (important pour limplémentation de CC & recouvrement), Ajustage des polices de remplacement, et prélecture des pages en fonction des patrons daccès aux données.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke19 Formats dEnregistrements: Longueur Fixe Linfo sur les champs des enregistrements est la même pour tout le fichier et est stockée dans les catalogues du système. Trouver le i- ème champ requiert un scannage de tout lenregistrement. Adresse de base (B) L1L2L3L4 F1F2F3F4 Adresse = B+L1+L2

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke20 Formats dEnregistrements: Longueur Variable Deux alternatives au moins existent (# champs fixe): * Le second format offre un accès direct aux champs ainsi quun stockage efficient. Il implémente bien les nulls (valeurs inconnues). 4$$$$ Compteur du # champs Champs délimités par des symboles spéciaux F1 F2 F3 F4 Liste de déplacements (offsets) des champs

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke21 Format des Pages: Enreg.s à Longueur Fixe * Record id =. Dans la première alternative, mouvoir les enreg.s pour la gestion des espaces vides change les rids; nest donc pas acceptable dans bien des cas ! Tranche 1 Tranche 2 Tranche N... N M1 0 M PACKED UNPACKED, BITMAP Tranche 1 Tranche 2 Tranche N Espace libre Tranche M 11 nombre denreg.s nombre de tranches

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke22 Format des Pages: Enreg.s à Longueur Variable * On peut mouvoir les enreg.s sur une page sans devoir changer les rids; doù ce format est aussi attractif pour les enreg.s à longueur fixe. Page i Rid = (i,N) Rid = (i,2) Rid = (i,1) Pointeur vers le début de lespace libre REPERTOIRE DES TRANCHES N N # slots

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke23 Fichiers dEnregistrements Les pages ou blocs sont la mesure de lI/O, mais les couches plus élevées du SGBD opèrent sur les enregistrements, et utilisent des fichiers denregistrements. FICHIER: Collection de pages, chacune contenant une collection denregistrements. Doit supporter: insertion/effacement/modification des enregistrements lecture dun enregistrement particulier (spécifié par son record id -- rid ) scannage de tous les enregistrements

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke24 Fichiers Nonordonnés (Heap Files) Structure la plus simple pour les fichiers: ne contient les enregistrements dans aucun ordre spécial. Au fur et à mesure que les fichiers augmentent et diminuent de tailles, les pages sont affectées ou désaffectées. Pour supporter des opérations sur les enregistrements, on doit garder les traces: des pages dun fichiers des espace libres dans les pages des enregistrements dune page Plusieurs alternatives existent à cette fin.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke25 Implémentation du Heap File Comme Liste Le SGBD retient ladresse de lendroit où est stockée la première page dun fichier à un endroit bien spécifique sur disque. Chaque page contient 2 pointeurs ainsi que des données. Page de tête Page de données Page de données Page de données Page de données Page de données Page de données Pages avec espace libre Pages pleines

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke26 Heap File Utilisant une Page Répertoire Lentrée dune page peut inclure le nombre doctets qui sont libres sur cette page. Le répertoire est une collection de pages pouvant être organisée comme une liste. Beaucoup moins despace utilisé que dans la première méthode ! Page de données Page de données Page de données Page de tête REPERTOIRE

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke27 Catalogues du Système Pour chaque index: Indique la structure (p.ex. B+) et les champs de la clé de recherche Pour chaque relation: nom, nom de fichier, structure du fichier (p.ex., Heap file) nom et type de chaque attribut nom de chaque index sur la relation contraintes dintégrité Pour chaque vue: nom et définition Statistiques, autorisations, taille du buffer pool, etc. * Les catalogues sont stockés comme des relations !

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke28 Attr_Cat(attr_name, rel_name, type, position)

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke29 Résumé Les disques fournissent un stockage bon marché et non-volatile. Accès aléatoire, mais le coût des opérations dépend de lemplacement des données sur le disque; un agencement séquentielle des donnes minimalise les délais de recherche et de rotation. Le buffer manager amène les pages dans le RAM. Une page reste dans le RAM jusquà ce quelle est relâchée par son requérant. Une page est écrite sur disque si son cadre est choisi pour remplacement. Le choix dun cadre à remplacer se fait selon une police de remplacement. Possibles prélectures.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke30 Résumé (Suite) Un SGBD a besoin déléments introuvables dans beaucoup de Ses: forcer une page vers le disque, contrôler lordre décriture des pages, éparpiller un fichier sur plusieurs disques, etc. Les enregistrements à longueur variable avec un répertoire de offsets offrent un support pour laccès direct aux champs et pour les valeurs nulles. Le format UNPACKED & BITMAP supporte les enregistrements à longueur variable et permet de déplacer les enregistrements sur une page.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke31 Résumé (Suite) La couche de gestion des fichiers gère les pages des fichiers et supporte labstraction de collection denregistrements. Les pages avec espace libre sont identifiées par une liste chaînée ou un répertoire. Les relations en catalogue stockent l information sur les relations, les indexes et les vues.