Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année



Documents pareils
Structure fonctionnelle d un SGBD

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

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

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

GESTION DE LA MEMOIRE

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

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

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Micro ordinateur & Périphériques Mémoire de masse Disque dur (SOLUTION)

Partie 7 : Gestion de la mémoire

LES SYSTÈMES DE FICHIERS

Chapitre 4 : Les mémoires

Systemes d'exploitation des ordinateurs

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Chapitre 1 : Introduction aux bases de données

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

Présentation du module Base de données spatio-temporelles

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

NOTIONS DE RESEAUX INFORMATIQUES

A -Systèmes de fichiers 1 - FAT vs NTFS

Architecture des ordinateurs

Cours de Système : Gestion de Fichiers

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

Optimisations des SGBDR. Étude de cas : MySQL

CPLN 20/08/2009 MBO Service ICT et Pédagogie

Bases de données Cours 1 : Généralités sur les bases de données

Bases de Données. Plan

IV- Comment fonctionne un ordinateur?

Introduction aux SGBDR

Microsoft Windows NT Server

Leçon 1 : Les principaux composants d un ordinateur

Samsung Data Migration v2.6 Guide d'introduction et d'installation

Partie théorique (20 points) :

L annuaire et le Service DNS

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

Introduction à NetCDF

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Concepts et systèmes de stockage

Sauvegarde des fichiers

Tests de performance du matériel

Fonctionnalités d Acronis :

Technologie de déduplication de Barracuda Backup. Livre blanc

Ordinateur portable Latitude E5410

Mémoire de l'imprimante

Les bases de données

RAPPORT D'AUDIT - SÉCURITÉ ET PERFORMANCES DES SERVEURS

Le Network File System de Sun (NFS)

Fonctions De Base D un Système D Exploitation. I- introduction : II- Gestion des processus :

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

Gestion de la mémoire

Éléments d'architecture des ordinateurs

Cours Base de données relationnelles. M. Boughanem, IUP STRI

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

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

ultisites S.A. module «services»

Rappels sur les fichiers

Cours Bases de données

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

Programmation parallèle et distribuée

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Windows 7, Configuration

Manuel d administration de Virtual Box MANUEL D UTILISATION VIRTUAL BOX

Technologie SDS (Software-Defined Storage) de DataCore

I00 Éléments d architecture

Limitations of the Playstation 3 for High Performance Cluster Computing

WINDOWS SERVER 2003-R2

Protection des données avec les solutions de stockage NETGEAR

Les bases de données Page 1 / 8

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Gestion répartie de données - 1

Cours Informatique 1. Monsieur SADOUNI Salheddine

A QUOI SERVENT LES BASES DE DONNÉES?

Retrospect 7.7 Addendum au Guide d'utilisation

Tutorial créer une machine virtuell.doc Page 1/9

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Programmation parallèle et distribuée

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

1.1 L EXPLORATEUR WINDOWS

Bases de données relationnelles : Introduction

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Chapitre 3 : Système de gestion de fichiers

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Comparatif entre Matrox RT.X2 et Adobe Premiere Pro CS3 (logiciel seul)

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Cours: Administration d'une Base de Données

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

Tarifs 15 juin 2015 REF MATRIX APPLIANCES. DESIGNATION RAID CAPACITE EN RAID Prix Public Unitaire HT.

Effacement d'un disque dur avant mise au rebut. Denis PUGNÈRE IN2P3/IPNL A3IMP - La Grande Motte /09/2007

Transcription:

Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage 2.1 Introduction 2.2 Aspects bas-niveau kn@lri.fr http://www.lri.fr/~kn 2/20 Hierarchie mémoire : Où stocker les données? Type Accès Taille max Coût durée de vie Registre < 1ns 128 bits Très cher alimenté Cache L1/2/3 ~ 10 ns 1ko ~ 1Mo Très cher alimenté RAM ~ 50 ns 10 Go Cher alimenté Disque SSD ~ 0.1ms 1 To - Cher Écritures limitées Disque dur ~ 5ms 10 To Peu cher Fragiles Bandes 10 s 1 Po/Eo Donné Bonne RAM : mémoire primaire Disques : mémoire secondaire Bandes magnétiques/disques optiques : mémoire tertiaire Quels types de mémoire pour une BD? On attend en général d'une BD: Stockage d'un nombre important de données Interrogation rapide (et si possible, mise à jour rapide aussi) Resistance aux pannes, aux corruptions Celà implique l'utilisation de mémoire primaire (comme toutes les applications) et secondaire Pas d'adressage direct du disque par le processeur, nécessité de «monter» les données en RAM Goulet d'étranglement : facteur 10 000 (SSD) ~ 100 000 (HDD) entre mémoire et disques Priorité des SGBD (ce qu'on présente dans ce cours) : limiter les accès disque 3/20 4/20

Disques rotatifs: Caractéristiques physiques de disques Bras Tête de lecture Secteur 2.1 Introduction 2.2 Aspects bas-niveau 5/20 Plateau Piste Chaque plateau a deux faces Un plateau est composé de pistes concentriques Les pistes sont décomposées en secteurs Une tête de lecture/écriture travaille secteur par secteur Un secteur fait plusieurs octets (typiquement 512) Un cylindre est l'ensemble des pistes situées à la même positions sur tous les plateaux Temps d'accès à un disque Unité de transfert Accès à un secteur arbitraire : Positionner la tête sur la bonne piste (recherche) Attendre que le bon secteur soit sous la tête (rotation) Parcourir le secteur et renvoyer les données en mémoire (transfert) On appelle page (ou bloc) la quantité de mémoire que le disque dur transfert de manière atomique en mémoire. En pratique 512o ~ 4ko (dépendant des disques). Une page fait au moins un secteur. De plus, une page ne peut pas déborder sur plus d'une piste. On doit lire/écrire au moins une page même si on ne veut lire/écrire qu'un octet Tout cela constitue la latence du disque Une fois qu'on a payé le temps de latence, lire le secteur suivant ne demande que le temps de transfert On va donc essayer d'organiser les données de manière éviter les déplacements arbitraires Exemple : on souhaite stocker 5 chaines de caractères de 200o chacunes sur le disque Si placés sur blocs différents (arbitraires) : 5 pages montées en mémoire, 5 * temps de latence Si placés sur deux blocs consécutifs : temps de latence + temps de transfert (on gagne un facteur 5) 7/20 8/20

