Systèmes de gestion de bases de données Supports de stockage P. Rigaux Cnam, dépt. informatique April 1, 2015 PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 1 / 1
Techniques de stockage Contenu de ce cours : 1 Où sont les données? Mémoires RAM, mémoire persistante. 2 Les performances 3 Disques, SSD Vocabulaire Une donnée désigne une unité d information: pour nous, une ligne d une table, codée sous forme d un enregistrement (record). Ces diapositives correspondent au support en ligne disponible sur le site http://sys.bdpedia.fr PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 2 / 1
Supports de stockage: les mémoires Problématique du stockage Un SGBD gère deux types de mémoire. 1 La mémoire centrale, volative, rapide mais risque de perte. 2 La mémoire secondaire, persistante, stable mais lente. Approche générale: les données sont toujours en mémoire secondaire dans des fichiers, et partiellement copiées en mémoire centrale. Une donnée, pour être traitée, doit impérativement être en mémoire centrale. Problématique Comment gérer au mieux ces deux ressources? PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 3 / 1
Supports de stockage: les mémoires Les mémoires d un ordinateur Les mémoires dans un ordinateur forment une hiérarchie : Constat: plus une mémoire est rapide, moins elle est volumineuse. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 4 / 1
Supports de stockage: les mémoires Performances des mémoires Critères essentiels: Temps d accès: connaissant l adresse d une donnée, quel est le temps nécessaire pour aller chercher la donnée à l emplacement mémoire indiqué par cette adresse? Critère essentiel pour les opérations dites d accès direct. Débit: quel est le volume de données lues par unité de temps dans le meilleur des cas? Critère essentiel pour les opérations dites de de lecture séquentielle. Constat: tout accès aux donnés s effectue avec l une de ces deux opérations. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 5 / 1
Supports de stockage: les mémoires Quelques ordres de grandeur Rappel: 1 Go = 1 000 Mo et 1 To = 1 000 Go. Mémoire Taille Temps d accès Débit cache Qq Mo 10 8 (10 nanosec.) 10+ Go/s Principale (RAM) Qq Go 10 8 10 7 (10-100 nanosec.) Qq Go/s Disque Qq To 10 2 (10 millisec.) 100 Mo/s SSD Qq To 10 4 (0,1 millisec.) 1+ Go/s Un accès direct disque est (environ) un million de fois plus coûteux qu un accès direct en mémoire principale! Le débit d un disque est 20, 30, 40 fois plus lent que le débit RAM. Un SSD est 10 à 100 fois plus performant qu un disque magnétique. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 6 / 1
Supports de stockage: les mémoires À vous de jouer Nous avons une base de 3 Tos. Quel est le temps de lecture minimal de la base complète sur un disque magnétique? Et en mémoire centrale (en supposant la capacité de cette dernière suffisante)? On veut lire 100 objets de 10 octets. Combien de temps cela prend-il s ils sont sur un disque? Et s ils sont en mémoire centrale? PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 7 / 1
Supports de stockage: les mémoires Importance pour les bases de données Un SGBD doit ranger sur disque les données ; parce qu elle sont trop volumineuses (de moins en moins vrai) ; parce qu elles sont persistantes (et doivent survivre à un arrêt du système). Le SGBD doit toujours amener les données en mémoire pour les traiter ; Si possible, les données utiles devraient résider le plus possible en mémoire. Principe général La capacité à placer les données au plus près du processeur (donc en RAM si possible) est un facteur essentiel de performance. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 8 / 1
Les disques magnétiques Organisation d un disque Disque : surface magnétique, stockant des 0 ou des 1, divisé en secteurs. Dispositif : les surfaces sont entraînées dans un mouvement de rotation ; les têtes de lecture se déplacent dans un plan fixe. le bloc est un ensemble de secteurs, sa taille est en général un multiple de 512 ; la piste est l ensemble des blocs d une surface lus au cours d une rotation ; le cylindre est un ensemble de pistes situées sous les têtes de lecture. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 9 / 1
Les disques magnétiques Structure d un disque PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 10 / 1
Les disques magnétiques Disque = mémoire à accès semi-direct Adresse = numéro du disque ; de la piste où se trouve le bloc ; du numéro du bloc sur la piste. 1 Délai de positionnement pour placer la tête sur la bonne piste : 2 Délai de latence pour attendre que le bloc passe sous la tête de lecture ; 3 Temps de transfert pour attendre que le (ou les) bloc(s) soient lus et transférés. La latence d un disque On ne peut pas lire une donnée avant qu elle passe sous une tête de lecture: la latence (qq ms) est un facteur pénalisant. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 11 / 1
Les disques magnétiques Propriétés à retenir Granularité: on lit toujours au moins un bloc, même si on ne veut qu un octet ; le bloc est l unité d entrée/sortie! le remplissage des blocs, si possible avec des données proches de la données requise initialement, est essentiel. Localité : la latence en pratique dépend de la proximité des adresses successives demandées par l application. si deux données sont proches du point de vue applicatif, alors elles doivent être proches sur le disque (idéalement, dans le même bloc). PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 12 / 1
Les disques magnétiques Exemple : spécifications d un disque Caractéristique Performance Taux de transfert 100 Mo par seconde Cache 3 Mo Nbre de disques 3 (6 têtes) Nombre total secteurs (512K) 5 335 031 400 Nombre de cylindres 15 300 Vitesse de rotation 10 000 rpm (rot. par minute) Délai de latence En moyenne 3 ms Temps de positionnement moyen 5.2 ms Déplacement de piste à piste 0.6 ms PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 13 / 1
Les disques magnétiques Quelques calculs... À partir des spécifications, on calcule : 1 nombre de secteurs par face ; 2 nombre (moyen) de secteurs par piste ; 3 nombre (moyen) d octets par piste et par cylindre ; 4 temps de rotation, et donc délai de latence ; 5 délai de transfert pour 1 ou n blocs. On en déduit les temps minimal, maximal et moyen de lecture. Le temps d accès peut varier en fonction de l organisation des blocs, de l ordre d accès aux blocs et de la conservation de certains blocs en mémoire. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 14 / 1
Les disques magnétiques À vous de jouer Voici les caractistiques d un vieux disque. À vous de faire quelques calculs... Caractéristique Performance Taux de transfert 80 Mo par seconde Cache 1 Mo Nbre de disques 3 (6 têtes) Nombre total secteurs (512K) 17 783 438 Nombre de cylindres 9 772 Vitesse de rotation 8 000 rpm (rot. par minute) Quelle est sa taille? Quelle est le délai de latence? Combien d octets par piste en moyenne? PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 15 / 1
Les disques magnétiques Bilan Retenir Accès (aléatoire) au disque : très lent par rapport à un accès en RAM. Débit du disque : faible (100 MO/s au mieux) SSD: 100 fois plus rapide qu un disque (latence), 10 fois plus en débit Un moyen direct de booster les performances: remplacer le disque magnétique par un SSD. Organisation des données, les algorithmes d accès, la concurrence: tout est conçu pour minimiser les accès aux disques, et surtout les accès aléatoires. PR (Cnam, dépt. info) Systèmes de gestion de bases de données April 1, 2015 16 / 1