Rappels sur les fichiers



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

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Structure fonctionnelle d un SGBD

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

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

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

Partie 7 : Gestion de la mémoire

Leçon 1 : Les principaux composants d un ordinateur

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

GESTION DE LA MEMOIRE

LES SYSTÈMES DE FICHIERS

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

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

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

Optimisations des SGBDR. Étude de cas : MySQL

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

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

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

Chapitre 1 : Introduction aux bases de données

Cours de Système : Gestion de Fichiers

Informatique Générale

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

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Distinguer entre «Enregistrer» et «Sauvegarder»

Le Langage De Description De Données(LDD)

Système de Gestion de Fichiers

CH.3 SYSTÈMES D'EXPLOITATION

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

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

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

1 LE L S S ERV R EURS Si 5

Concepts et systèmes de stockage

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)

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

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

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

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

Introduction à NetCDF

Bases de Données. Plan

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

Cours Bases de données

Sauvegarde des fichiers

la virtualisation pour quoi faire?

Chapitre 3 : Système de gestion de fichiers

4D v11 SQL Release 5 (11.5) ADDENDUM

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

Domain Name System. F. Nolot

Chapitre 4 : Les mémoires

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

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

Systèmes d information et bases de données (niveau 1)

Détection d'intrusions en environnement haute performance

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

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

<Insert Picture Here> Solaris pour la base de donnés Oracle

Tests de performance du matériel

ARBRES BINAIRES DE RECHERCHE

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

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

Acquisition des données

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Introduction. René J. Chevance

NOTIONS DE RESEAUX INFORMATIQUES

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

Domain Name Service (DNS)

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

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Cours 3 : L'ordinateur

Introduction aux bases de données et aux SGBD

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

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Guide de prise en main Symantec Protection Center 2.1

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Sécuriser les données 1

L annuaire et le Service DNS

Évaluation et optimisation de requêtes

Implémentation des SGBD

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

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

samedi 27 novembre 2010 Définition / Pourquoi? - Choisir ce qui me convient - Supports de sauvegarde - Time machine - time capsule - cloner -

IV- Comment fonctionne un ordinateur?

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

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

Domain Name System ot ol F. N 1

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Mise en oeuvre TSM 6.1

Audit activité base Oracle / SAP

CHAPITRE 1. Introduction aux bases de données

Gestion répartie de données - 1

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

Bernard HAMM, Évelyne LAVOISIER

Gestion des transactions et accès concurrents dans les bases de données relationnelles

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

Parcours FOAD Formation EXCEL 2010

Transcription:

Rappels sur les fichiers Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Mars 2013 1. Généralités sur les mémoires 2. Généralités sur les fichiers 3. Types dʼorganisations de fichiers 4. Exemple dʼorganisations indexées Plan 1. Généralités sur les mémoires Performance est coût des mémoires Stockage sur Disque Dur 2. Généralités sur les fichiers : Notion de fichier, opérations sur les fichiers, utilisation et activité d'un fichier Méthodes d'accès : séquentielles et sélectives 3. Types dʼorganisations de fichiers : Organisations et méthode dʼaccès Organisations relative, aléatoire et indexée 4. Exemple dʼorganisations indexées : I3 ISAM VSAM Bernard ESPINASSE - Rappels sur les fichiers 1 Bernard ESPINASSE - Rappels sur les fichiers 2 Pe r f ormance e t c oût de s m é m oire s La Mémoire cache plus rapide et plus onéreuse que 1. Généralités sur les mémoires Performance est coût des mémoires Stockage sur Disque Dur Stockage sur Disque Dur versus sur RAM Fonctionnement dʼun Disque Dur la RAM est plus rapide et plus onéreuse que... le Disque Dur est plus rapide et plus onéreux que... le CD (ou DVD) est plus rapide et plus onéreux que... la Bande magnétique est plus rapide et plus onéreuse que... le Papier est plus rapide et plus onéreuse que... => Tenir compte de ce qui est disponible et nécessaire en fonction de son usage Bernard ESPINASSE - Rappels sur les fichiers 3 Bernard ESPINASSE - Rappels sur les fichiers 4

