Vous êtes sur la page 1sur 66

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

El ments dArchitecture des SGBDR e Application au SGBD Oracle


1/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

El ments dArchitecture des SGBDR e

2/263

Transparents tir s de : e
Gestion et Administration des Bases de Donn es. Application a Sybase e ` et Oracle. N. Boudjlida, Dunod, Collection Sciences Sup. Octobre 2003. Bases de donn es et syst` mes dinformations. Le mod` le e e e relationnel:langages, syst` mes et m thodes. e e N. Boudjlida, Dunod, Collection Sciences Sup. Septembre 1999.

Nacer Boudjlida http://www.loria.fr/ nacer


Universit Henri Poincar Nancy 1 e e FST, UFR STMIA (Avril 2006)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

El ments dArchitecture des SGBDR : Introduction e


3/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

1- R le/Fonctions dun SGBD o


4/263

1. Fonctions dun SGBD 2. Typologie des SGBD 3. Situation dans larchitecture des applications 4. Les langages des SGBD relationnels 5. Architecture des SGBD

1. 2. 3. 4. 5.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

4.

UHP Nancy 1, D partement Informatique e

2- Typologie des SGBD


5/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

3- Situation dans larchitecture des applications

6/263

Mod` le de repr sentation et de manipulation de donn es e e e SGBD

Classe de

1. Hi rarchique, R seau e e 2. Relationnel 3. A objets 5. Logique SGBDOO

CODASYL

SGBD Relationnel

Relationnel tendu e

Objet-Relationnel

SGBD D ductif e SGBD pour XML (?)

SGBD relationnels : El ments dArchitecture e

6. Non ou semi-tructur es e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

UHP Nancy 1, D partement Informatique e

3- Situation dans larchitecture des applications


7/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4- Langages Relationnels
Type Alg brique e Pr dicatifs e ` a) a variable n-uplet ` b) a variable domaine Fondement Th orie des ensembles e Logique du 1er ordre


8/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

` SQL dialecte fond sur lalg` bre et le calcul pr dicatif a variable e e e n-uplet

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

1. 2.

UHP Nancy 1, D partement Informatique e

4.1- Alg` bre relationnelle e


9/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4.1- Alg` bre relationnelle e

10/263

Caract ristiques : e

Op rande(s) : Relation(s) e R sultat : Relation e Op rateur : Op rateur du calcul relationnel e e


Ensemble minimal dop rateurs : e

SGBD relationnels : El ments dArchitecture e


3. 4. 5.

Remarque : Jointure ( =

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

UHP Nancy 1, D partement Informatique e

4.1- Alg` bre relationnelle e


11/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4.2- Syntaxe dun langage alg brique e


12/263

Si R est un nom de relation alors R est une expression alg brique (ea) e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` 4.3- De lalg` bre a SQL e


13/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

5- Architecture dun SGBD

14/263

SGBD relationnels : El ments dArchitecture e

En r alit , dans un SGBD : de SQL vers lalg` bre! e e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

UHP Nancy 1, D partement Informatique e

El ments dArchitecture des SGBDR : Sommaire e


15/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Chapitre II : El ments darchitecture du SGBD Oracle e


16/263

Chapitre 1 Introduction (p. 3) Chapitre 2 El ments darchitecture du SGBD Oracle (p. 16) e Chapitre 3 Organisation et stockage de donn es (p. 36) e Chapitre 4 Traitement des requ tes (p. 156) e Bibliographie (p. 262)

Sommaire :

1. Quelques concepts Oracle 2. El ments darchitecture du SGBD Oracle e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

I. Quelques concepts Oracle


17/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

I.1- Quelques concepts Oracle : Le dictionnaire

18/263

Serveur de donn es Oracle : Une base + une instance e Instance :

Vues USER xxx :

concernent les objets dun utilisateur accessibles par cet utilisateur Exemple : Vue USER TABLES = tables dun utilisateur

1. Processus darri` re-plan e 2. Zone Globale Syst` me (System Global Area, SGA) : tampons e donn es, journal partag s e e
Dictionnaire : Tables et Vues

Cr ees dans chaque base, dans lespace SYSTEM e Propri taire = sys, utilisateur privil gi e e e Non modiables (sauf la table sys.aud$ )

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Quelques concepts Oracle : Le dictionnaire


19/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Quelques concepts Oracle : Le dictionnaire


20/263

Vues ALL xxx :

Vues V$ xxx :

etendent les informations des vues USER par des informations sur les objets auxquels il a acc` s e Vue ALL TABLES : tables dun utilisateur + tables auxquelles il a acc` s e
Vues DBA xxx :

Tables de performance dynamiques Propri t de sys ee Concernent lactivit dune base e Vue V$DATAFILE : Information sur les chiers physiques dune base

Plus de colonnes que les autres Information sur les objets de tous les utilisateurs Vue DBA TABLES : toutes les tables dune base

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

Vue DICTIONARY : Liste des tables et des vues du dictionnaire DESCRIBE NomDeTable ou NomDeVue : liste des colonnes

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

II.2- Composants dune base Oracle


21/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

e II.3- Oracle : el ments dorganisation de donn es et de stockage e

22/263

Control le : un (au moins) par base

nom, date de cr ation, localisation des espaces e consult a chaque lancement (startup) e` ` mis a jour automatiquement si modication des caract ristiques de e la base (ajout/suppression despaces, . . . )
Init le : Param` tres dinitialisation de la base e Transactions et journalisation :

Espace de table (tablespace) : ensemble dunit s logiques de stockage e des objets dune base Base : d coup e en une ou plusieurs tablespaces e e Tablespace : contenu rang dans un plusieurs chiers de donn es e e (Datale)

` Un chier physique : associ a une seule tablespace et a une seule base e`


Note : Datale naccueille pas exclusivement des donn es e

1. Images avant : segments/chiers dannulation (rollback segments/undo tablespaces) 2. Images apr` s : journaux de r ex cution (redo log les) e e e

Espaces de stockage (donn es, index, etc.). e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : organisation et stockage


23/263

Espaces physiques persistants (disque) structur s en : e

Pages (ou blocs) = unit (par d faut) de lecture/ criture physique e e e extents : nombre d termin de blocs contigus e e segments : ensemble dextents non n cessairement contigus e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : organisation et stockage


24/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

II.3- Concepts Oracle : Les processus Oracle


25/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Les processus Oracle

26/263

Processus utilisateurs et processus Oracle

2. Processus Oracle : (a) un processus serveur (b) un ensemble de processus darri` re-plan (background processes) e
Note : Net8 = interface propri taire avec les protocoles standard de e communication sur un r seau e

1. Processus utilisateurs
Cr es pour ex cuter le code dun outil Oracle (comme Oracle e e Enterprise Manager) ou dun programme dapplication (comme un programme Pro*C/C++) G` rent la communication avec les processus serveur gr ce a e a ` linterface de programme (program interface) :

m canismes de formattage et de transmission de donn es e e m canismes de conversion de donn es (cas machines e e h t rog` nes) ee e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Processus serveur Oracle


27/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Processus arri` re-plan e


28/263

cr e pour g rer les demandes dactions des utilisateurs e e charg s de la communication avec le processus utilisateur et de e linteraction avec Oracle Si conguration de type serveur d di : un processus serveur ne g` re e e e que les demandes dun seul processus utilisateur Si conguration multit ches (multithreaded) : plusieurs processus a utilisateurs partagent un nombre restreint de processus serveurs.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : Processus arri` re-plan e


29/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : Processus arri` re-plan e

30/263

Ex cution asynchrone des op rations dentr es/sorties et de contr le e e e o dautres processus Oracle Principaux processus :

3. CKPT : informe le DBW de larriv e dun point de contr le e o (checkpoint)

1. DBW (Database Writer ) Charg des ecritures physiques e


Un par d faut (DBW0). e Sinon i,

4. SMON (System Monitor) r alise (entre autres) : e


la reprise (recovery), lors de la relance dune instance (startup) ; ) le nettoyage des segments dannulation (rollback segments) qui ne sont plus utilis s ; e

ou

db writer processes : param` tre dinitialisation dune base e dans les chiers Redo Log

2. LGWR (Log Writer) : ecriture dans leurs miroirs eventuels

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : Processus arri` re-plan e


31/263

le compactage despaces physiques (extents) dans les espaces de donn es (tablespace) g r s par le dictionnaire e ee (Dictionary-Managed Tablespace)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : Processus arri` re-plan e


32/263

5. PMON (Process Monitor) : charg de e


Reprise en cas d chec dun processus utilisateur, e Nettoyage de sa m moire cache e Lib ration de ses ressources e Si n cessaire : relance des processus dispatcher et serveur. e

7. RECO :
R soudre les transactions distribu es en suspens du fait de e e probl` mes r seau ou syst` me e e e

` R p tition de tentatives de connexion a la base pour annuler ou e e valider

6. ARC :
Archivage du journal si base en mode archivelog et archivage automatique autoris (cf. chapitre S curit ) e e e Si la charge du serveur le n cessite, cr ation dynamique dARC e e ou log archive max processes : param` tre dynamique e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

8. LCK0 : en charge du verrouillage inter-instances dans Oracle parallel server, celui-ci permettant lacc` s simultan a une base par plusieurs e e` instances.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

II.4- Concepts Oracle : M moires cache e


33/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Oracle : encore et encore

34/263

Structures m moire dune instance Oracle incluent : e

Cr ation de bases de donn es (Bon courage!) e e Gestion des utilisateurs Concurrence et reprise S curit par duplication (multiplexage) e e Surveillance (audit) Traitement des requ tes e

1. Zone globale syst` me (SGA) e 2. Zones globales de programmes (Program Global Area, PGA) ou de processus (serveur et arri` re-plan) e 3. Zones m moire partageables pour code ex cutable : e e (a) code de linstance Oracle (b) code utilisateur 4. Zones de tri, etc.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e


35/263

Extensions objets Bases de donn es r parties e e etc.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Chapitre III : Organisation et stockage des donn es e


36/263

Contenu du chapitre :

1. Organisation et stockage des donn es (p. 37) e 2. Organisation et stockage des index (p. 65) ` 3. Application a Oracle (p. 85)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

I- Organisation et Stockage des donn es e


37/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation et Stockage des donn es e

38/263

Comprendre :

80% de lam lioration des performances obtenus par des lectures e

1. Stockage et acc` s sans index e 2. Index : Organisation, structuration, acc` s e


Pour savoir :

Sans index : parcours de toute la table (i.e. parcours de toutes les pages contenant des tuples de la table) Possiblit destimer a priori le nombre dE/S pour des e ou des

1. G rer les espaces ; e ` 2. Forme a donner aux requ tes pour maximiser lutilisation des e index ? 3. Utiliser les outils du serveur pour examiner les choix de son optimiseur.

