Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
2
Supports de stockage
3
Fonctionnement d’un disque
4
Fonctionnement d’un disque
5
Fonctionnement d’un disque
6
Fichiers et méthodes d’organisation
◼ Une base de données au niveau physique
(stockage)=un ensemble de fichiers.
◼ La majorité des SGBD ont leur propre module
de gestion de fichiers.
◼ Un fichier est organisé en blocs (ou pages),
chaque bloc contient un certain nombre
d’enregistrements.
7
Fichiers et méthodes d’organisation
◼ L’organisation d’un fichier désigne la structure
utilisée pour stocker les enregistrements du
fichier.
◼ Une bonne organisation a pour but:
1. de limiter les ressources en espace et en temps
consacrés à la gestion des fichiers.
2. réaliser un bon compromis pour les quatre
principales opérations : insertion, recherche, mise à
jour et suppression.
8
Organisation séquentielle
◼ Les enregistrements sont stockés dans l’ordre d’insertion
et à la première place disponible.
◼ Le seul accès est le balayage séquentiel des
enregistrements.
◼ L’insertion d’un nouvel enregistrement s’effectue dans la
dernière page. Si cette dernière est saturée, alors une
nouvelle page est allouée et l’enregistrement est inséré.
◼ La suppression est assurée logiquement grâce à un
indicateur de suppression.
9
Organisation par hachage
◼ L’idée de base du hachage est d’organiser un ensemble
d’éléments d’après une clé. Cette organisation est basée
sur l’utilisation d’une fonction de calcul qui, appliquée à la
clé, détermine un numéro de paquet dans lequel est placé
l’enregistrement (un paquet contient un ensemble de
pages). La recherche de l’enregistrement se fait ensuite
séquentiellement dans le paquet.
10
Organisation par hachage
11
Organisation par hachage
Algorithme de recherche :
- entrée : valeur de clé c
- calcul h ( c ) : numéro du paquet
- consultation de la table des paquets pour récupérer l’adresse
de la première page du paquet
- rechercher dans cette page l’enregistrement ayant pour clé c
- si la clé existe, alors fin
- sinon passer à la page suivante, répéter l’opération jusqu’à la
fin du paquet
12
Organisation indexée
◼ Principe : associer à la clé d’un enregistrement son adresse
relative dans le fichier à l’aide de l’index.
◼ Les principales méthodes d’accès indexées se distinguent par
l’organisation de l’index.
◼ Etapes pour l’accès à un enregistrement:
✓ Accès à l’index qui est chargé en MC
✓ Recherche de la clé de l’enregistrement afin d’obtenir
l’adresse
✓ Accès à l’enregistrement (bloc) et transfert de la page en MC
✓ transfert de l’article dans la zone du programme utilisateur
13
Organisation indexée
◼ Plusieurs variantes d’organisation de l’index :
14
Organisation indexée
Index dense
1 8 10 12 13 20 21 30
Bloc 1
13
1
10
21
Bloc 2
8
30
12
20
15
Organisation indexée
Bloc 1
1
8
10
12
Bloc 2
13
20
21
30
16
Arbre B
◼ Algorithme de recherche :
- accès à l’index
- recherche dans l’index de la clé de l’enregistrement désiré,
- récupération dans l’index de l’adresse relative de
l’enregistrement (si index dense) ou de l’adresse relative du
bloc (si index non dense)
- conversion de l’adresse relative en adresse réelle
- accès à l’enregistrement ou au bloc
- transfert de l’enregistrement dans la zone du programme
utilisateur
17
Arbre B
◼ Les B-arbres sont des cas particuliers d’index hiérarchisés à
plusieurs niveaux.
◼ C’est la structure d’index la plus utilisée dans les SGBD
commercialisés.
◼ Une variante de l’arbre B: l’arbre B+
◼ Un arbre-B+ est un arbre équilibré ou balancé dans lequel
les chemins qui conduisent de la racine à une feuille
quelconque sont tous de même longueur.
18
Arbre B+
◼ Un paramètre n est associé à chaque index en arbre-B+ :
chaque nœud du arbre-B+ a au plus n clés et (n+1)
pointeurs (l’arbre est d’ordre n)
19
Arbre B+
◼ Sur une feuille, le dernier pointeur pointe vers la feuille
suivante sur la droite (frère droit).
20
Arbre B+
◼ Exemple: Arbre B+ d’ordre 3
21
Index Bitmap
◼ Un index bitmap considère toutes les valeurs possibles pour
un attribut, et pour chacune de ces valeurs, on stocke un
tableau de bits (dit bitmap) avec autant de bits qu’il y a de
lignes dans la table.
22
Index Bitmap
◼ Exemple :
Employé(NSS, Nom, Prénom, Situation_Fam)
On a 10 employés, les employés de rang 1, 4,5,6 et 8 sont
mariés, les employés de rang 2 et 3 sont célibataires, les
employés de rang 7 et 9 sont divorcés et enfin l’employé 10 est
veuf. 1 2 3 4 5 6 7 8 9 10
Marié 1 0 0 1 1 1 0 1 0 0
Célibataire 0 1 1 0 0 0 0 0 0 0
Divorcé 0 0 0 0 0 0 1 0 1 0
Veuf 0 0 0 0 0 0 0 0 0 1
23
Oracle: Vue d’ensemble
◼ Deux architectures possibles:
✓ client/serveur : des applications clientes envoient les requêtes SQL et
PL/SQL a un serveur.
✓ Multitier : des serveurs d'application allègent la charge du serveur en
réalisant certains accès pour les clients.
24
Oracle: Vue d’ensemble
◼ Instance Oracle = ensemble de processus + zone mémoire (SGA:
System Global Area)
➢ fichiers de contrôle
➢ fichiers de journalisation
25
Architecture d'un serveur de base de
données Oracle
Instance
PGA
Processus
serveur Structures mémoire
(mémoire SGA)
Serveur
Structures de processus
Processus
utilisateur
26
Oracle: la connexion
client/serveur
◼ Un processus utilisateur est crée quand un utilisateur lance une
application cliente
✓ Une connexion va être créée avec l'instance Oracle,
27
La structure mémoire d’oracle
◼ La SGA (System Global Area)
➢ Zone partagée par tous les utilisateurs de la base de données
28
La structure mémoire d’oracle
◼ La PGA (Program Global Area)
➢ Zone d’éxecution des processus du serveur
29
Les processus de fond serveur
◼ participent au fonctionnement du système de base de données
◼ DBWn (Database Writer) - Ecrit le contenu du cache de données dans
les fichiers de données
➢ Lorsque la place manque en SGA
30
Les processus de fond serveur
▪ CKPT (Chekpoint)
➢ Pour assurer la synchronisation et la cohérence des données
31
Architecture d’un Serveur
de Base de Données
32
Structure physique d’une BD
Oracle
◼ Des fichiers sur le disque
➢ fichiers de contrôle qui spécifient le nom et l'emplacement des
contrôle
➢ un fichier de paramètres (optionnel) qui stocke tous les
paramètres de la base
➢ des fichiers de trace pour répertorier toutes les tâches et erreurs
effectuées
33
Structure logique d’une BD
Oracle
◼ Des concepts pour gérer finement la mémoire
➢ le bloc de données est l'unité logique la plus fine (défini lors de la
34
Structure logique d’une BD Oracle
Structures logiques Structures physiques
Base de données
Tablespace Fichier de
données
Segment
Système de stockage
• SAN •NFS
Extent
• NAS •ASM
• Exadata •RAW
Bloc de
• Système de fichiers
données Oracle
35
Structure logique d’une BD
Oracle
◼ Les segments de données contiennent les enregistrements
des tables, avec un segment de ce type par table
◼ Les segments d’index contiennent les enregistrements des
index, il y a un segment par index
◼ Les segments temporaires sont utilisés pour stocker des
données pendant l’exécution des requêtes
◼ Les segments rollback contiennent les informations
permettant d’effectuer une reprise sur panne ou l’annulation
d’une transaction.
36
Stockage dans Oracle
◼ La structure d’un bloc Oracle est constituée de cinq parties :
1. L’entête (header) contient l’adresse du bloc et son type (donnée,
index, etc)
2. Le répertoire des tables donne la liste des tables pour lesquelles des
informations sont stockées dans le bloc.
3. Le répertoire des enregistrements contient les adresses des
enregistrements du bloc.
4. Un espace libre est laissé pour faciliter l’insertion de nouveaux
enregistrement ou l’agrandissement du bloc
5. L’espace des données contient les enregistrements
37
Stockage dans Oracle
◼ Le bloc est la plus petite unité de stockage géré par
Oracle. La taille d’un bloc est un multiple de la taille d’un
bloc du système d’exploitation.
38
Indexation dans Oracle
Un index:
39
Indexation dans Oracle
◼ L’index, organisé en arbre B+ en général, est
crée soit :
➢ Automatiquement sur les attributs sur lesquels
on définit une contrainte de clé primaire ou
d’unicité (Primary Key – Unique)
➢ Manuellement en utilisant la commande Create
index
40
Indexation dans Oracle
CREATE [UNIQUE] [BITMAP] INDEX index
ON table (col umn [, col umn...]);
◼ Index Bitmap :
42
Indexation dans Oracle
◼ table de hachage: en créant d’abord un
cluster puis on indique ce cluster au
moment de la création de la table :
CREATE CLUSTER HachEtudiant (Code Integer)
SIZE 100
HASHKEYS 500 ;
La clé de hachage est Code, Size spécifie la taille de chaque entrée
de la table de hachage et HASHKEYS spécifie le nombre d’entrées
dans la table de hachage.
◼ Quand n’est-il pas nécessaire de créer des index: (un index est
un objet couteux)
➢ Une table de taille réduite
44