S t ockage s ur disque dur En général, les SGBD sauvegardent les données sur les Disques Durs (DD) Les DD imposent certaines caractéristiques à la conception des SGBD :! Lecture : transfert les données depuis le DD vers la mémoire principale (RAM)! Ecriture : transfert les données de la RAM vers le DD Ces opérations ont un coût important => nécessitent une planification attentive S t ockage s ur D isque D ur v e r s us s ur RA M Le coût du stockage sur RAM reste en général très élevé :! En 2003, pour 1000$, DELL vend 3Go RAM ou un DD de 800 Go,! En 2010, pour 150$, DELL vend 8Go de RAM ou bien un DD de 1,5To! La RAM est volatile : problème de persistance Hiérarchie typique des solutions de stockage :! 1. RAM pour les données exploitées à l'instant t! 2. DD pour le stockage des BD! 3. DD voire Bandes pour l'archivage Bernard ESPINASSE - Rappels sur les fichiers 5 Bernard ESPINASSE - Rappels sur les fichiers 6 D isque s D urs ( 1 ) mémoire non adressable directement par instructions du processeur central adressage par des instructions d'entrée-sortie (ES) spécialisée Avantage principal sur les Bandes (offline : intervention humaine): accès aléatoire au lieu dʼun accès séquentiel Les données sont stockées et récupérées dans une unité de bloc disque : contient plusieurs disques magnétiques fixés à un axe rotatif D isque s D urs ( 2 ) Les disques sont divisés en pistes (tracks) concentriques, chacune dʼune capacité de quelques dizaines K octets, définissant des cylindres Une piste est divisée en secteurs Les données sont lues/écrites par les têtes par bloc ou page, lue en une entrée-sortie (ES) Le temps de récupération de données sur un bloc disque dépend de la localisation sur le disque (contrairement à la RAM) 1956 : premier DD (IBM): 1200 tours/minute 2013 : vitesse maximale : 15000 tours/minute Bernard ESPINASSE - Rappels sur les fichiers Exemple :! capacité disque : 100 Tera octets ; piste (concentrique, ex. : n piste, n = 512)! temps d'accès : 10 milli-secondes, soit 20.000 fois temps accès RAM Bernard ESPINASSE - Rappels sur les fichiers 8

!""#$%&%'()%*+,)%-.$/')%012 D isque s D urs ( 3 ) D isque s D urs ( 4 ) Accès à un bloc (page ou ES) : Temps pour sélectionner le bon cylindre par un mouvement de translation du bras : Seek time qq milli à dizaine de milli sec. Temps de rotation du disque pour le bon secteur (rotation de 4200 à 15000 tours/minute) : Rotation time (temps de latence) qq milli sec. Transfert des données : Transfert time En général : Seek time > Rotation time > Transfert time le temps que prend un accès à un secteur d'un disque, la CPU peut effectuer des centaines de milliers d'instructions pour Facteur pour diminuer les coûts d'es : réduire les temps de recherche (fichiers sur un même cylindre, ) +,-!"#$#%&'(&)*!"#$%&'$()*+,-*./!" Bernard ESPINASSE - Rappels sur les fichiers 9 Bernard ESPINASSE - Rappels sur les fichiers 10 Exe m p le de D D Description Cheetah X15 36LP Cheetah 10K.6 Exe m p le de D D (suite ) Description Cheetah X15 36LP Cheetah 10K.6 Model Number Form Factor (width) Height Width Weight Capacity/Interface Formatted Capacity Interface Type Configuration Number of disks (physical) Number of heads (physical) Number of Cylinders Bytes per Sector Areal Density Track Density Recording Density ST33632L C 3.5 inch 25.4 mm 101.6 mm 0.68 Kg 36. Gbytes 80-pin 4 8 18,49 512 N/A N/A N/A ST314680L C 3.5 inch 25.4 mm 101.6 mm 0.3 Kg 146.8 Gbytes 80-pin 4 8 49,854 512 36,000 Mbits/sq.inch 64,000 Tracks/inch 50,000 bits/inch Performance Transfer Rates Internal Transfer Rate (min) Internal Transfer Rate (max) Formatted Int. Transfer Rate (min) Formatted Int. Transfer Rate (max) External I/O Transfer Rate (max) Seek Times Avg. Seek Time (Read) Avg. Seek Time (Write) Track-to-track Seek, Read Track-to-track Seek, Write Average Latency Other Default Buffer (cache) size Spindle Speed 522 Mbits/sec 09 Mbits/sec 51 MBytes/sec 69 MBytes/sec 320 MBytes/sec 3.6 msec (typical) 4.2 msec (typical) 0.5 msec (typical) 0.8 msec (typical) 2 msec 8,192 Kbytes 15K rpm 45 Mbits/sec 840 Mbits/sec 43 MBytes/sec 8 MBytes/sec 320 MBytes/sec 4. msec (typical) 5.2 msec (typical) 0.3 msec (typical) 0.5 msec (typical) 2.99 msec 8,000 Kbytes 10K rpm Bernard ESPINASSE - Rappels sur les fichiers 11 Bernard ESPINASSE - Rappels sur les fichiers 12

