You are on page 1of 15

Architecture dun SGBD

exemple du Systme Oracle

Plan
Architecture d'une instance O8
Structure de la base de donnes
Gestion de la concurrence des transactions

Architecture dOracle8

Gnralits
Processus

Structures Mmoire

Fichiers

Les structures mmoire


SGA
Shared Pool

Redo Log
Buffer

Database Buffer Cache

Shared Pool : Shared SQL Area + Dictionnaire des donnes


Buffer Cache : Cache des blocs de donnes
Redo Log Buffer : Tampon circulaire contenant les
modifications effectues sur la base

Les Processus Background


SMON

PMON

Snnn

Dnnn

SGA
Shared Pool

Database Buffer Cache

Redo Log
Buffer

DBWR
LGWR

ARCH

Les processus background


obligatoires
PMON
Nettoie les connexions termines de faon anormale
(Libration des verrous et des ressources)
Dfait les transactions non consolides
SMON
Ralise la restauration automatique dinstance
DBWR ou DataBase Writer
Responsable de l'criture des blocs de donnes sur
disque
LGWR
Responsable de l'criture du Redo buffer sur disque

Les Processus Serveurs


Snnn

SMON

PMON

Dnnn

SGA
Shared Pool

Database Buffer Cache

Redo Log
Buffer

CKPT

DBWR
ARCH

LGWR

Process
Serveur

Process
Utilisateur

Les processus serveurs


Le processus serveur analyse, excute et ramne
les donnes pour l'application de lutilisateur

Analyser et excuter les commandes SQL.

Renvoyer les rsultats des commandes SQL au processus


utilisateur.

Lire les blocs de donnes partir du disque dans les tampons


partags de la base de donnes de la SGA.

LInstance Oracle
Instance Oracle
PMON

SMON

Snnn

DBWR

SGA
Shared Pool

Database Buffer Cache

Dnnn

Redo Log
Buffer

LGWR

ARCH

Process
Serveur

Process
Utilisateur

La Base de Donnes Oracle

Fichiers de

Fichiers de

Fichiers

Donnes

Contrle

Redo Log

La base de donnes Oracle


Fichiers de donnes
Contiennent toutes les donnes de la base de
donnes: les structures logiques, telles que tables et
index sont physiquement stocks dans les fichiers
de donnes.
Fichiers Redo Log
Gardent des enregistrements de toutes les
modifications effectues sur la base de donnes
dans un but de restauration.
Fichiers de contrle
Enregistrent les structures physiques et les tats de
la base de donnes.

Les Fichiers Redo Log


Fichier Log 1

Fichier Log 2

Fichier Log 3

Les fichiers redo log sont remplis selon


un mode circulaire.
Il doit y avoir au moins deux fichiers
redo log.

Rsum
Instance Oracle
SMON

Snnn

Dnnn

PMON

SGA
DBWR

Shared Pool

Database Buffer Cache

Redo Log
Buffer

LGWR

ARCH

Process
Serveur

Process
Utilisateur

Base de Donnes
Oracle

Fichier Paramtre

Fichiers de Contrle

Fichiers de Donnes

Fichiers Redo Log

Architectures Client/Serveur
Process Serveurs Ddis(Two-Task)
System Global Area (SGA)

Code Serveur Oracle


Processus serveur

Code de requte
Serveur
Client
Code de requte

Processus
utilisateur

Code Application

Architectures Client/Serveur

Serveur Multi-Threaded
Snnn

System Global Area (SGA)

Shared Server
Processes

Snnn

File de rponse pour (D001)


File dattente de
requtes pour tous
les shared servers

File de rponse pour(D002)


File de rponse pour(D003)

Snnn

Process Dispatcher
(D001)

Process Dispatcher
(D002)

Listener

Process Dispatcher
(D003)

Base de donnes
Client Serveur
Process
Utilisateur

Process
Utilisateur

Serveur Multi-Threaded
Objectif
Augmenter la connectivit du SGBD
Rduire le nombre de processus actifs pour une
instance et les consommations systmes associes
? Repose sur lexistence dutilisateurs connects et
inactifs
? Transparent aux applications
? Pas de rpartition applicative de la charge de
travail

Structure de la
Base de Donnes

Structures logiques de la base de donnes


Tablespace SYSTEM

Tablespace DATA

Table
Table
Table
Table
Table

Tablespace INDEX
index

Table
Table
Table
Table
Table

index
index

Rollback
Segment

index

Table
Table
Table
Table
Table

Index
Index
Index
Index
Index

index
index

La base de donnes Oracle peut tre divise logiquement en un certain


