Stockage des Donn - PowerPoint PPT Presentation

About This Presentation
Title:

Stockage des Donn

Description:

Title: Storing Data: Disks and Files Subject: Database Management Systems Author: Raghu Ramakrishnan and Johannes Gehrke Keywords: Chapter 7 Last modified by – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 31
Provided by: RaghuRamak193
Category:

less

Transcript and Presenter's Notes

Title: Stockage des Donn


1
Stockage des Données Disques et Fichiers
  • Chapitre 9

2
Objectifs
  • Hiérarchie des mémoires (stockage)
  • Caractéristiques des disques et bandes
  • RAID
  • Gestion de lespace disque
  • Gestion des mémoires tampon
  • Gestion des fichiers

3
Hiérarchie des Mémoires
  • Hiérarchie des mémoires
  • Mémoire primaire (RAM) contient les données en
    usage.
  • Mémoire secondaire (disque magnétique) contient
    la base de données principale.
  • Mémoire tertiaire (bandes magnétiques) contient
    les archives.
  • La mémoire primaire
  • Coûts trop élevés à titre dexemple, avec 80,
    on peut acheter soit 2GB de RAM ou 200GB de
    disque.
  • Volatile ne peut sauver les données entre des
    exécutions du SGBD.
  • Mémoires principale et secondaire interagissent
  • READ transfert des données du disque vers la
    mémoire primaire.
  • WRITE transfert des données du RAM vers le
    disque.
  • Les deux opérations coûtent plus que les
    opérations en mémoire, raison pour laquelle elles
    doivent être soigneusement planifiées!

4
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!

5
Composantes dun Disque
Axe
  • Les plateaux tournent (90tps).

Tête
  • 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.

Secteur
Plateaux
  • Une seule tête de lecture lit/écrit à la
    fois.
  • Un bloc est une collection de
    secteurs.
  • La taille de bloc est un multiple
    de la taille du secteur (qui est fixe).

6
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?

7
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.
  • Le concept de  suivant  facilite le scannage
    séquentiel (prélecture de plusieurs pages à la
    fois).

8
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 gt
    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é.

9
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 gt
    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.

10
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 01 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.

11
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.

12
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).

13
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.

14
Gestion des Mémoires Tampon
Requête de page dun niveau plus élevé
BUFFER POOL
Page de disque
Cadre libre
MEMOIRE PRINCIPALE
Le choix dun cadre à remplacer lorsque la
réserve est pleine est régi par une police de
remplacement
DISQUE
  • 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 ltframe,
    pageidgt.

15
Procédure en Cas de Requête pour une Page
  • Le gestionnaire des tampons maintient 2
    variables
  • pin_count dutilisateurs courants (ne
    remplacer une page que si pin_count 0).
  • dirty page modifiée?
  • Si la page requise est dans la réserve,
    lutiliser et 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 ( pinning ) de la
    page et retourner son adresse.

16
Police de Remplacement des Cadres
  • Un cadre est choisi pour remplacement en fonction
    dune police de remplacement
  • LRU (Least-recently-used), Clock, MRU, 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 lt pages dans le fichier chaque page
    requise cause un I/O. Le MRU se comporte mieux
    dans ce cas.

17
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
  • Procéder au 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.

18
Formats dEnregistrements Longueur Fixe
F1
F2
F3
F4
L1
L2
L3
L4
Adresse de base (B)
Adresse BL1L2
  • Linfo sur les champs des enregistrements est la
    même pour tout le fichier et est stockée dans les
    catalogues du système.
  • Larithmétique des adresses est simple.

19
Formats dEnregistrements Longueur Variable
  • Deux alternatives au moins existent ( champs
    fixe)

F1 F2 F3
F4
Champs délimités par des symboles spéciaux
Compteur du champs
F1 F2 F3 F4
Liste de déplacements (offsets) des champs
Le second format offre un accès direct aux
champs ainsi quun stockage efficient.
20
Format des Pages Enreg.s à Longueur Fixe
Tranche 1
Tranche 1
Tranche 2
Tranche 2
Espace libre
. . .
. . .
Tranche N
Tranche N
Tranche M
N
M
1
0
. . .
1
1
M ... 3 2 1
nombre denreg.s
nombre de tranches
PACKED
UNPACKED, BITMAP
  • Record id ltpage id, slot gt. 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 !

21
Format des Pages Enreg.s à Longueur Variable
Rid (i,N)
Page i
Rid (i,2)
Rid (i,1)
N
20
16
24
Pointeur vers le début de lespace libre
N . . . 2 1
slots
REPERTOIRE DES TRANCHES
  • 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.

22
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)
  • scannage de tous les enregistrements

23
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 fichier
  • des espace libres dans les pages
  • des enregistrements dune page
  • Plusieurs alternatives existent à cette fin.

24
Implémentation du Heap File Comme Liste
Page de données
Page de données
Page de données
Pages pleines
Page de tête
Page de données
Page de données
Page de données
Pages avec espace libre
  • 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.

25
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!

26
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!

27
Attr_Cat(attr_name, rel_name, type, position)
28
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.

29
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.

30
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.
Write a Comment
User Comments (0)
About PowerShow.com