Selon lexistence ou non dindex et leur type, loptimiseur d cide : e

1. Table Scan : Lecture de toutes les pages

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation et Stockage des donn es : Sommaire e


39/263

2. Index Access : Lecture via les index

3. Index Covering : Valeurs aux feuilles sufsent pour satisfaire la requ te e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

1. Organisation et stockage : pages et extents


40/263

1. Organisation en pages 2. Repr sentation des tuples e 3. Cas des objets longs : texte et image 4. Organisation en tas (heap) 5. La m moire cache e

Hypoth` se : donn es organis es et stock es en vrac (en tas ou heap) e e e e Espace (donn es, index, log) : blocs (pages) de m me taille e e Page : Unit de lecture/ criture physique e e Lecture/ criture via des tampons (cache) du syst` me e e Lecture/Ecriture logique : Lecture/ criture dans les pages des tampons e D faut de page : Absence dune page dans le cache e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

Extent :

Nombre, xe ou variable, de pages contigu s e ` Attribu g n ralement a un seul objet e e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation et stockage en pages


41/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Structure g n rale des pages e e

42/263

1. En-t te : e
Identication de lobjet contenu dans la page Chanage page suivante, page pr c dente de lobjet, etc. ; e e

2. Corps : Valeurs des tuples ; 3. Table des d placements : e


Localisation des tuples dans la page Sybase : en n de page Oracle : En d but de page e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Structure g n rale des pages e e


43/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation et Stockage des donn es : Sommaire e


44/263

1. Organisation en pages 2. Repr sentation des tuples e 3. Cas des objets longs : texte et image 4. Organisation en tas (heap) 5. La m moires cache e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

2. Repr sentation des tuples dans les pages e


45/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

3. Stockage des objets de grande taille

46/263

En-t te : e

identication du tuple, ` nombre de colonnes a valeurs inconnues (NULL) nombre de colonnes de longueur variable, etc.)
Valeur effective du tuple :

Colonnes de type ordinaire Pointeurs vers les valeurs des objets longs

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation et Stockage des donn es : Sommaire e


47/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4. Organisation en tas (heap)


48/263

1. Organisation en pages 2. Repr sentation des tuples e 3. Cas des objets longs : texte et image 4. Organisation en tas (heap) 5. La m moires cache e

Comportement :

1. Recherche, 2. Insertion, 3. Suppression, 4. Modication de tuples.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4.1- Organisation en tas et recherche de tuples


49/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4.2- Organisation en tas et insertion

50/263

Recherche de tuples de R Adresse de la premi` re page contenant R : dans une des tables de la e m ta-base e Parcours des pages de R
p0 Adresse de la 1re page contenant R p1 t1 p2 t2 p3 Symbole de fin de chane

Dans la derni` re page de la relation, si espace disponible e Sinon, dans une page vide de lextent courant Si extent satur : e

Allocation dun nouveau Insertion dans sa premi` re page e


Note : Adresse de la derni` re page e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

4.3- Organisation en tas et suppression


51/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation en tas et suppression


52/263

Localisation du tuple Effacement D calage des tuples (effet gruy` re) e e

` Mise a jour des d placements des tuples e


Cas page vide apr` s suppression ? e Cas extent vide apr` s suppression ? e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

2.

UHP Nancy 1, D partement Informatique e

` 4.4- Organisation en tas et mise a jour


53/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` Organisation en tas et mise a jour

54/263

Parcours des pages ; Cas taille du tuple modi : e

1. = taille(ancien) : Modication du tuple ; taille(ancien) : (a) Modication du tuple et d calage vers le haut ; e (b) Modication des pointeurs de tuples.

SGBD relationnels : El ments dArchitecture e

3.

taille(ancien) et place disponible dans la page : cf. cas 2, mais avec d calage vers le bas ; e

4. Sinon (Migration de tuple) (a) Suppression du tuple de la page ; (b) Insertion dans la derni` re page du tas. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

UHP Nancy 1, D partement Informatique e

` Organisation en tas et mise a jour


55/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation en tas : Conclusion


56/263

G rer au mieux les migrations de tuples e Contr le du remplissage (densit ) des pages o e

Quand utiliser des tas ?

Petites relations utilisant peu de pages ; ` Pas dacc` s direct a un tuple ; e Pas dordre sur les ensembles r sultats ; e Relation ayant des tuples non uniques + ce qui pr c` de ; e e Relations avec peu de modications et dinsertions.

Sybase : max rows per page Oracle : PCTUSED, PCTFREE

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

Maintenance p riodique e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Organisation et Stockage des donn es : Sommaire e


57/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

5. Gestion de la m moire cache e

58/263

1. Organisation en pages 2. Repr sentation des tuples e 3. Cas des objets longs : texte et image 4. Organisation en tas (heap) 5. La m moire cache e

m moire pagin e dans les syst` mes dexploitation e e e Recherche dune donn e e

1. Dans une page du cache ? 2. Si absente (d faut de page) : page la contenant e cache

3. Si toutes les pages du cache sont occup es: en vider une e ` Strat gies de choix de la page du cache a remplacer (` vider) : e a

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Strat gies de caching e


59/263

1. Derni` re page utilis e (Most Recently Used, MRU) e e

2. La moins r cemment utilis e (Less Recently Used, LRU) e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

1- Strat gie LRU de remplacement de pages e


60/263

Cache g r comme une chane de buffers Most Recently Used/Less RU ee

Lecture s quentielle de pages en t te de la chane MRU e e

Age dun buffer : MRU

LRU

Pousser eventuellement des pages vers la LRU Quand une page modi e passe le wash marker : ecriture e
Si nouveau besoin/acc` s a cette page : la remettre en t te de MRU. e ` e

Quand des pages modi es atteignent un point dans la chane (wash e marker) : Ecriture asynchrone de la page [ou checkpoint] par le serveur (i.e. quand une page arrive en n de chane, elle est propre et peut alors etre r -utilis e) e e Strat gies de remplacement de pages : e

1. LRU 2. MRU (fetch and discard)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

1- Strat gie LRU de remplacement de pages e


61/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

1- Strat gie LRU de remplacement de pages (n) e

62/263

Recherche dune page p et

p non modi e et p cache : p e p modi e et p cache : p en t te MRU e e p e cache : lecture disque (1 buffer) en t te de MRU.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

2- Strat gie MRU de remplacement de pages e


63/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Chapitre III : Organisation et stockage des donn es e


64/263

Pages mises juste avant le wash marker Si p cache : mettre p avant le marqueur Sinon :

1. Organisation et stockage des donn es (p. 37) e 2. Organisation et stockage des index (p. 65) ` 3. Application a Oracle (p. 85)

1. Lire p 2. Mettre avant le marqueur

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

II- Organisation et stockage des index


65/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index

66/263

Localisation des tuples

1/4) Index dense


Une entr e dans lindex par valeur de la cl e e Entr e : e

Parcours s quentiel de linstance dune relation e Directement via des index.


Index : structure de donn es associant e

o` u

: valeur dune cl dindex e : t te dune liste dadresses de tuples e


Si Cl dindex = cl de la relation : pas de chanage e e

valeur dun attribut ou une liste dattributs (cl de lindex) e et adresses des tuples contenant cette valeur

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index : Index dense


67/263

Rangement des tuples pas n cessairement contigu e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index


68/263

2/4) Index creux


Moins dentr es que de valeurs de la cl e e Entr e : e

o` u

: valeur dune cl dindex e : t te dune liste dadresses de tuples t.q. e


c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index : Index Creux


Donnes K <= 5 Index 5 12 5<K<=12 1 3 7 1 12 7 5 1


69/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index

70/263

3/4) Index primaire


D ni sur une cl primaire de relation e e Valeurs ordonn es dans la relation e Ordre logique = ordre physique.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index : Index Primaire


71/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index


72/263

4/4) Index secondaire Construit sur un attribut dont les valeurs devraient etre ordonn es. e
Mais relation d j` ordonn e sur sa cl primaire ea e e ordre logique

ordre physique

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Typologie des index : Index secondaire


1 2 3 7 8 10 A 3 D 7 F 1 L 2 M 10 R 8 10 20 30 70 80 90 A D F K L M R T 30 70 10 20 30 10 90 80


73/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index e

74/263

Arbres equilibr s (Balanced trees, B-arbres) e ` Feuilles toujours a egale distance de la racine 1. Arbres 2. B-arbres

Cl primaire - Index secondaire sur cl -

Cl primaire - Index sur attribut non-cl -

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index : (1) Arbres e


75/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index : (1) Arbres e


76/263

Chaque nud a entre et x pour un arbre donn e e Nud feuille :

nuds ls

Recherche

Recherche par dichotomie longueur du chemin de la racine jusquaux feuilles e etant le nombre de valeurs de la cl

au plus valeurs et pointeurs Pas moins de

valeurs

Dernier pointeur : Entre

feuille suivante

Nud racine et Nuds internes :

et pointeurs
: cl s , e

Premier Pointeur : cl s e

Dernier pointeur

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index : (1) Arbres e


77/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index : (1) Arbres e

et mise a jour `

78/263

Exemple :

Efcacit en recherche e

` Activit suppl mentaire en mise a jour : e e Maintenir la propri t B ee Garantir la structure des nuds

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Arbres

et mise a jour : avant `


79/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Arbres

apr` s insertion e


80/263

cf. exemple de la page 77

Ajout dun tuple de cl C e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Arbres

apr` s suppression e


81/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index : (2) e

-arbres

82/263

Suppression de la valeur P (sur larbre de la page 77)

Similaires aux arbres

Diff rence : toutes les cl s de lindex napparaissent pas aux feuilles e e Nombre de nuds du B-arbre

ceux du

Ajout de pointeurs dans les nuds non-feuilles pour les valeurs de la cl de lindex qui napparaissent pas aux feuilles e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Repr sentation des index : (2) e

-arbres


83/263

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Chapitre III : Organisation et stockage des donn es e


84/263

` Exemple Correspondant a lexemple darbre

, page 80

Contenu du chapitre :

1. Organisation et stockage des donn es (p. 37) e 2. Organisation et stockage des index (p. 65) ` 3. Application a Oracle (p. 85)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` Organisation et stockage : Application a Oracle


85/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` Application a Oracle : Types de tables

86/263

1. (Quelques) Objets logiques (schema objects) (a) Types de tables (b) Types dindex 2. Organisation et stockage

1. Tables classiques (create table)

2. Tables objets (create . . . as object)

3. Tables organis es en index (create table . . . index organized) e

4. Tables partitionn es (create table . . . partition) e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` Application a Oracle : Types dindex


87/263