nombre de tablespaces distincts.
Les tablespaces contiennent des segments de base de donnes
Le tablespace SYSTEM est indispensable. (Dictionnaire de donnes,
dfinition des procdures et triggers..)

Le Tablespace
Segment 20M
Next
Extent
5M

Initial
Extent
15M

Blocs Oracle
Tablespace
Fichier

Base de Donnes

10

Dfinitions
Tablespace: Un lieu de stockage logique pour des donnes.
Segment: Un segment contient toutes les donnes pour une
structure spcifique lintrieur dun tablespace : une table,
un index, une partition dune table, .... Il est compos dun
ou plusieurs extents.
Extent: Un ensemble de blocs Oracle contigus.
Bloc DB: Gnralement plusieurs blocs de fichier physique.
Stratgie dallocation despace
Lunit dallocation despace est lextent
Lespace est allou lorsquun objet est cr et plus tard
lorsquil grandit
Un tablespace possde un ou plusieurs fichiers.
Possibilit dextension dynamique du tablespace

Les diffrents types de Segments


Type de Segment

Dfinition

Rollback

Un ensemble dextents qui gardent les donnes de


rollback jusqu au commit ou le rollback.
_

Donnes

Un ensemble dextents qui contiennent toutes les


donnes dune table.

Index

Un ensemble dextents qui contiennent toutes les


donnes dun index.

Temporaire

Un ensemble dextents qui contiennent les donnes


appartenant des objets temporaires.

11

Les rollback segments


Les Rollback Segment sont les journaux undo dOracle
Chaque mise jour dune donne gnre une entre
dans un rollback segment (tat avant de la donne
modifie)

Extent 4

Une transaction est associe un et un


seul rollback segment.

Un extent ne peut tre rutilis que sil


est non actif.

Sinon allocation dun nouvel extent.

Extent 1

Transaction2
Transaction1

Extent 3

Extent 2

Extent Actif
Extent Non-Actif

Les Segments Temporaires


Crs automatiquement par le serveur Oracle pour
raliser des oprations complexes telles que GROUP
BY, ORDER BY, cration dindex, tout ce qui requiert
du tri.
Crs dans les fichiers de donnes lorsque lespace
ncessaire nest pas disponible dans la mmoire
(SORT_AREA_SIZE).
Crs pour une transaction et restitus par SMON.
Chaque tablespace peut contenir des segments
temporaires.

12

Stockage
Entte

Incrmentation
despace descendante

PCTFREE
Incrmentation
despace montante
DONNEES

PCTUSED

Paramtres de stockage niveau bloc :


PCTFREE, PCTUSED

Paramtres de stockage niveau extent:


INITIAL, NEXT, MAXEXTENTS, MINEXTENTS, PCTINCREASE

Les Tables
Organisation en tas

Table

Segment 20M
Next
Extent
5M

Initial
Extent
15M

Blocs Oracle

13

Les structures daccs aux tables


En labsence de structure daccs les tables sont
parcourues en Full Table Scan (FTS)
Des segments dindex peuvent tre crs au-dessus
des structures de tables
B_tree
Index bitmap

Structure de B_Tree
Bloc d'Index racine

Bloc d' Index


intermdiaire

Bloc d' Index


feuille

ADAMS
ALLEN

JONES

ALLEN
FORD
JONES

BLAKE-rowid
CLARK-rowid
FORD-rowid

JAMES
JONES

MARTIN
SMITH
FFFFFF

KING
MARTIN

MILLER
SCOTT
SMITH

TURNER
WARD

DATA SEGMENT

Pointeurs de feuille
suivante et prcdente

7782 CLARK

Recherche sur 7698 BLAKE


rowid
7902 FORD

14

Accs aux donnes via le B_tree


Lindex est parcouru depuis la racine bloc aprs bloc
Ne profite pas de la lecture multi_bloc
A partir des feuilles, les blocs de la table sont accds
La performance dun tel accs dpend:
du nombre de lignes rpondant au critre (notion
de slectivit du critre)
de la rpartition des donnes dans les blocs de la
table

Gestion des Tablespaces


Utilisez de multiples Tablespaces
Sparez les donnes utilisateur des donnes du dictionnaire de
donnes.
Sparez les donnes dune application de celles dune autre.
Implantez les fichiers de donnes de tablespaces diffrents sur
des units de disque diffrentes afin de rduire la contention
des E/S.
Sparez les rollback segments des segments de donnes.
Spcifiez des Paramtres de stockage pour le Tablespace
Spcifiez des paramtres de stockage par dfaut pour les
objets qui seront crs dans le tablespace.

15

You might also like