Académique Documents
Professionnel Documents
Culture Documents
: TRANSACTIONS
Isolation: Isoler les donnees pour les proteger des mofications externes et faire des
modifications sur une transaction sans que l’autre transaction ne soit impactee.
Transaction: Ensemble de requetes(jeu de donnees) traitees de facon unitaire comme si
c’etait une seule requete.
Le concept de transaction est caracterise par l’atomicite(un debut et une fin pour assurer la
coherence d’un jeu de donnees dans un espace temporaire).
Atomicite soit tout marche soit rien de marche. Donc si il y’a une requete qui viole une
contrainte, toutes les modifications de la transaction seront ignorees.
Coherence: Elle n’est pas assure durant la transaction mais la base de donnees doit etre
coherente a la fin de la transaction.
Bufferisation : Réduire le temps d’accès sur le disque car on écrit sur un espace temporaire
Changement du niveau d’isolation
Repitable read : Les modifications faites qu’elles soient commuter ou pas, ne sont pas
visibles dans une autre transaction. Voir les mêmes résultats de lecture si dans ma
transaction je n’ai pas fait de modifications. C’est le mode d’isolation par défaut.
Read commited : permet de voir les modifications après la validation (le commit) des
opérations d’une autre transaction,
Read uncommited : Lire les modifications effectuées dans les autres transactions même si
elles ne sont pas encore commutées. L’autre transaction a un aperçu a temps réel des
modifications effectuées dans une autre transaction.
Le read commited et le read uncommited auront comme consequence une instabilite des
transactions. Par exemple pour un calcul de Moyenne, le resultat sera inexact.
Avantages : Vue d’ensemble sur les activites de mon client a temps reel qu’elles soient
valideees ou non
Comment les transactions peuvent voir les modifications des autres?
Read uncommited : Avoir un espace memoire partage a chaque fois que quelqu’un fait une
modification , il l’applique a cete space partage.
Pourquoi ne pas prendre le buffer de journalisation comme source de donnees pour raffrachir
les autres transactions? (Voir image)
La gestion des verrous
Verrouillage mortelle : Solution : Serialisation en effectuant toutes les operations de T1 avant
de faire celles de T2 pour eviter les interbloquage. Mise en serie des operations au lieu de les
traiter de manière aleatoire en function de leurs arrives. Cela permet d’eviter les verroux
mortels.
Les scenarios de reprise a froid: Restaurer l’etat de la base de donnees a un moment precis.