5. Groupement de tables (cluster).

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` Application a Oracle : Types dindex


88/263

Cl dun index : au plus 32 colonnes ; e Recommandation : cr er et instancier les tables avant les index ; e Option on line :

Index automatiquement cr e sur attributs UNIQUE ou PRIMARY KEY : e

Allouer un espace sufsant pour les tables ; Suppression des contraintes


5 types dindex :

Suppression des index.

create index . . . on line ; alter index . . . rebuild on line ; Cr ation ou reconstruction sans interdire lacc` s a la table ; e e ` Commandes de manipulation de donn es autoris es ; e e Commandes de d nition de donn es interdites e e Mais eviter de manipuler une grande partie de la table pendant la cr ation ou la reconstruction de lindex. e

1. Ordinaires (create index) 2. Matrices de positions binaires (create bitmap index)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

3. Bas s sur des fonctions (create index . . . on Fonction) e ` 4. Sp ciques a un domaine dapplication (cf. Oracle Data Cartridge e Interface) 5. Partitionn s (create index . . . partition) e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

` Application a Oracle : Organisation et stockage physique


89/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Application au SGBD Oracle (rappels)

90/263

Espace de tables (tablespace) : ensemble dunit s logiques de stockage e des objets dune base Base : d coup e en une ou plusieurs tablespaces e e Tablespace : contenu rang dans un plusieurs chiers de donn es e e (Datale)

Outre les datales, une base est dot e : e

dun chier de param` tres de conguration (control le) e dun chier de param` tres dinitialisation (init.ora) e de chiers de journalisation des transactions (redo log les, rollback segments/undo tablespaces)
Espaces physiques persistants (disque) structur s en : e

` Un chier physique : associ a une seule tablespace et a une seule base e`


Note : Datale naccueille pas exclusivement des donn es e

Pages (blocs) : unit de lecture/ criture physique e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Application au SGBD Oracle


91/263

extents : nombre d termin de blocs contigus e e segments : ensemble dextents non n cessairement contigus e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

1. Introduction aux tablespaces


92/263

La suite :

Tablespace SYSTEM

1. Quelques notions sur les tablespaces pour comprendre la gestion des blocs, des extents et des segments Compl ments dans le chapitre Bases de donn es et leurs objets e e 2. Gestion des blocs et des extents 3. Gestion des segments 4. Gestion des espaces physiques non persistants (cache)

automatiquement cr ee lors de la cr ation de chaque base e e contient, dans son premier datale :
dictionnaire de la base unit s de programmes stock s (proc dures, fonctions, paquetages e e e et triggers)

peut sufre pour une base de petite taille

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

MAIS, (recommand ) cr er des tablespaces pour e e

contr ler le placement des objets o affecter des ressources aux utilisateurs

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Introduction aux tablespaces


93/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Modes de gestion des tablespaces

94/263

Exemples de tablespaces d di s a : e e `

Espace des tablespaces d coup en blocs e e Blocs group s en extents e Extents (libres/occup s) g r s e ee

Images avant modication (undo tablespaces) Stockage exclusif des donn es ou des index e Tables des outils du syst` me e Espaces temporaires (pour les tris, par exemple)
Dur e de vie dune tablespace : cr ation (create tablespace) e e suppression

` 1. a laide du dictionnaire (dictionary-managed) ` 2. localement a la tablespace (locally-managed)


Mode de gestion (dictionary/locally)

explicite (drop tablespace) implicite : tablespace temporaire ( n de session de cr ation) e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Modes de gestion des tablespaces


95/263

choisi lors de la cr ation (create tablespace. . . extent management e dictionary ou local)

non modiable

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Modes de gestion des tablespaces


96/263

1. dictionary-managed : Mode par d faut e


Gestion dune liste des extents libres dans des tables du dictionnaire Journalisation des modications de celles-ci

Modes de gestion egalement applicables aux tablespaces temporaires create tablespace Nom-de-la-tablespace temporary . . . : tablespace temporaire avec gestion par dictionnaire create temporary tablespace . . . temple . . . : avec gestion locale.

2. locally managed :
Sur les versions

version 8.0

Matrice de positions binaires (bitmap) par datale de la tablespace

` Matrice mise a jour, sans journalisation, lors de chaque allocation ou lib ration dextent e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Tablespace : Exemples


97/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Statuts et etats dune tablespace

98/263

Tablespace Espace1 : deux chiers physiques (datales) Tablespaces Espace2 et EspaceTemp : un seul espace physique

1. Temporaire/permanente : changement par : alter tablespace . . . temporary/permanent 2. Accessible (online)/Inacessible (ofine) : alter tablespace Nom online/ofine
Pas de mise hors ligne de SYSTEM Pas de mise hors ligne de tablespaces contenant des segments dannulation (rollback segments) en cours dutilisation

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

Etats et statuts dune tablespace


99/263

Mise en/hors ligne s lective de datales : e alter database . . . datale . . . online/ofine

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

100/263

Etats et statuts dune tablespace : Exemples

3. Lecture seule (read only) :


Par d faut, tablespace en lecture/ criture e e Mise en lecture seule provisoire ou d nitive e

alter tablespace . . . read only ` Changement d tat effectif a lissue des transactions actives e Seules les op rations de consultation et de suppression dobjets e (index, tables) restent autoris es. e
Dans dba tablespaces : informations sur toutes les tablespaces Dans user tablespaces : sur celles accessibles par un utilisateur.

alter tablespace Espace2 ofine temporary; create tablespace Espace3 datale D:Fichier3.dat size 30M ofine; alter tablespace Espace3 read only; alter tablespace Espace3 online;
Mise hors ligne temporaire de lespace Espace2

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

Cr ation Espace3 hors ligne puis mise en lecture seule puis remise en e ligne

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

101/263

Application au SGBD Oracle

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

102/263

2. Blocs Oracle

1. Notions sur les tablespaces 2. Gestion des blocs 3. Gestion des extents 4. Gestion des segments 5. Gestion des espaces physiques non persistants (cache)

Taille multiple de la taille des blocs du syst` me h te e o Structure :

1. Descripteur 2. Contenu

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

103/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

104/263

Blocs Oracle : Structure

Blocs Oracle : Descripteur (overhead)

En-tte de page Rpertoire dobjets Dplacement de tuples Espace libre

` 84 a 120 octets

"Overhead"

1. En-t te : adresse, type du segment dappartenance, etc. e 2. R pertoire de tables : informations sur les objets contenus dans le bloc e 3. Table des d placements des tuples : e
2 octets par entr e e

Espace occup

Entr es non lib r es lors de la suppression de tuples e ee R -utilisables lors dinsertions dans le bloc e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

105/263

Blocs Oracle : Contenu

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

106/263

Gestion et contr le du remplissage dun bloc o

Espace occup : crot de bas en haut e Espace libre : peut parfois contenir des informations sur des transactions

Param` tres de stockage : Contr ler le remplissage de blocs de tables, e o groupements de tables (cluster) et index ayant leurs propres segments de stockage :

information stock e dans des transaction entries e Une entr e par op ration insert, update, delete, select for update e e environ 230 octets/entr e e
Param` tres de stockage INITRANS et MAXTRANS : e

1. PCTFREE : pourcentage minimum despace libre dans un bloc 2. PCTUSED : pourcentage maximum pouvant etre occup e
Sp ci s lors de la cr ation ou de la modication dune table, dun e e e cluster ou dun index (create/alter table, cluster ou index) Si taux de remplissage dun bloc

Nombre initial et nombre maximum de transactions concurrentes sur le bloc ; Index, tables et des groupements de tables (cluster).

PCTFREE :

Insertions interdites dans le bloc ; Reprise des insertions si taux de remplissage ` a PCTUSED.

Suppressions et modications autoris es ; e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

107/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

108/263

PCTFREE, PCTUSED : Exemple

PCTFREE, PCTUSED : Exemple

PCTFREE = 30% et PCTUSED = 50% :

1. Insertions autoris es dans le bloc jusqu` ce quil ny reste que 30% e a despace libre ; ` 2. Seules les mises a jour sont alors autoris es dans le bloc ; e 3. Insertions de nouveau permises lorsque le taux doccupation du bloc descend au-dessous de 50%.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

109/263

Gestion et contr le du remplissage dun bloc o

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

110/263

Application au SGBD Oracle

Si taille dun tuple capacit dun bloc (par exemple, types LONG et e LONG RAW) : Rangement dans une chane de blocs.

1. Notions sur les tablespaces


Compl ments dans le chapitre Bases de donn es et leurs objets e e

Pas de compactage (i.e. elimination effet gruy` re, coalesce) e syst matique du bloc apr` s lib ration de place ; e e e
Compactage lorsque, pour une insertion ou une modication :

2. Gestion des blocs 3. Gestion des extents 4. Gestion des segments 5. Gestion des caches

1. espace contigu insufsant ; 2. mais somme despaces non contigus sufsante.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

111/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

112/263

3. Extents Oracle

Extents Oracle : Param` tres de stockage e

Extent =

Sans param` tres de stockage explicites : e

Groupe de blocs contigus, Unit dallocation despace pour un objet dans un segment, e
Segment :

` Allocation dun extent (initial extent) a la cr ation dun objet ; e Quand satur : allocation dun nouveau (increment). e
Param` tres de stockage : e

Un ou plusieurs extents ; Bloc den-t te dun segment : r pertoire des extents. e e ` Formattage des extents : au fur et a mesure des besoins
Forcer le formattage d` s lallocation : clause ALLOCATE EXTENT e dans alter table (administrateur).

Taille et nombre dextents pour un objet ; Par d faut : param` tres de la tablespace du segment. e e 1. Cas des tablespaces g r es localement ee

2. Cas des tablespaces g r es par le dictionnaire ee

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

113/263

Modes de gestion des tablespaces : Rappel

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

114/263

Modes de gestion des tablespaces : Rappel

Espace des tablespaces est d coup en blocs e e Blocs group s en extents e Extents g r s ee

1. Par d faut : dictionary-managed e


Gestion dune liste des extents libres dans des tables du dictionnaire avec journalisation des modications de ces tables

` 1. a laide du dictionnaire (dictionary-managed) ` 2. localement a la tablespace (locally-managed)


Mode de gestion

2. Mode de gestion dit local :


Sur les versions

version 8.0

Matrice de positions binaires (bitmap) par datale de la tablespace

choisi lors de la cr ation (create tablespace. . . extent management e dictionary ou local)

` Matrice mise a jour, sans journalisation, lors de chaque allocation ou lib ration dextent e

non modiable

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

115/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

116/263

a) Param` tres de stockage et gestion locale de tablespaces e

a) Param` tres de stockage et gestion locale de tablespaces e

Extents allou s dans le premier chier (datale) de la tablespace ayant e le nombre requis de blocs libres contigus Localisation des blocs libres : Matrices doccupation des datales. Taille dun extent :

Choix de la taille dun extent :

Arguments UNIFORM ou AUTOALLOCATE de create tablespace UNIFORM : Taille xe (celle sp ci e ou 1MO par d faut) e e e AUTOALLOCATE (option par d faut) e

