Académique Documents
Professionnel Documents
Culture Documents
Mohamed EL ADNANI
1
Plan
2/25
Introduction
4/25
Proprits des transactions: Modle ACID de
transactions
Atomicit
Unit de cohrence : toutes les mises jour doivent tre
effectues ou aucune. Le systme doit tre capable
dannuler toutes les modifications que la transaction a
engag en cas dchec
Latomicit est menace par tout vnement successible
dinterrompre une transaction en cour tel que : les pannes
de programmes, de systme ou du matriel
Cohrence
La transaction doit faire passer la base de donnes d'un
tat cohrent un autre
En cas dchec, le systme doit restaurer la BD ltat
cohrent davant la transaction non termine
5/25
Proprits des transactions: Modle ACID de
transactions
Isolation
Les rsultats d'une transaction ne doivent tre visibles aux
autres transactions qu'une fois la transaction est valide
afin dviter les interfrences avec les autres transactions
Les accs concurrents peuvent mettre en question
lisolation
Durabilit
Les modifications d une transaction valide ne seront
jamais perdues
Le systme doit garantir quelles soient conserves en cas
de pannes
6/25
Modle ACID de transactions
7/25
Primitives de gestion de transactions
8/25
Primitives de gestion de transactions
COMMIT
Validation de la transaction
Rend effectives toutes les mises jour de la transaction
ABORT /ROLLBACK
Annulation de la transaction
Dfait toutes les mises jour de la transaction
9/25
Schma de transaction simple
Begin_Transaction
- Provoque l'intgration relle des mises
update jour dans la base
- Relche les verrous
update
.....
Commit ou Abort
- Provoque l'annulation des mises jour
- Relche les verrous
- Reprend la transaction
10/25
Effet logique
Mmoire de la
transaction
Update
Update
Abort
Commit
11/25
Journaux et Sauvegarde
A un instant donn, ltat de la BD est dtermin par
ltat de la mmoire secondaire (disque), et ltat du
cache (mmoire volatile)
Deux cas sont possibles:
Transactions venant juste dtre valides dont les MAJ sont
en cours de report en cas de panne il faut pouvoir
REFAIRE les modifications
En milieu de transaction et afin de librer de lespace
mmoire; le systme effectue des reports de pages avant
la validation de la transaction en cas de panne il faut
pouvoir DEFAIRE les modifications
12/25
Journaux et Sauvegarde
Les journaux qui sont des fichiers systmes sont utilises
pour permettre de refaire et de dfaire les MAJ des
transactions
Journal des images avant
Journal contenant les dbuts de transactions, les valeurs
d'enregistrement avant mises jour, les fins de transactions
(commit ou abort)
Il permet de dfaire les mises jour effectues par une
transaction
Journal des images aprs
Journal contenant les dbuts de transactions, les valeurs
d'enregistrement aprs mises jour, les fins de transactions
(commit ou abort)
Il permet de refaire les mises jour effectues par une
transaction
13/25
Journal des images avant
2.Log
1.Read 4.Write
Base de donnes
14/25
Journal des images aprs
3.Log
2.Update
1.Read 4.Write
Base de donnes
15/25
Gestion du journal
Journal avant et aprs sont unifis
crits dans un tampon en mmoire et vider sur
disque en dbut de commit (avant dcrire sur le
disque)
Structure d'un enregistrement :
N transaction (Trid)
Type enregistrement {dbut, update, insert, commit, abort}
TupleId
[Attribut modifi, Ancienne valeur, Nouvelle valeur] ...
Problme de taille
on tourne sur N fichiers de taille fixe
possibilit d'utiliser un fichier hach sur Trid/Tid
16/25
Sauvegarde
17/25
Scnarios de Reprise
Les mises jour peuvent tre effectues
directement dans la base (en place)
la base est mise jour immdiatement, ou au moins ds
que possible pendant que la transaction est active (avant le
commit)
La validation de latomicit dune transaction est ralise
par criture dun enregistrement dans le journal
Les mises jour peuvent tre effectues en
mmoire et installes dans la base la validation
(commit)
le journal est crit avant d'crire les mises jour
18/25
Stratgie do-undo
Mises jour en place
l'objet est modifi dans la base
Utilisation des images avant
copie de l'objet avant mise jour
utilise pour dfaire en cas de panne
3. Update
2. LogPage
Mmoire cache Journal avant
4. WritePage
1. LirePage Undo
Base
19/25
Stratgie do-redo
Mises jour en diffrentiel
l'objet est modifi en page diffrentielle (non en
place/journal)
Utilisation des images aprs
copie de l'objet en journal aprs mise jour (do)
utilise pour refaire en cas de panne (redo)
2. Update
4. LogPage
Mmoire cache Journal aprs
3. WritePage
1. LirePage Redo
Base Ombre
Commit 20/25
Pages ombres
21/25
Pages ombres
Table des Pages Ombres
Nom
Fichier
Adresse
COMMIT
Table des
Pages
Page Ombre Page Ombre
23/25
Commits bloqus
AFIN D'EVITER 3 E/S POUR 1:
Le systme reporte l'enregistrement des journaux au
commit
Il force plusieurs transactions commettre ensemble
Il fait attendre les transactions au commit afin de bloquer
un buffer d'criture dans le journal
RESULTAT
La technique des "commits" bloques permet d'amliorer les
performances lors des pointes sans faire attendre trop
sensiblement les transactions
24/25
Reprise froid
25/25