Indé p e ndance Programme /Mé m oire s e c ondaire les mémoires secondaires doivent être utilisées par plusieurs programmes d'applications 2. Généralités sur les fichiers Mémoire secondaire, indépendance programme - mémoire secondaire Notion de fichier, opérations sur les fichiers, utilisation et activité d'un fichier Exploitation dʼun fichier : fonction de base et fonctions dʼexploitation Méthodes d'accès : séquentielles et sélectives pouvoir partager l'espace mémoire secondaire entre les données des différents programmes les programmes indépendants de l'emplacement des données sur disque possibilité de changer les données de mémoires secondaires sans changer les programmes. => les programmes d'application ne peuvent assurer la gestion de cet espace et adresses associées Pour réaliser cette indépendance: on introduit un objet intermédiaire : Le Fichier Programme / Fichier / Mémoire secondaire Bernard ESPINASSE - Rappels sur les fichiers 13 Bernard ESPINASSE - Rappels sur les fichiers 14 D é f initions Fichiers : récipient d'informations constituant une mémoire secondaire idéale, caractérisée par un nom. Article/record/enregistrement : - élément composant un fichier, est composé d'un ensemble de données. - unité de traitement pour les programmes : un programme traite, lit, écrit des portions successives de fichier (ex : un client, un compte,...), Organisation de fichier : ensemble des liaisons entre articles pour composer un fichier. Méthodes d'accès : méthode d'exploitation du fichier utilisée par les programmes pour sélectionner des articles. Clé d'article (primaire, secondaire) : donnée identificatrice d'un article, permet de sélectionner un article unique dans un fichier. Langage hôte : langage de programmation accueillant les verbes de manipulations de fichier et la définition des données des fichiers. Ex : Pascal, Open, Reset, Close, Write,... F ichie r programme unité de traitement fichier indépendance fichier composée de article composé de données mémoire secondaire clés ETUDIANT (N, nom, prénom, adresse, résultats,...) clé primaire article données Bernard ESPINASSE - Rappels sur les fichiers 15 Bernard ESPINASSE - Rappels sur les fichiers 16

Opé r a t ions s ur le s f ichie r s Sur tous les articles : - création, - destruction, - tri (selon un ou plusieurs critères) - réunion : - éclatement : F1 F2 F3 F R F1 F2 F3 Sur 1 ou quelques articles : - consultation d'un article, - ajout d'un article, - suppression d'un article, - mise à jour d'un article. Opé r a t ions é lé m e ntaire s s ur un f ichie r OPEN : Prépare le fichier à des opérations de lecture ou écriture, fixe un pointeur sur le début du fichier, allocation de mémoires tampons pour stocker les pages FIND : Cherche le premier enregistrement qui satisfait la condition de recherche FINDNEXT : Cherche les enregistrements suivants qui satisfont la condition de recherche READ : Copier l'enregistrement depuis le buffer vers une variable du programme INSERT : Insérer un nouvel enregistrement dans le fichier à partir d'une localisation de page DELETE : Supprime l'enregistrement courant du fichier, souvent en marquant l'invalidité d'un enregistrement MODIFY : Changer la valeur d'un attribut de l'enregistrement courant CLOSE : Terminer l'accès à un fichier REORGANIZE : Réorganiser le fichier, par exemple en supprimant physiquement les enregistrements marqués READ-ORDERED : Lecture d'un fichier en respectant un ordre spécifique. Bernard ESPINASSE - Rappels sur les fichiers 1 Bernard ESPINASSE - Rappels sur les fichiers 18 Utilisation d'un f ichie r Fichier permanent : - de situation - d'archivage, - d'historique. Fichier de mouvement : permet la mise à jour d'un fichier permanent : mouv. perm. t1 perm. t2 Fichier de liaison : permet la liaison entre 2 programmes : F1 prog1 F' liaison prog2 F2 A c t ivité d'un f ichie r Taux de consultation du fichier F pendant période T =! c FT = nb articles consultés de F pendant T nb total d'articles de F Taux de mouvement du fichier F pendant période T =! m FT = nb articles modifiés de F pendant T nb total d'articles de F Soit T = temps d'exécution d'un programme P Si! c PT +! m PT -> 1: méthodes d'accès séquentielles : début fin Fichier de travail : permet l'exécution d'un programme : F1 prog1 F2 Si! c PT +! m PT -> 0: méthodes d'accès sélectives : début fin F travail Bernard ESPINASSE - Rappels sur les fichiers 19 Bernard ESPINASSE - Rappels sur les fichiers 20