Stratégies de placement Mise en place de la stratégies de placement Pour mettre en place les stratégies de placement il faut connaître: On peut placer en priorité les données «reliées» (qu'on veut utiliser en même temps): 1. Dans le même bloc (T.A. à la deuxième donnée: 0) 2. Sur deux blocs contigus (T.A. à la deuxième donnée: T. transfert) 3. Bloc à la même position sur un autre plateau (T.A. à la deuxième donnée: T. transfert) 4. Sur la même piste (T.A. à la deuxième donnée: T. rotation) 5. Sur des pistes proches Qui gère les accès disques bas-niveau, le buffer,? 9/20 La liste des blocs libres et occupés La liste des blocs occupés par un «fichier» (i.e. qui stocke des informations reliées à la même donnée logique) On ne travaille pas page à page : on alloue un buffer de pages P1P132 P10 P99 P2P1000P507 On maintient pour chaque page : un compteur d'utilisation et un dirty-bit qui indique si la page a été modifiée (on doit donc l'écrire sur le disque à un moment donné). Lorsque le buffer est plein, il faut supprimer des pages (et en monter d'autres en mémoire) suivant une stratégie: LRU, MRU, Random, FIFO, LIFO, Un mot sur les SSD 10/20 Dans le temps, le SGBD directement De nos jours, le système d'exploitation via ses systèmes de fichiers et gestion de la mémoire virtuelle (swap ou fichier d'echange) Les systèmes d'exploitation ont énormément progressé (les SGBD ne pouvaient pas reposer sur quelque chose d'aussi primitif que FAT ou TFS, mais les systèmes de fichier modernes sont plus performant que le traitement natif du disque fais par les SGBD, en particulier pour les SSD). Pour prédire le bon comportement d'un SGBD il faut connaître non seulement ce dernier, mais aussi, de manière détaillée, les caractéristiques de l'os et du système de fichier. Solid State Disk : «disque» dur composé entièrement de mémoire flash. Avantages: Pas de temps de recherche et de rotation, uniquement temps de transfert. Accès arbitraires aussi rapides que les séquentiels Consomation électrique moindre, poid moindre, pas de pièce mobile (resistance aux chocs) Couteux Écriture très complexe (écrire dans une cellule impose de l'effacer avant, nombre de cycle d'effaçage limité, etc) écessite une coopération à tous les niveaux, seul le système d'exploitation peut bien le gérer (bibliothèque système, gestion de la mémoire virtuelle, système de fichier, pilote du disque et firmware). 11/20 12/20

Utilisation du disque par les SGBD 2.1 Introduction 2.2 Aspects bas-niveau n-uplet (ou ligne) : enregistrement, séquence contiguë d'octets table = ensemble de lignes = fichier base = ensemble de tables = ensemble de fichiers Opérations de base sur les enregistrements recherche d'un enregistrement (SELECT) ajout d'un enregistrement à une table (ISERT) mise à jour d'un enregistrement (UPDATE) suppression d'un enregistrement (DELETE) Les fichiers (i.e. les tables) sont paginées (découpées en pages) 13/20 14/20 Représentation des enregistrements fixes Représentation des enregistrements variables ombre fixe d'attributs (schéma de la table) Champs de taille fixe (VARCHAR[50], ITEGER (32 bits), ) C 1 C 2 C 3 C 4 C 5 B L 1 L 2 L 3 L 4 L 5 Pour accéder au i ème champ d'un enregistrement en connaissant l'addresse de base B, on ajout à B les longueurs des champs 0, 1,, i-1. adresse de C 4 = B + L 1 + L 2 + L 3 ombre fixe d'attributs (schéma de la table) Champs de taille variables (blobs de texte) C 1 $ C 2 $ C 3 $ C 4 $ C 5 On utilise un séparateur spécial entre les champs (scan linéaire pour arriver au i ème champ. L 1 L 2 L 3 L 4 L 5 C 1 C 2 C 3 C 4 C 5 On stocke les longueurs dans l'enregistrement 15/20 16/20

Méta-données Stockage des enregistrements dans une page Chaque enregistrement possède un en-tête stockant des données auxiliaires taille totale de l'enregistrement (avec entête) pointeur vers le schéma de la table (pour déterminer les tailles des champs) date de dernière mise à jour information de gestion des valeurs nulles: Stockage d'une valeur spéciale (pas toujours possible) Stockage d'un bitmap (masque) : 26 10 = 11010 2 : valeur nulle dans les champ 0 et 2 Chaque enregistrement à une adresse (rid : record id) constituée de l'adresse de la page et de la position de l'enregistrement au sein de la page Lors d'une insertion, on doit trouver un emplacement libre dans la page Lors d'une suppression, on doit «effacer» un emplacement occupé et éventuellement compacter la page 17/20 18/20 Stockage compact vs non compact (taille fixe) Stockage compact (taille variable) emplacement 1 emplacement 2 emplacement 1 emplacement 2 Espace ocupé emplacement espace libre emplacement espace libre Espace libre en-tête en-tête 0 1 Dictionaire d'emplacements (pointeurs) 19/20 20/20