Fixe ou variable D termin e par le syst` me. e e e

Taille extent : choisie par syst` me e Taille minimum : 64KO Valeur par d faut pour les tablespaces permanentes : 64KO e Possibilit de sp cier la taille de lextent initial. e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

117/263

Param` tres de stockage et extents : exemple e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

118/263

Param` tres de stockage et extents : exemple e

create tablespace T1 datale F:DataFichier2T1.dat size 5 M extent management local uniform size 128K; create tablespace T2 datale D:DataFichier2T2.dat size 2M extent management local uniform;
T1 : tablespace : 5M; extents : 128K T2 : tablespace : 2M; extents : 64K, minimum

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

119/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

120/263

b) Param` tres de stockage et gestion par le dictionnaire e

b) Stockage et gestion par le dictionnaire : exemple

Clause de stockage de la tablespace :

Table avec au plus 30 extents, Extent initial : 100K Deuxi` me extent : 50K e Pourcentage de croissance des suivants : 5 Troisi` me extent : e

sp cication de la taille de lextent initial, de lincr ment, des e e suivants, etc. ` sapplique a la plupart des objets logiques ou physiques dune base (clusters, tables, rollback segments, partitions, etc.).
(Quelques) Arguments de la clause de stockage :

INITIAL, NEXT, PCTINCREASE, MINEXTENTS, MAXEXTENTS, BUFFER POOL.

Taille th orique : (50 + (50*5/100)) =52.5K e Si blocs de 4K : allocation de 13 blocs (52K = plus proche multiple de la taille des blocs).

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

121/263

b) Stockage et gestion par le dictionnaire : exemple

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

122/263

b) Param` tres de stockage et gestion par le dictionnaire e

1. INITIAL xK ou yM :
Taille du premier extent (xKO ou yMO) ; Allou a un objet d` s la cr ation de sa d nition (ou sch ma) ; e` e e e e Valeur par d faut : 5*taille dun bloc ; e

Allocations de blocs : pour eviter la fragmentation des espaces : (a) Allocation de

blocs,

SGBD relationnels : El ments dArchitecture e

si taille t (xK ou yM) multiple de la taille des blocs et si t requiert moins de cinq blocs.

(b) Allocation du plus petit multiple de cinq blocs satisfaisant la demande si nombre de blocs requis par t 5.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

UHP Nancy 1, D partement Informatique e

123/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

124/263

b) Param` tres de stockage et gestion par le dictionnaire e

b) Param` tres de stockage et gestion par le dictionnaire e

2. NEXT xK ou yM :
= Taille du deuxi` me extent ; e Minimum = Taille dun bloc ; Valeur par d faut = 5*taille dun bloc. e

` 4. MINEXTENTS : nombre minimum dextents a allouer sur un segment lors de sa cr ation ; e ` 5. MAXEXTENTS : nombre maximum dextents allouables a un segment ; 6. BUFFER POOL : ` Affecter un cache par d faut a un objet autre quune tablespace ou e quun segment dannulation
cf. Gestion des caches

3. PCTINCREASE :
= Pourcentage daugmentation de la taille des extents allou s apr` s e e le deuxi` me extent. e Taille dun extent ,

` arrondi a la taille du plus proche multiple de la taille des blocs.


Par d faut, PCTINCREASE = 50%. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

125/263

b) Stockage et gestion par le dictionnaire (suite)

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

126/263

b) Stockage et gestion par le dictionnaire

Rappel : 1er extent allou d` s la cr ation de la d nition dun objet : e e e e Allocation des autres extents :

Note : compactages p riodiques par le processus darri` re-plan SMON. e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

127/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

128/263

Gestion des extents (n) : Lib ration e

Application au SGBD Oracle

G n ralement pas de lib ration physique avant suppression de lobjet e e e contenu Lib ration logique : marquage e

1. Notions sur les tablespaces


Compl ments dans le chapitre Bases de donn es et leurs objets e e

2. Gestion des blocs 3. Gestion des extents 4. Gestion des segments 5. Gestion des caches

dans la matrice doccupation ou dans les tables du dictionnaire


Forcer la lib ration des extents marqu s libres (administrateur) : e e

option deallocate unused dans alter table, alter index ou alter cluster.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

129/263

4. Segments Oracle

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

130/263

Oracle : Exemple des segments temporaires

Blocs des extents : contigus, Extents dun segment : pas n cessairement contigus e Allocation dun segment :

= Espaces disque Utilis s lors de lanalyse et de lex cution de requ tes e e e

create index, select distinct avec/sans order by et/ou group by avec , , de jointures sans index.
Utilisables pour des index construits pour des tables temporaires

` a un objet de la base, dans une tablespace eventuellement dans des chiers physiques diff rents. e
Quelques types de segments :

1. Donn es e 2. Index 3. Annulation 4. Temporaires

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

131/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

132/263

Oracle : Segments temporaires

Application au SGBD Oracle

0 segment requis si un tri est r alisable : e

1. Notions sur les tablespaces


Compl ments dans le chapitre Bases de donn es et leurs objets e e

en m moire vive (cf. gestion des caches) e ou en nutilisant que les index
2 segments parfois pour des requ tes avec order by, distinct et group by e Localisation par d faut : tablespace SYSTEM e Segments dans tablespaces temporaires : create temporary tablespace Association utilisateur-espace temporaire :

2. Gestion des blocs 3. Gestion des extents 4. Gestion des segments 5. Gestion des caches

create ou alter user . . . temporary tablespace NomEspace cf. chapitre gestion des utilisateurs

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

133/263

5. M moires cache Oracle e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

134/263

5. M moires cache Oracle e

Structures m moire dune instance Oracle incluent : e

Plan :

1. Zone globale syst` me (SGA, cf. chapitre installation) e 2. Zones globales de programmes (Program Global Area, PGA) ou de processus (serveur et arri` re-plan) e 3. Zones m moire partageables pour code ex cutable : e e (a) code de linstance Oracle (b) code utilisateur 4. Zones de tri, etc.

1. SGA (a) Taille (b) Cache de donn es e (c) Cache du log 2. PGA 3. Zones de tri

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

135/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

136/263

5.1.1 M moires cache : Taille de la SGA e

5.1.1 M moires cache : Taille de la SGA e

D termin e lors du lancement dune instance Oracle e e Afch e lors du lancement de Oracle Enterprise Manager e

Pour de bonnes performances :

Peut etre obtenue par SHOW SGA (sous SQL*Plus) : SQL> show sga; Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers 73701404 75804 56770560 16777216 77824 bytes bytes bytes bytes bytes

M moire vive de la machine du serveur doit etre sufsante pour e accueillir la totalit de la SGA e Sinon risque de des performances (combinaison gestion m moire Oracle-gestion m moire syst` me h te) e e e o
Quelques param` tres dinitialisation de la base inuant sur la taille : e

1. db block size : taille dun bloc (en octets) ; 2. db block buffers : nombre de tampons allou s a la SGA ; e ` 3. log buffer : nombre doctets du tampon redo log ; 4. shared pool size : nombre doctets des zones partag es SQL et e PL/SQL.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

137/263

5. M moires cache Oracle e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

138/263

5.1.2 M moires cache : cache de donn es e e

Plan :

Taille fonction de :

1. SGA (a) Taille (b) Cache de donn es e (c) Cache du log 2. PGA 3. Zones de tri

db block size (g n ralement 2 ou 4KO) e e db block buffers.


Comporte :

1. write list : liste des blocs modi s en attente d criture physique ; e e 2. liste LRU (Least Recently Used) : blocs libres, blocs modi s non encore transf r s vers la write list e ee blocs en cours dutilisation (pinned blocks).

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

139/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

140/263

5.1.2 M moires cache : cache de donn es e e

5.1.2 Cache de donn es : Remplacement de blocs e

Recherche dun bloc libre dans le cache :

Par d faut, parcours dune table en fetch and discard e Contr le de la strat gie : o e

1. clause CACHE NOCACHE de create ou alter table ou index 2. Utilisation de pools de blocs : (a) Congurer les pools (b) Associer/affecter objets aux pools

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

141/263

5.1.2.a) Conguration de pools de blocs de donn es e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

142/263

5.1.2.b) Association pools-objets

Pool = 1, n ensembles de buffers 3 types de pools : KEEP, REUSE et DEFAULT

Objets : tables, clusters, index, partitions Type de pool

Strat gie de remplacement de blocs e

1. KEEP : Taille sp ci e par buffer pool keep (param` tre de e e e conguration) 2. REUSE : Taille sp ci e par buffer pool reuse e e 3. DEFAULT :
Emplacement, par d faut, des objets e Taille = db block buffers - (buffer pool keep + buffer pool reuse)

Association pool dobjets-strat gie : e

Dans alter create

table index cluster

Options KEEP et RECYCLE de la clause de stockage.


KEEP : maintien des blocs en m moire apr` s utilisation ; e e RECYCLE : pas de maintien.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

143/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

144/263

5.1.2 Conguration de caches de donn es : Exemple e

5. M moires cache Oracle e

create table R(x int, . . . ) storage (buffer pool recycle); create index Idx2R on R(x) storage (buffer pool keep);
Gestion des blocs de R : fetch and discard ; Gestion des blocs de Idx2R : LRU ; Si dans le chier de conguration de la base :

Plan :

1. SGA (a) Taille (b) Cache de donn es e (c) Cache du log 2. PGA 3. Zones de tri

db block buffers = 2048 buffer pool keep = (buffers: 300, . . . ) buffer pool reuse = 100,
Pool KEEP : 300 blocs ; Pool REUSE : 100 ; Pool par d faut : (2048 - (300 + 100)). e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

145/263

5.1.3 M moires cache : le journal (redo log) e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

146/263

5.1.3 Gestion des blocs redo log : Exemple

Enregistrements du journal : redo entries Taille du cache du log :

Cache de 4 blocs et 3 premiers satur s : e

Journalisations dans le 4` me, e en m me temps : ecriture physique du 1er ; e


4` me bloc satur : e e

Par d faut : 4*taille maximum dune page du syst` me h te ; e e o ou log buffer octets (param` tre de conguration de la base) e LGWR : ecritures physiques dans le chier ou le groupe de chiers redo log actifs (cf. chapitre s curit et reprise) ; e e
Gestion circulaire des blocs : Exemple

Journalisations dans le 1er + ecriture physique du 2` me. e


etc.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

147/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

148/263

5.1.3 Gestion des blocs redo log : Exemple

5. M moires cache Oracle e

Plan :

1. SGA (a) Taille (b) Cache de donn es e (c) Cache du log 2. PGA 3. Zones de tri

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

149/263

5.2- M moires cache : Program Global Area e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

150/263

5.2- M moires cache : Program Global Area e

Aussi appel es zones globales de processus (process global area), e Non partag es, e Une par processus serveur ou darri` re-plan, e