Gestion et exploitation de fichiers fonctions de base (gestion de l'espace) NOYAU fonctions d'exploitation (méthodes d'accés sélectives) Fonctions de base : création / destruction des fichiers, allocation de la mémoire secondaire, localisation dans la mémoire secondaire, contrôle. Fonctions d'exploitation : organisation et méthodes d'accès sélectives (utilisent les fonctions de base). F onctions de b a s e Manipulation des fichiers : instructions accessibles le programmeur et les fonctions d'exploitation permettant la CREATION, DESTRUCTION, OUVERTURE, FERMETURE du fichier Adressage relatif : - fichier généralement discontinu sur mémoire secondaire - adresser son contenu à l'aide d'une adresse continue (o...n) = adresse relative : adressage absolu f1 f2 f3 f1 f1 taille page ou bloc : n Koctets adresse relative d'un a b c d y z enregistrement : 3 page, adressage relatif 331 octet si recopie, adresse relatives inchangées 1 2 3 4 début page, bloc, paquet (constructeur) Fonctions permettant de : ACCEDER à une page de l'adressage relatif CONVERTION adresses relative absolue ALLOCATION de mémoire secondaire en pages. fin Bernard ESPINASSE - Rappels sur les fichiers 21 Bernard ESPINASSE - Rappels sur les fichiers 22 F onction de b a s e : s t ockage d'e nre gistre m e nts dans une p a ge ( b loc) de disque Les enregistrements dʼun fichier sont stockés dans des pages ou bloc (en général 4Bo ou 8Ko) sur le disque dur BFR = «Blocking Factor» = nombre d'enregistrements par page/bloc :! Soit B la taille d'une page et R la taille fixe d'un enregistrement du fichier! Si B >= R alors BFR = B/R enregistrements par page/bloc Il peut y avoir des espaces vides dans un bloc si la totalité d'un enregistrement ne passe pas une page/bloc :! Espace non utilisé correspond à : B - (BFR x R) octets! Pour exploiter cet espace, possible de stocker une partie d'un enregistrement sur une page et le reste sur une autre page (un pointeur à la fin de la 1ère page pointe sur la page contenant le reste de l'enregistrement - page répartie ou «spanned record») Fonctions de base de localisation des fichiers sur les volumes Mémoire secondaire = volume (bande, disque dur, disque amovible, CD/DVD, clé USB, disquette, ) Label du volume (label) : premier secteur d'un volume permettant d'identifier le volume Descripteur de fichier : permet de retrouver les caractéristiques d'un fichier (nom, adresse,...) Table des matières d'un volume (directory) : table contenant tous les descripteurs des fichiers du volume. Fonctions de base de contrôle et de robustesse Fonctions permettant des contrôles et de mécanismes de reprises pour : partage des fichiers, résistance aux pannes, confidentialité, Bernard ESPINASSE - Rappels sur les fichiers 23 Bernard ESPINASSE - Rappels sur les fichiers 24

Organisations e t m é t hode s d'accè s s é le c tive s problème : 3. Types dʼorganisation de fichiers Organisation et méthodes dʼaccès Organisation relative Organisation aléatoire Organisation indexée identifiant d'un article (clé) lecture de l'article en moins de 5 entrées/sorties solution : organisation méthode Bernard ESPINASSE - Rappels sur les fichiers 25 Bernard ESPINASSE - Rappels sur les fichiers 26 Organisation r e lative clé = nombre entier = numéro de l'article (adresse relative de l'article dans le fichier) Fichier relatif ou direct : fichier d'articles de longueur fixe où chaque article possède une clé unique = son n d'ordre dans le fichier. avantages : clé simple, performante (1 entrée/sortie) inconvénients : article de longueur fixe, L = longueur fixe 0 1 2 3 4 i n association nombre entier <-> article gestion des trous -> perte place adresse relative = L x i Bernard ESPINASSE - Rappels sur les fichiers 2 Organisation a lé a t oire fonction de hachage CLE (valeur) A.R. = f (clé) adresses relatives sous-fichier 1 sous-fichier 2 sous-fichier 3 sous-fichier 4 sous-fichier 5 valeur de clé (hashed file) calcul!!adresse relative A.R. f = fonction de randomisation (ou fonction de hachage) sous-fichier ou paquet (lu en 1 E/S) zone de débordement fonctions de hachage : pliage : choix et combinaison de bits de la clé, conversion de la clé en nombre entier, modulo : prendre pour numéro de paquet le reste de la division de la clé par le nombre de paquets, combinaisons de techniques... Bernard ESPINASSE - Rappels sur les fichiers 28

Organisation aléatoire : le problème du débordement quelques techniques : adressage ouvert : placer l'article dans le premier paquet libre-> mémorisation des paquets dans lesquels un paquet a débordé chaînage : constituer un paquet logique pour chainage : paquet n -1 paquet n Organisation a lé a t oire Avantages : s'adapte à des fichiers de clés quelconques, simple, très bonnes performances si peu de débordement. -> choix d'une bonne fonction de hachage -> voire ajustement de celle-ci zone de débordement rehachage : appliquer une deuxième fonction de hachage lorsqu'un paquet est plein : F' F Inconvénients : coût de la gestion de débordement, taux d'occupation de la mémoire secondaire peut être faible, taille fixée a priori, (hachage virtuel Scholl 81) les articles sont sélectionnés sur une valeur exacte de la clé, peu de duplication de clé. Bernard ESPINASSE - Rappels sur les fichiers 29 Bernard ESPINASSE - Rappels sur les fichiers 30 Organisations inde xé e s Index : table(s) associant à une clé, l'adresse relative de l'article où elle se trouve. 1,2 INDEX clé A.R. a a8 a5 a3 0 4 6 12 a1 16 articles adresses relatives l'index peut être: 3 4 a a8 a5 a3 a1 0 2 4 6 8 10 12 14 16 18 20 22 FICHIER DONNEES 5 1- accés à l'index, 2- recherche sur la clé de l'a.r., 3- conversion A.R. adresse absolue, 4- accés à l'article, 5- transfert de l'article dans zone programme. dans le fichier des données ou séparé du fichier de données trié (permet recherche dichotomique) ou non trié dense ou non dense (densité = nb de clés dans l'index / nb d'articles dans fichier) 1 3 9 11 23 25 30 31 23 31 index non dense fichier Bernard ESPINASSE - Rappels sur les fichiers 31 Inde x hié r a r c hisé s index hiérarchisé à 2 niveaux = index trié divisé en paquets, possédant lui-même un index, dont chaque entrée est la clé la plus grande de chacun des paquets : 21 30 niveau 3 12 21 30 2 5 12 14 18!21 23 25 30 le nb de niveau peut grandir autant que nécessaire. A r b r e s b a lancé s ( B-TREE) : Arbre balancé d'ordre d : niveau 2 niveau 1 chaque noeud contient K clés avec d K 2d (sauf la racine : I < K < 2d) un noeud est : soit terminal, soit possède (K = 1) fils, le ième fils possède des clés comprises entre la (i-i) et la i clé du père, l'arbre est équilibré : noeuds terminaux au même niveau. Un noeud à la forme : P0 K1 P1 K2 P2...Pn-1 Kn Pn où Ki représente les clés et Pi représente les pointeurs Bernard ESPINASSE - Rappels sur les fichiers 32

Re c he r c he e t inse r t ion dans un B-TREE S uppre s s ion de c lé dans un B-TREE 1 racine ii rechercher la feuille qui devrait contenir la clé tu à insérer si suppresion de clé de feuille, alors remontée de la clée suivante de la feuille 2 op uv si le nombre de clés après insertion > m-1 alors: si noeud a un nb de clés < (m/2-1) alors remontée sur neoud précédent 3 kl mn 4 qr st 5 wx migration de la clé médiane st au niveau supérieur éclatement du noeud saturé en 2 noeuds plus vides Nombre de niveaux d'un B-TREE : 1 tu nombre de niveaux L d'un B-tree d'ordre m permettant de stocker N clés : L = 1+log m+1 ((N+1)/2) 2 3 1 racine ii st 2 op uv racine 1 ii st 2 op éclatement du noeud uv Exemple : N = 999 999 clès m =99 alors L = 1+ log 10 6 = 4 niveaux 100 3 kl mn 4 qr 6 tu 5 éclatement du noeud wx 3 kl mn 4 qr 6 tu 5 wx Bernard ESPINASSE - Rappels sur les fichiers 33 Bernard ESPINASSE - Rappels sur les fichiers 34 Utilisation de B-TREE Index hierarchisés : 2 façons : index organisé en B-TREE : clés organisées en B-TREE articles stockés en fichier classique Ex: méthode IBM indexé série 3 ( IS3) toutes les clés des articles restent au niveau le plus bas de l'arbre B index et fichier organisé en B-TREE : 4. Exemples dʼorganisation indexées Organisation IS3 Organisation ISAM Organisation VSAM articles stockés dans l'arbre, niveau inférieur, les clés sont déplacées au niveau supérieur. Ex: méthode IBM séquentielle indexée régulière (VSAM) Bernard ESPINASSE - Rappels sur les fichiers 35 Bernard ESPINASSE - Rappels sur les fichiers 36

Organisation inde xé e IS3 Organisation inde xé e IS3 index fichier de données Avantages : Index : organisé en B-TREE, dense (dernier niveau du B-TREE) noeud = page = là p secteurs, stocké indépendamment (historique d'index, régénération...) fichier: insertion des articles en séquentiel dans le fichier (simple) index 1 5 12 15 fichier de données 1 12 5 15 15 après insertion de 1 5 12 15 1 12 5 15 historique, génération d'index, insertion simple des articles, performances bonnes : m = nombre clés/page index Inconvénients : séparation fichier/index mouvement de bras, lecture du fichier par clé via index coûteuse, index dense grande taille. Bernard ESPINASSE - Rappels sur les fichiers 3 Bernard ESPINASSE - Rappels sur les fichiers 38 Organisation s é que ntie l inde xé e ISAM ( Inde xe d S e que ntial A c c e s M e t hod IBM 1 9 8 ) index pistes cylindre 1 cylindre2 cylindre3 a2a4 aa9 a0 a1 a2 a5 a6 a a3 a4 a8 a11a13 a10 a12 a14 a13 a15a15 a11 a15 zone index zone primaire zone débordement les pointeurs issus du cylindre 1 (d'après G.Gardarin) index cylindres a9 a9 ne sont pas représentés Zone primaire : articles enregistrés par ordre croissant des clés. Zone de débordement : (pistes de débordement de cylindres) articles chainés entre eux insertion : recherche de sa séquence si placé en zone primaire articles suivants déplacés et dernier mis en zone de débordement, chainages mis à jour, si placé en zone débordement inséré dans chaine. a15 Organisation ISAM (non dense) : 2 niveaux d'index: - index de pistes : 1 par cylindre (1 piste), pour chaque piste du cylindre contient: la plus grande clé de la zone primaire la plus grande clé de la zone débordement adresse 1 article en zone débordement - index de cylindre : 1 par fichier, pour chaque fichier contient la plus grande clé du cylindre index pistes cylindre 1 cylindre2 cylindre3 a2a4 aa9 a0 a1 a2 a5 a6 a a3 a4 a8 a11a13 a10 a12 a14 a15a15 a11 a15 zone index zone primaire zone débordement les pointeurs issus du cylindre 1 (d'après G.Gardarin) a13 index cylindres a9 a9 ne sont pas représentés a15 Bernard ESPINASSE - Rappels sur les fichiers 39 Bernard ESPINASSE - Rappels sur les fichiers 40

Organisation ISAM Avantages : le fichier est trié accés en séquentiel trié, temps d'accés bon si pas de débordement (3 E/S pour un article) Organisation séquentielle indexée VSAM (OS/VS) (Virtual Sequential Organisation séquentielle indexée VSAM (OS/VS) (Virtual Sequential Access Method IBM 198) Access Method IBM 198) données index + fichier organisés en B-TREE Inconvénients : gestion complexe des débordements réorganisation périodique des fichiers ayant débordés (utilitaires) méthode d'accés dépendante des caractéristiques physique du support (pistes, cylindres...) performances dégradées si débordement : d = nb articles en débordement/piste 1 lecture = (3 + d/2) E/S (équivalents E/S) 1 écriture = (2 + d/2 + 4 ) E/S index Fichier + index Fichier divisé + index en divisé aires en aires : aire : = aire {pistes = {pistes d'un d'un même cylindre ou ou cylindres cylindres contigus} contigus} aire divisée en intervalles : intervalle = {pistes ou partie de piste lue(s) en 1 E/S} aire divisée en intervalles : intervalle = {pistes ou partie de piste lue(s) en 1 E/S} zone index zone index zone données: intervalles zone données: intervalles une aire avantage / ISAM : organisation indépendante de la mémoire secondaire (notion d'aire) et intervalle et non cylindre et piste. une aire avantage / ISAM : organisation indépendante de la mémoire secondaire (notion d'aire) et intervalle et non cylindre et piste. Bernard ESPINASSE - - Rappels sur les fichiers (2) 8 Bernard ESPINASSE - Rappels sur les fichiers 41 Bernard ESPINASSE - Rappels sur les fichiers 42 Organisation VSAM Organisation VSAM Zone des données : lors de la première écriture les articles sont enregistrés, triés, de la place libre est laissée dans chaque intervalle et des intervalles libres laissés dans chaque aire pour insertions future d'articles, paramètres : % octets libres / intervalles = 25% % intervalles libres / aire = 25% : Index trié non dense index d'intervalle et index d'aire Organisation VSAM : détail zone index index d'intervalles de l'aire 0 index d'aires.0 11.1 13.2 13.1 30.2 53.1 de l'aire 1 de l'aire 2 3.0 4.1 53.2 20.0 30.1 si trop grand, index maitre (3 ième niveau) index d'intervalle (un par aire) : contient la plus gde clé de l'intervalle et son adresse index d'aires (un par fichier) : contient la plus grande clé de l'aire ainsi que son adresse. (si index d'aires trop grand, possibilité 3 niveaux : index maitre) Bernard ESPINASSE - Rappels sur les fichiers 43 Bernard ESPINASSE - Rappels sur les fichiers 44

Organisation VSAM Après première écriture : Inse r t ion a v e c r e s t r ucturation dans VSAM 1) restructuration d'intervalles 2) restructuration d'aires 1 5 9 15 31 33 40 43 1 5 9 10 31 33 40 43 20 3 4 11 3 4 22 2 51 53 1 5 9 10 31 33 40 43 12 13 51 53 30 13 3 4 aire 1 aire 2 (d'après G.Gardarin) 22 30 2 15 20 51 53 aire 1 aire 2 Insertion sans restructuration : aire 1 aire 2 (d'après G.Gardarin) 15 20 22 2 30 insertion de la valeur 10 dans le fichier 9 15 9 10 20 15 20 Nouvelle aire 3 Bernard ESPINASSE - Rappels sur les fichiers 45 Bernard ESPINASSE - Rappels sur les fichiers 46 Organisation VSAM Avantages : organisation indépendante de la mémoire secondaire (notions d'aire et intervalle) fichier données trié (facilité accés séquentiel trié et temps d'accés à un article) performance : lecture en moins de 3 E/S... Inconvénients : peu nombreux, écriture peut être longue si éclatement d'intervalles, ou pire d'aires, non régénération facile des index... Bernard ESPINASSE - Rappels sur les fichiers 4