PGA Serveur ddi Pile SGA Zones SQL partages Informations de session

PGA Serveur multi-thread Pile SGA Informations de session Zones SQL partages

` Allou es par Oracle lorsquun utilisateur se connecte a une base et e quune session est cr ee, e
Taille xe, d pendante du syst` me h te, e e o Contenu varie selon que la session est sous un serveur d di ou sous un e e serveur multi-threaded.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

151/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

152/263

5. M moires cache Oracle e

5.3- M moires cache : Zone de tri e

Plan :

Op rations de tri : Utilisation e

1. SGA (a) Taille (b) Cache de donn es e (c) Cache du log 2. PGA 3. Zone de tri

de segments temporaires (disque) dune partie de la PGA) (m moire) du processus serveur dOracle e qui r alise le tri pour le compte dun processus utilisateur e + une partie de la zone de tri existe dans la zone runtime de la zone SQL priv e du processus utilisateur. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

153/263

5.3- M moires cache : Zone de tri e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

154/263

Organisation et stockage des donn es et des index : Conclusion e

Durant un tri,

Taille de la zone peut crotre jusqu` sort area size, a D sallocation de parties si le syst` me a besoin despace pour e e dautres t ches, a Contenu de lespace lib r ecrit dans les segments temporaires, ee ` D sallocations ne doivent pas r duire la zone a une zone de taille e e Tz, Tz sort area retained size.
Par d faut, sort area retained size = sort area size. e

G n ralement transparente pour un utilisateur naf (ind pendance e e e donn es-programmes) ; e Compr hension n cessaire pour e e

G r r les espaces des bases ; ee Comprendre les choix de loptimiseur ; Congurer le serveur ; ... Concevoir et impl menter des SGBD. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

155/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

156/263

Chapitre IV : Traitement des requ tes e

Contenu du chapitre :

1. Traitement des requ tes dans les SGBDR (p. 157) e ` 2. Application a Oracle (p. 206)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

157/263

Traitement des requ tes dans les SGBD relationnels e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

158/263

Traitement des requ tes : Besoins doptimiser ? e

Evaluation des requ tes : e

Donn es de la base vers la m moire centrale e e Traitement ` Retour dans le cas de mises a jour
Peut n cessiter la cr ation de tables interm diaires e e e Volume des transferts et des tables de travail fonction des tailles des relations mises en jeu Objectif dun optimiseur : R duction des volumes e

Temps dex cution dune requ te anormal % taille des relations, e e existence dindex Une requ te sex cute plus lentement que des requ tes similaires e e e temps dex cution dune requ te e e Temps dex cution dune requ te en tant que proc dure e e e ex cution en tant que requ te e e

celui de son

Plan dex cution utilisant un parcours de relation au lieu dutiliser un e index

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

159/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

160/263

Traitement des requ tes : Origines des mauvaises performances ? e

Traitement des requ tes : Les m thodes e e

Vieilles statistiques sur la distribution des donn es e Inexistence dindex appropri s e

1. Syntaxique :
Fondement : Heuristiques + Propri t s de lalg` bre ee e Transformation darbres (alg` bre) ou de graphes (calcul relationnel) e

` Index en cours dutilisation pour acc der a une table volumineuse e


Clause where conduisant au choix dune mauvaise strat gie e Proc dure non re-compil e apr` s changements signicatifs e e e etc.

e e e 2. Estimation de co ts dex cution de diverses strat gies d valuation u

e e 3. S mantique : Exploitation des contraintes dint grit e


M thodes non exclusives : 1 et 2 souvent combin es e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

161/263

Traitement des requ tes : Plan e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

162/263

I. Transformation darbres alg riques e

1. Transformation darbres alg riques e 2. Transformation de graphes de requ tes e ` 3. Optimisation a base de co ts u 4. Optimisation S mantique e 5. Processus G n ral dOptimisation e e

Heuristiques : taille des op randes des op raions les plus co teuses e e u

1. Descente des s lections : les relations en hauteur e 2. Descente des projections : les relations en largeur
Phrase SQL

Arbre alg brique : e

Feuilles : Relations Racine : R sultat de la requ te e e Nuds internes : Op rations de lalg` bre e e Arcs entrants : Op randes e

Arcs Sortants : R sultat de l valuation dun nud e e

Evaluation de bas en haut (gauche-droite ou droite-gauche)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

163/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

164/263

I. Transformation darbres alg riques : Exemple e

I. Transformation darbres alg riques : Exemple e

Personne(id#, nom, prenom, date naisssance, adresse, equ#) Equipe(equ#, nom equ, resp equ#) Projet(proj#, nom proj, lieu proj, equ#) Travaille sur(id#, proj#, taux)

En SQL :

Personne.equ# : Equipe de rattachement Projet.equ# : Equipe en charge du projet Travaille sur.taux : Part de temps sur un projet

SELECT FROM WHERE AND AND AND

nom Projet, Travaille sur, Personne Projet.nom proj = BDD Personne.id# = Travaille sur.id# Personne.date naissance dec-31-1962 Travaille sur.proj# = Projet.proj#

Repr sentation dite canonique : e

Relations de la clause FROM

Produit cart sien (X) e

Requ te : e Personnes n es apr` s 1962 et travaillant sur le projet BDD e e

WHERE

S lection ( ), nud p` re du sous-arbre X e e Projection () en racine de larbre

SELECT

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

165/263

Transformation darbres alg riques : Arbre initial (0) e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

166/263

Transformation darbres : Arbre 1

Descente des s lections e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

167/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

168/263

Transformation darbres : Arbre 2

Transformation darbres : Arbre 3

Permutation de Personne et de Projet (cf. notion de s lectivit ) e e

Introduction de jointures

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

169/263

Transformation darbres : Arbre 4

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

170/263

Transformation darbres : Sur larbre initial (Arbre 0)

Introduction de projections : ne faire remonter que les attributs utiles

Projet : 20 tuples de 100 caract` res e Travaille sur : 100 tuples de 50 caract` res e Personne : 500 tuples de 100 caract` res e Deux produits cart siens : e

tuples de 250 caract` res ! e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

171/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

172/263

Transformation darbres : Sur larbre nal (Arbre 4)

Transformation darbres : R` gles de transformation e

1` re jointure : e

` ` Une relation a une colonne et probalement a un n-uplet Relation Travaille sur : deux colonnes
2` me jointure : e

(R1) D composition des expressions de s lection. e e (R2) Commutativit de la s lection. e e (R3) Restriction de la liste de projections.

` Une relation a une colonne (sous-arbre gauche) ` Une relation a 2 colonnes (sous-arbre droit) r duite aux seuls e n-uplets satisfaisant la s lection e

(R4) Commutation de la s lection et de la projection. e Si C ne porte que sur les :

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

173/263

Transformation darbres : R` gles de transformation e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

174/263

Transformation darbres : R` gles de transformation e

(R5) Commutativit de la jointure (et du produit cart sien). e e . (R6) Commutation s lection-jointure (ou produit cart sien). e e

(R7) Commutation projection-jointure (produit cart sien). e

- (R61) Si les attributs de la condition C de s lection nappartiennent e qu` une des relations de la jointure, par exemple R, alors : a . - (R62) Sinon, si la condition C peut se r - crire en ee

- (R71) 1. Si attributs de C = attributs de L 2. Si avec : attributs de S

: attributs de R et

ne porte que sur des attributs de R ne porte que sur ceux de S, alors :

u o` :

- (R72) Si la condition de jointure comporte des sous-listes ` dattributs de R et dattributs de S nappartenant pas a L : 1. Les ajouter aux projections internes 2. Appliquer une projection externe sur L .

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

175/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

176/263

Transformation darbres : R` gles de transformation e

Transformation darbres : R` gles de transformation e

(R8) Commutativit des op rations ensemblistes ( e e

).

(R11) Commutation de la projection et des op rations ensemblistes. e . Autres : Equivalences logiques Autres propri t s des op rateurs alg briques ee e e

(R9) Associativit : jointure, produit cart sien, union et intersection. e e o` R, S, T sont des relations u e e et des op rateurs parmi ceux cit s (R10) Commutation de la s lection et des op rations ensemblistes. e e u (Select((R op S), C)) (Select(R, C) op Select (S, C)) o` op est lop rateur dunion, dintersection ou de diff rence e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

177/263

Transformation darbres : Ebauche dalgorithme

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

178/263

Transformation darbres : Ebauche dalgorithme

1. Transformer toute expression de s lection conjonctive en une cascade e de s lections (R` gle R1) e e 2. Descendre les s lections le plus bas possible e ((R2), (R4), (R6), (R10)). 3. Ordonner les feuilles de larbre de sorte que les s lections les plus e restrictives soient evalu es en premier ((R8), (R9)) e
Plus restrictives = produisant les plus petites relations cf. distribution des valeurs, index (dictionnaire) cf. notion de s lectivit , plus loin e e

4. (Produit cart sien; S lection) e e est la condition de s lection. e

Jointure o` la condition de jointure u

5. Fragmenter et faire descendre le plus bas possible les listes de projection, en cr ant de nouvelles projection, si besoin est (R` gles e e (R3), (R4), (R7), (R11)) , 6. Identier les sous-arbres qui repr sentent des groupes dop rations e e pouvant etre ex cut s par une seule routine du SGBD e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

179/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

180/263

Transformation darbres : Exemples de plan (Etape 6)


A5 Proj

Traitement des requ tes : Plan e

nom

1. Transformation darbres alg riques e 2. Transformation de graphes de requ tes e


Proje.#id, nom Select A4

Join t.#id = e.#id A3 Proj

` 3. Optimisation a base de co ts u 4. Optimisation S mantique e

t.#id date_naissance > dec-31-1962

Join

t.#proj = p.#proj

5. Processus G n ral doptimisation e e

Personne e Projp.#proj Select


nom_proj = BDD

Proj

t.#proj, t.#id

Travaille_sur t A2

Projet p

A1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

181/263

II. Optimisation de graphes de requ tes e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

182/263

II. Optimisation de graphes de requ tes e

Technique dite de d composition de requ tes e e Introduite dans Ingres/QUEL (Variables n-uplets) Graphe de requ tes : e

Technique : Requ te a plusieurs variables d compos e en sous-requ tes e ` e e e ` a une variable, par d tachement de sous-graphes et substitution de e tuples.

1. D tachement : e
Identier des sous-requ te ayant une seule variable en commun e avec le reste de la requ te e Les d tacher du graphe e

Sur les arcs : Conditions de jointure des nuds reli s e Nuds : Variables de tuples ou constantes de la requ te e Arcs conditions de s lection : relient des nuds de constantes e aux nuds des variables impliqu es dans les conditions. e

2. Substitution de tuples :
Evaluation de sous-requ te e

Heuristique (s lection, projection, jointure seulement) : ex cuter les e e s lections avant les jointures (ou le produit cart sien) en identiant des e e sous-requ tes a une seule variable et une condition de s lection e ` e

` Substituer, un tuple a la fois, de valeurs aux variables de la requ te. e ` m requ tes, plus simples, a (n-1) variables e

Requ te a n variables e `

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

183/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

184/263

II. Optimisation de graphes de requ tes : Exemple e

II. Optimisation de graphes de requ tes : Exemple e

Personnes n es apr` s 1962 et travaillant sur des projets e e se d roulant a Nancy dans l quipe num ro 3 e e e ` RANGE OF p IS Projet, t IS Travaille sur, e IS Personne RETRIEVE e.nom WHERE p.lieu proj = Nancy AND p.equ# = 3 AND p.proj# = t.proj# AND t.id# = e.id# AND e.date naissance dec-31-62
R2 e
e.#id = t.#id

t.#proj = p.#proj

R1

e.date_naissance > dec-31-1962

p.lieu_proj = Nancy

p.#equ = 3

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

185/263

Traitement des requ tes : Plan e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

186/263

III. Optimisation par estimation de co uts

1. Transformation darbres alg riques e 2. Transformation de graphes de requ tes e ` 3. Optimisation a base de co ts u 4. Optimisation S mantique e 5. Processus G n ral dOptimisation e e

Minimiser une fonction c ut, avec comme facteurs : o

Acc` s disque, e Co t du traitement en m moire centrale, u e Taille des n-uplets, des relations, Index : Existence, nombre de niveaux, Co t de communication (requ te, r sultats) entre sites (architectures u e e client/serveur, par exemple), etc.

Utilisation effective (souvent) des co ts des acc` s u e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

187/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

188/263

III. Optimisation par estimation de co uts

III. Optimisation par estimation de co uts

Informations du dictionnaire

S lectivit de la jointure : e e

Nombre exact ou estim de tuples et de blocs physiques par e relation ; Nombre de niveaux dindex ; Nombre de valeurs distinctes par attribut, dans les cas o` un index u ou un cluster existe : permet destimer le nombre moyen denregistrements qui satisfont une s lection (s lectivit ou cardinal e e e de s lection dun attribut A). e
A est cl : s = 1 e A nest pas cl : s = Card(R)/Nombre de valeurs de A. e

sj = 1 si pas de condition de jointure sj = 0 si aucun tuple ne v rie Cond. e


Cas de l qui-jointure : (Condition du type R.A = S.B) Cas particuliers : e

1. A est cl de R : e

2. De m me, si B est cl de S : e e

Do` la taille estim e de : sj Card(R) Card(S). u e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

189/263

Exemples destimation de l qui-jointure e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

190/263

Exemples destimation de l qui-jointure e

br : nombre de blocs de R, bs : nombre de blocs de S k : facteur de blocage de la relation r sultat e

2. Jointure par tri-fusion


Si relations d j` tri es : Co t = br + bs ea e u Sinon, Co t = u

1. Jointure par boucles imbriqu es e


R dans la boucle ext rieure ; sj donn ; 2 buffers e e Co t estim : br + (br * bs) + ((sj * Cardinal(R) * Cardinal(S))/k) u e Dernier facteur : Co t de l criture du r sultat. u e e

: Approximation du tri b : nombre de blocs l : facteur constant.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

191/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

192/263

IV. Optimisation s mantique e

Optimisation de requ tes : SGBD Sybase e

Contrainte dint grit Formule logique e e Expression de s lection e Pas dacc` s a la base si e ` Exemple :

G n ration de plans avec/sans ex cution de requ te e e e e Exemple : Visualisation dun plan sans ex cution e

SET SHOWPLAN ON SET NOEXEC ON Requ te dont on veut examiner le plan. e


Plans dex cution et proc dures stock es : e e e

: Tous les vols long courrier partent de Roissy

: Vols long courrier partant dOrly ?

Ex cution avec WITH RECOMPILE : M` J du plan stock e a e Cr ation avec WITH RECOMPILE : G n ration syst matique e e e e
Mise a jour des informations sur la distribution des valeurs des cl s des e ` index :

M thode non implant e (d monstration automatique) e e e

UPDATE STATISTICS NomDeRelation [NomIndex]

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

193/263

Optimisation de requ tes : SGBD Oracle e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

194/263

Traitement des requ tes dans les SGBDR : Plan e

Commande EXPLAIN PLAN : obtenir le plan dex cution e Plan rang dans PLAN TABLE ou dans une relation cr ee e e ` pr alablement a lex cution de EXPLAIN PLAN (clause INTO de e e EXPLAIN PLAN)

1. Transformation darbres alg riques e 2. Transformation de graphes de requ tes e ` 3. Optimisation a base de co ts u 4. Optimisation S mantique e 5. Processus G n ral dOptimisation e e

EXPLAIN PLAN [SET STATEMENT ID = identication plan] e [INTO [nom utilisateur.]nom de relation] FOR requ te SQL

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

195/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

196/263

V. Optimisation : Processus g n ral e e


Requte

Traitement des requ tes : Processus g n ral e e e

1. Normalisation des pr dicats e


Analyse Syntaxique et Smantique

2. Analyse s mantique e
Optimisation Plan dexcution Gnration de code Dico. Stats Donnes Index

3. Simplication des formules logiques

4. Mise sous forme darbre relationnel

Code objet Excution Rsultats

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

197/263

1/4) Normalisation des pr dicats e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

198/263

Forme disjonctive :

Requ te trait e comme une union de sous-requ tes e e e

Forme normale conjonctive : conjonction de disjonctions Forme normale disjonctive : disjonction de conjonctions Formules sans quanticateurs :

Risque de calcul redondant


Forme conjonctive : g n ralement plus de ET que de OU e e Exemple :

Commutativit , Associativit de la conjonction et de la disjonction e e Distributivit e


select libelle from produit p, stock s where p.prod# = s.prod# and s.adr = Nancy and (s.qte = 1000 or s.qte=200) Forme disjonctive : (p.prod# = s.prod# (p.prod# = s.prod# p.prod# = s.prod# s.adr = Nancy s.adr = Nancy s.qte = 1000) s.qte = 2000) s.qte=2000)

Forme conjonctive : s.adr = Nancy (s.qte = 1000

Formules avec quanticateurs : mise sous forme prenex

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

199/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

200/263

2/4) Analyse

Exemple :

Dictionnaire : Relations, attributs connus Typage des expressions Correction s mantique : pas de sous-requ te isol e e e e

select p.prod#, p.pu, s.qte from produit p, stock s, depot d where p. prod# = s.prod# and s.dep# = d.dep# 0 and d.adr = Nancy and libelle = . . . and s.qte

` Calcul relationnel : impossible a determiner Requ tes sans e


Graphe de requ te : e

ni

: graphe connexe

Stock

s.dep# = d.dep# Depot

Stock

Depot d.adr = "Nancy"

e e Nud : r sultat ou op rande

p.prod# = s.prod#

d.adr = "Nancy" qte

p.prod# = s.prod# qte prod#, pu Produit libelle = "..." Rsultat

Arcs entre nuds non r sultats : Jointure e Arcs dextr mit nud r sultat : Projection e e e e e Nud non r sultat peut etre labell par une expression de s lection e ou une auto-jointure

Produit

prod#, pu

Rsultat

libelle = "..."

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

201/263

3/4) Simplication dexpressions logiques

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

202/263

3/4) Simplication dexpressions logiques (suite)

Cas de lutilisation de vues

Elimination de la redondance : r` gles didempotence e

create view V as select * from produit where pu 100.0 and pu


Requ te : e

200.0

; ; ;

select * from V where pu 200.0


Apr` s r - criture : e ee

select * from produit where pu 100.0 and pu 200.0 and pu

200.0

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

203/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

204/263

3/4) Simplication dexpressions logiques (suite et n)

4/4) Mise sous forme darbre alg brique e

Exemple :

select libelle from produit where NOT libelle = K7Cr and (libelle = K7Cr or pu = 20.0) and NOT pu = 20.0 and prod# = 4 se simplie en : select libelle from produit where prod# = 4

SELECT L FROM R1, R2, ..., Rn WHERE Cond

Projection L Slection Cond Produit R1 Produit R2 Produit Rn-1 Rn

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

205/263

Chapitre IV : Traitement des requ tes e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

206/263

Traitement des requ tes sous Oracle e

Contenu du chapitre :

Etapes classiques dans le processus de traitement des requ tes : e

1. Traitement des requ tes dans les SGBDR (p. 157) e ` 2. Application a Oracle (p. 206)

1. Analyse, 2. Optimisation, 3. G n ration de plans dex cution, e e e 4. Ex cution. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

207/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

208/263

Processus de Traitement des requ tes sous Oracle e

Traitement des requ tes sous Oracle : Plan e

Deux strat gies doptimisation : e

1. A base de r` gles (Rule Based Optimization, RBO) : optimisation e darbres alg briques e 2. A base de co ts : Cost Based Optimization (CBO). u
Choix de la strat gie : automatique ou impos pour une requ te, une e e e session ou une instance Oracle, Inuencer la g n ration de plans : Directives doptimisation dans les e e requ tes, e R -utiliser des plans : cf. outlines (non trait ici). e e

1. Architecture du compilateur de requ tes et structure de stockage des e plans dex cution (p. 209) e 2. Processus et principales etapes de traitement des requ tes (p. 221) e ` 3. Optimisation a base de co ts (p. 239) u ` 4. Optimisation a base de r` gles (p. 252) e 5. Directives doptimisation (p. 255)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

209/263

1/5. Architecture de loptimiseur et plans dex cution e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

210/263

1/5. Architecture de loptimiseur et plans dex cution e

1. Analyseur : d composition de la requ tes en un ensemble de e e composants embot s ou reli s (blocs de la requ te) e e e
Vue, requ te imbriqu e e e (ou pas)

blocs distincts de celui de la requ te e

2. G n rateur de sources de tuples : Engendrer un plan dex cution etant e e e donn le plan optimal ( arbre alg brique) rendu par loptimiseur : e e ` Noeuds op rations internes a Oracle ( e op rateurs alg briques) : e e Provenance = mode dacc` s aux tuples et type dalgorithme de e jointure choisis Exemples : tri (sort), fusion (merge)

Source de tuples feuille dun arbre ou relation r sultant de e l valuation dun sous-arbre. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

211/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

212/263

1/5. Exemple de plan dex cution e

1/5. Plans dex cution e

Hypoth` se : Aucun index e Requ te : e

Demande de g n ration : explain plan . . . for instruction SQL e e Plan engendr : e

select p.libelle, s.qte from produit p, stock s where p.prod# = s.prod#;


Plan dex cution : e

par d faut, dans plan table e ou dans une table de m me sch ma (explain plan . . . into . . . ) e e
plan table cr ee par le script utlxplan.sql (g n ralement sous e e e $OraHomerdbmsadmin). Examen du plan :

1. select . . . from . . . where . . . 2. utilitaire utlxpls : traitements en s rie e 3. utilitaire utlxplp : ex cutions parall` les e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

213/263

1/5. Plans dex cution : Des colonnes de plan table e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

214/263

1/5. Plans dex cution : Exemple e

id : num ro d tape du plan ; e e parent id : num ro de l tape qui utilise les r sultats de l tape id ; e e e e

position : rang dune etape parmi les etapes lles dune m me etape e m` re ; e
cardinality : nombre estim de tuples acc d s par lop ration ; e e e e operation : nom de lop ration interne r alis e dans l tape ; e e e e object name : objet concern par lop ration ; e e cost : co t estim de lop ration (si optimisation bas e sur les co ts) ; u e e e u options : variante dop ration utilis e pour ex cuter operation. e e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

215/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

216/263

1/5. Plans dex cution : Exemple e

1/5. Plans dex cution e

Id P_id Operation Objet Options -- ---- ----------------- -------- --------0 SELECT STATEMENT 1 0 MERGE JOIN 2 1 SORT JOIN 3 2 TABLE ACCESS STOCK FULL 4 1 SORT JOIN 5 4 TABLE ACCESS PRODUIT FULL 6 ligne(s) slectionne(s). e e

plan table : repr sentation tabulaire des plans dex cution et des choix e e de loptimiseur :

mode de parcours des objets type dalgorithme de jointure, etc.


Choix explicit s dans plan table.operation et plan table.options e

cf. gure exemple p. 211

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

sort

UHP Nancy 1, D partement Informatique e

217/263

Op ration e table access

Options full, by rowid, hash, . . . unique join order by

Commentaires Type dacc` s a une table. e ` Tri en eliminant les doublons. Tri avant jointure par fusion. Tri requis par la requ te. e Jointure par boucles imbriqu es. e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

218/263

1/5. Plans dex cution : autres outils Oracle e

1. analyze . . . compute estimate statistics : Collecte de statistiques 2. SQL Trace :


Autoriser son utilisation : sql trace (param` tre statique e dinitialisation)

nested loops outer merge join

Idem pour une jointure externe. Jointure par tri-fusion.

Pour une instance : sql trace = true dans le chier dinitialisation Pour une session : alter session set sql trace = true
Effets : G n ration de statistiques sur e e

SGBD relationnels : El ments dArchitecture e


view

outer semi

Idem pour une jointure externe. Idem pour une semi-jointure. Interrogation dune vue.

Dur es danalyse et dex cution, e e Temps total et temps unit centrale, e Nombre de lectures et ecritures physiques, Nombre de tuples trait s, etc. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

UHP Nancy 1, D partement Informatique e

219/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

220/263

1/5. Plans dex cution : autres outils Oracle e

Traitement des requ tes sous Oracle : Plan e

R sultats de SQL Trace : dans des chiers de trace e

Localisation par d faut : user dump dest (init.ora) e Indication dynamique de leur emplacement : alter system set e user dump dest = chemin vers un r pertoire) max dump le size : taille maximum des chiers (param` tre e dynamique) 3. tkprof : formattage des chiers produits par SQL Trace

1. Architecture du compilateur de requ tes et structure de stockage des e plans dex cution (p. 209) e 2. Processus et principales etapes de traitement des requ tes (p. 221) e ` 3. Optimisation a base de co ts (p. 239) u ` 4. Optimisation a base de r` gles (p. 252) e 5. Directives doptimisation (p. 255).

Production dun chier par chier de trace, Fichier formatt en fonction de param` tres et options dex cution e e e

Conservation eventuelle de statistiques dans tkprof table (cr ee a la e ` demande).

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

221/263

2/5. Les etapes de loptimisation

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

222/263

2/5. Les etapes de loptimisation : Plan

1. Simplication et Evaluation dexpressions (cf. Processus g n ral) e e 2. R ecriture de requ tes complexes (p. 223) e e 3. R ecriture de requ tes avec vues (p. 228) e e 4. Choix de la strat gie doptimisation (p. 229) e 5. Traitement des jointures (p. 236)

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

223/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

224/263

2.1/5- R ecriture de requ tes complexes e e

2.1/5.- R ecriture de requ tes et index (Exemple) e e

Transformations d cid es en fonction de la complexit de la requ te, de e e e e la pr sence de vue ou dindex, etc. e Types de transformation :

select . . . where A = Constante1 or B = Constante2 r ecrite en : e (select . . . where A = Constante1) union (select . . . where B = Constante2)

1. Requ te simple e

Requ te compos e, e e

2. D simbriquer des sous-requ tes, e e 3. Incorporer des d nitions de vues dans une requ te e e 4. Introduire des pr dicats de la requ te dans une vue. e e Si index sur A et B.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

225/263

2.1/5.- R ecriture de requ tes et Sous-requ tes (Exemple) e e e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

226/263

2.1/5- Requ tes compos es (Exemple) e e

Traiter la requ te sous sa forme initiale e ou d simbriquer la sous-requ te en introduisant des jointures dans la e e requ te initiale. e Exemple : Si contrainte de cl primaire ou dunicit sur R2.x e e

Cas requ te avec op rateurs ensemblistes ( e e

, ) :

1. Un plan dex cution pour chaque membre de lop rateur e e 2. Composition du r sultat avec lop rateur ensembliste e e
Exemples : (triangle sous-arbre)
sort unique union_all R1 R2 R1 R2 R1 R2 Intersection intersect sort unique sort unique

select . . . from R1 where x in (select x from R2 where condition) ; r ecrite en : e select . . . from R1, R2 where condition and R1.x = R2.x.

union_all

Union avec et sans doublons

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

227/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

228/263

2/5. Les etapes de loptimisation : Plan

2.2/5- Traitement des requ tes avec vues e

1. Simplication et Evaluation dexpressions (cf. Processus g n ral) e e 2. R ecriture de requ tes complexes (p. 223) e e

` (a) Int grer la d nition de la vue a la requ te e e e et select x1 from V where Condition2 create view V as (select x1, . . . from R where Condition1) select x1 from R where Condition1 and Condition2

3. R ecriture de requ tes avec vues (p. 228) e e 4. Choix de la strat gie doptimisation (p. 229) e 5. Traitement des jointures (p. 236)

(b) Etendre la d nition de la vue par des pr dicats de la requ te. e e e ` Quand echec de lint gration de la vue a la requ te. e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

229/263

2.3/5- Strat gie et but de loptimisation e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

230/263

2.3/5- Strat gie et but de loptimisation : Param trisation e e

Strat gie (rappel) : Base de co ts/de r` gles e u e But de loptimisation : globale ou temps de r ponse e Optimisation globale : minimiser la quantit totale de ressources e n cessaires au traitement de tous les tuples concern s par une e e instruction

1. Niveau instance Oracle : param` tre dinitialisation optimizer mode e

2. Niveau session : argument optimizer goal de alter session

But par d faut e Adapt e pour les traitements en mode diff r e ee


Optimisation du temps de r ponse : minimiser les ressources pour e acc der au premier tuple concern par linstruction. e e

3. Niveau instruction : directives doptimisation optimizer mode et optimizer goal

Adapt e pour les applications conversationnelles e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

231/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

232/263

2.3/5- Param trisation : Valeurs de optimizer mode et optimizer goal e

2.3/5- Param trisation : Valeurs de optimizer mode et optimizer goal e

choose, rule, all rows, rst rows

1. choose et pr sence de statistiques sur au moins une table e ` Strat gie : a base de co ts e u
But : optimisation globale

` 2. choose et absence de statistiques : strat gie a base de r` gles. e e 3. rule :

= Valeur par d faut e

` Strat gie : a base de r` gles (avec ou sans statistiques) e e


But : optimisation globale

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

233/263

2.3/5- Param trisation : Valeurs de optimizer mode et optimizer goal e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

234/263

Rappels : Statistiques

4. all rows : m me en labsence de statistiques, e ` Strat gie : a base de co ts e u


But : optimisation globale

Collecte par :

analyze . . . compute estimate statistics create alter index . . . compute statistics Paquetage dbms stats ` Mises a jour p riodiques explicites e
Si absence totale de statistiques : utilisation possible de donn es e quantitatives sur lencombrement des espaces (nombre de blocs occup s, nombre de niveaux dindex, etc.) e

5. rst rows : ` Strat gie : a base de r` gles e e


But : minimisation du temps de r ponse e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

235/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

236/263

2/5. Les etapes de loptimisation : Plan

2.5/5- Traitement des jointures

1. Simplication et Evaluation dexpressions (cf.processus g n ral) e e 2. R ecriture de requ tes complexes (p. 223) e e 3. R ecriture de requ tes avec vues (p. 228) e e 4. Choix strat gie doptimisation ? (p. 229) e 5. Traitement des jointures (p. 236)

Combinaison des facteurs :

(a) Type dalgorithme de jointure (b) Ordre des jointures (c) Chemins dacc` s e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

237/263

2.5/5- Algorithme et ordre de jointure

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

238/263

Traitement des requ tes sous Oracle : Plan e

M thodes ou algorithmes de jointure : e

1. Boucles imbriqu es (nested loops), e 2. Tri-fusion (sort-merge), 3. Hachage (hash join), 4. Groupement (cluster join).
Ordre de jointures ( la strat gie doptimisation) : e

1. Architecture du compilateur de requ tes et structure de stockage des e plans dex cution (p. 209) e 2. Processus et principales etapes de traitement des requ tes e ` 3. Optimisation a base de co ts (p. 239) u ` 4. Optimisation a base de r` gles (p. 252) e 5. Directives doptimisation (p. 255)

1. En t te de lordre : Table dont la jointure rend un seul tuple e 2. Poursuite de la recherche de lordre (variable selon les strat gies) e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

239/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

240/263

` 3/5. Optimisation a base de co uts

` 3/5. Optimisation a base de co uts

Conditions de mise en uvre :

Strat gie g n ralement requise pour les instructions qui utilisent : e e e

1. Disponibilit de statistiques e 2. Param` tres dinitialisation positionn s : e e (a) optimiser mode = choose, rst rows ou all rows (b) optimiser features enable = 8.1.6 (c) compatible = 8.1.6
Note : Consulter les param` tres en vigueur dans v$parameter e Exemple :

des tables partitionn es et/ou organis es en index, e e des index bas s sur des fonctions. e
Processus doptimisation :

1. Engendrer un ensemble de plans : se fonder sur les chemins dacc` s existants e les eventuelles directives doptimisation 2. Estimer le co t de chaque plan : utiliser les statistiques sur u la distribution des donn es e les caract ristiques de stockage des objets (tables, index, e partitions) impliqu s e 3. Choisir le plan le moins co teux. u

select name, value from v$parameter where name like optimizer%

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

241/263

` 3/5. Optimisation a base de couts : Architecture

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

242/263

` 3/5. Optimisation a base de co uts

La suite :

1. Chemins dacc` s (p. 243) e 2. Transformation de requ tes (p. 245) e 3. Estimation de co ts (p. 248) u 4. G n ration de plans (p. 250) e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

243/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

244/263

` 3.1/5. Optimisation a base de couts : Chemins dacc` s e

` 3/5. Optimisation a base de co uts

(Terminologie dOracle) Chemin dacc` s (access path) : e

La suite :

1. Mode dacc` s e 2. Mode de parcours eventuel des tuples dun objet.


Quelques types de chemins dacc` s : e

1. Chemins dacc` s (p. 243) e 2. Transformation de requ tes (p. 245) e 3. Estimation de co ts (p. 248) u 4. G n ration de plans (p. 250) e e

Full table scans : parcours de toute la table ; Sample table scans : parcours dun echantillon de tuples ; Table access by RowId : acc` s a laide dun identiant de tuple ; e ` Index scans : mode de parcours dindex avec des variantes dont : unique scan : lorsquun identiant de tuple est rendu ; range scan : etant donn un intervalle de valeurs de la cl ; e e full scan : parcours de la totalit dun index ; e fast full scan : lindex suft pour satisfaire la requ te. e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

245/263

` 3.2/5- Optimisation a base de couts : Transformation de requ tes e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

246/263

` 3.2/5- Optimisation a base de couts : Transformation de requ tes e

Objectif du transformateur de requ tes : est-il avantageux dop rer des e e r ecritures de requ tes ? e e Evaluation de lopportunit e

1. Int gration des vues e


Cas vue fusionnable avec linstruction : G n ration dun seul plan e e Cas vue non fusionnable : G n ration dun sous-plan pour la vue e e e (dans laquelle des pr dicats de la requ te ont eventuellement et e e incorpor s). e

` 1. dint grer les d nitions de vues a la requ te, e e e 2. de d simbriquer des requ tes, e e 3. dutiliser des vues mat rialis es. e e
Note : Vue mat rialis e = Vue instanci e ( Table) e e e

2. Sous-requ tes : e Certaines peuvent etre d simbriqu es et dautres pas e e


Celles non d simbriqu es e e

Plans s par s + Ordre entre les plans. e e

` 3. Vues mat rialis es : si une partie de la requ te correspond a la e e e d nition dune vue mat rialis e, la remplacer par le nom de la vue. e e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

247/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

248/263

` 3/5. Optimisation a base de co uts

` 3.3/5- Optimisation a base de couts : Estimations

La suite :

Facteurs :

1. Chemins dacc` s (p. 243) e 2. Transformation de requ tes (p. 245) e 3. Estimation des co ts (p. 248) u 4. G n ration de plans (p. 250) e e

1. S lectivit , e e 2. Cardinal des ensembles 3. Co t des ressources utilis es : principale unit = nombre u e e dentr es-sorties physiques (blocs de donn es et dindex). e e
S lectivit , sans disponibilit de statistiques : e e e

Utilisation dune valeur interne est utilis e e Exemple : S lectivit dune dune expression du type attribut = e e valeur est estim e meilleure que celle dune expression du type e attribut valeur.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

249/263

` 3/5. Optimisation a base de co uts

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

250/263

` 3.4/5- Optimisation a base de couts : G n ration de plans e e

La suite :

1. Un sous-plan :
pour chaque sous-requ te d simbriqu e e e e pour chaque vue non int gr e a la requ te. e e ` e

1. Chemins dacc` s (p. 243) e 2. Transformation de requ tes (p. 245) e 3. Estimation des co ts (p. 248) u 4. G n ration de plans (p. 250) e e

2. G n ration et optimisation du plan global de bas en haut (du bloc de e e requ te le plus interne vers la requ te) e e 3. Arr t lorsque l valuateur estime que le co t du dernier plan engendr e e u e est acceptable (i.e. rapport gain escompt -co t examen exhaustif) e u ` Optimisation a base de co ts extensible : u Si fonctions ou index de domaines cr es e Obligation de fournir des fonctions de calcul des statistiques, de la s lectivit et des co ts. e e u

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

251/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

252/263

Traitement des requ tes sous Oracle : Plan e

` 4/5. Optimisation a base de r` gles e

1. Architecture du compilateur de requ tes et structure de stockage des e plans dex cution (p. 209) e 2. Processus et principales etapes de traitement des requ tes e ` 3. Optimisation a base de co ts (p. 239) u ` 4. Optimisation a base de r` gles (p. 252) e 5. Directives doptimisation (p. 255)

Choix du plan dex cution en fonction e

1. des chemins dacc` s existants e 2. dun poids associ a chaque type de chemins, e`
Meilleur chemin : celui de plus faible poids Quinze types de chemins disponibles Leur choix d pend : e

1. de la forme de la requ te e

2. de la structure des objets concern s e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

253/263

` 4/5. Optimisation a base de r` gles : Exemples de choix de chemins dacc` s e e

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

254/263

Traitement des requ tes sous Oracle : Plan e

Chemin dacc` s e Single Row by RowId Single Row by cluster join

Conditions et forme de la requ te e where rowid = . . . where R1.A = R2.A and R1.B = valeur et R1, R2 group es (cluster) sur A e et B est cl primaire de R1. e

1. Architecture du compilateur de requ tes et structure de stockage des e plans dex cution (p. 209) e 2. Processus et principales etapes de traitement des requ tes e ` 3. Optimisation a base de co ts (p. 239) u ` 4. Optimisation a base de r` gles (p. 252) e 5. Directives doptimisation (p. 255)

single row by unique or primary key bounded range search or index columns

La clause where porte sur tous les attributs dune cl primaire ou dun index unique. e where A = expression ou where A and A expression1 expression2.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

255/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

256/263

5/5. Directives doptimisation

5/5. Directives doptimisation et leurs objets

Pour forcer certains choix de loptimiseur Sous la forme : . . . /* + directives */ . . . dans une instruction Exemples :

1. M thode et but de loptimiseur : all rows, rst rows, choose, rule. e


all rows, rst rows, choose co ts u

` invoquer loptimiseur a base de

2. M thode dacc` s : full, rowid, index, cluster, index join, rewrite, etc. e e 3. Ordre des jointures : ordered. 4. Algorithme de jointure :
use nl : boucles imbriqu es, e use merge : tri-fusion), use hash : fonction de hachage use nl, use merge recommand s conjointement avec ordered e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

257/263

5/5. Directives doptimisation et leurs objets

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

258/263

Traitement des requ tes : Conclusion e

5. Fusion (ou pas) de vues :


merge, no merge, push pred, no push pred.

Vision non nave du traitement des requ tes e Traitement fond sur : e

Propri t s formelles des op rateurs alg briques ee e e Facteurs de co t (logique et physique) u


A connatre pour performances

6. D simbrication (ou non) de sous-requ tes : unnest, no unnest. e e 7. Strat gie de gestion en m moire cache : cache, nocache. e e 8. Ex cution parall` le dinstructions : parallel, noparallel, parallel index e e et noparallel index.

9. etc.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

259/263

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

260/263

El ments dArchitecture des SGBDR : Conclusion e

El ments dArchitecture des SGBDR : Conclusion e

Administrer :

R les requis pour administrer : administrateur, ofcier de s curit o e e Administration par isql (Sybase) Administration sous sqlplus (Oracle) Environnements graphiques dadministration

Installer (Serveur(s) SQL et Serveur(s) Back-up) G rer et contr ler les espaces (disque, m moire) et les connexions e o e Allouer r les et privil` ges aux utilisateurs o e Sauvegarder/Restaurer les bases Diagnostiquer les probl` mes syst` me e e Congurer le syst` me pour de meilleures performances e
Possible interf rence avec les concepteurs pour normalisation e

Pr alable : Matrise des concepts du syst` me e e


En savoir plus :

Ouvrages r f renc s ee e Master 2, Informatique, Sp cialit Ing nierie du logiciel e e e

d nition de donn es, e e politique de maintien de lint grit , etc. e e

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

261/263

Architecture et Administration des SGBDR

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

262/263

References
[1] Besancenot (J.) et al. Les syst` mes transactionnels: concepts, normes et e prouits. Paris, Editions Hermes, 1997, Collection informatique. [2] Boudjlida (N.). Bases de donn es et syst` mes dinformations. Le mod` le e e e relationnel: langages, syst` mes et m thodes (Databases and Information e e Systems. The relational model: Languages, Systems and Design). Dunod, Paris, 1999. Cours et exercices corrig s. Collection Sciences Sup. (in French). e [3] Boudjlida (N.). Gestion et Administration des Bases de Donn es: e Application a Sybase et Oracle. Dunod, Paris, 2003. ` [4] Brown (P.G.). Object-Relational Database Development. Prentice-Hall, 2000. ISBN 0130194603. [5] Oracle-Corp. Oracle 8i, Administrators guide, December 1999. Release 2(8.1.6), Part No A76956-01. [6] Oracle-Corp. Oracle 8i, Backup and Recovery Guide, December 1999.

Chapitre 1 Installation et lancement de serveurs Chapitre 2 Organisation et stockage de donn es e Chapitre 3 Cr ation de bases de donn es e e Chapitre 4 Gestion des utilisateurs Chapitre 5 S curit de fonctionnement et reprises e e Chapitre 6 Traitement des requ tes e Chapitre 7 Adaptation de serveurs et performances

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

SGBD relationnels : El ments dArchitecture e

UHP Nancy 1, D partement Informatique e

263/263

Release 2(8.1.6), Part No A76993-01.

[7] Oracle-Corp. Oracle 8i Concepts, December 1999. Release 2(8.1.6), Part No A76965-01. [8] Oracle-Corp. Oracle 8i, Designing and Tuning for performance, December 1999. Release 2(8.1.6), Part No A76992-01. [9] Oracle-Corp. Oracle 8i, Recovery Manager Users Guide, December 1999. Release 2(8.1.6), Part No A76990-01.

[10] Oracle-Corp. Oracle 8i Reference, December 1999. Release 2(8.1.6), Part No A76961-01. [11] Oracle-Corp. Oracle Universal Installer Concepts Guide, October 1999. Release 1.7.

[12] Oracle-Corp. Oracle 8i, SQL Reference, September 2000. Release 3(8.1.7), Part No A85397-01. [13] Oracle-Corp. SQL*Plus Users Guide and Reference, September 2000. Release 8.1.7, Part No A82950-01.

c Nacer.Boudjlida@loria.fr, UHP Nancy 1

Vous aimerez peut-être aussi