4. Les composants de l'architecture d'un système de bases de données
121
Synchronisation
correcte
Principe de la sérialisabilité
On dit qu'un système traitant des transactions concurrentes est
correctement synchronisé, si leur exécution séquentielle génère un
état identique de la base de données.
Analyse des
opérations de
lecture et d’écriture
Le principe de sérialisabilité garantit que les transactions
fournissent des résultats identiques dans la base de données, quel que
soit leur mode d'exécution, strictement séquentielle ou en parallèle.
Pour définir les conditions de la sérialisabilité, nous devons examiner
de près les opérations READ et WRITE de chaque transaction. Ces
deux opérations lisent et écrivent des tuples ou enregistrements dans
une base de données.
Les transactions
comptables doivent
maintenir la
cohérence des
comptes
Pour illustrer les transactions concurrentes, considérons un
exemple classique tiré du domaine bancaire. Les transactions
comptables doivent respecter une contrainte d'intégrité fondamentale
qui impose l'égalité des débits et des crédits. La figure 4-6 présente
dans l'ordre chronologique les opérations READ et WRITE de deux
transactions comptables qui s'exécutent en parallèle. Considérée
individuellement, aucune transaction ne modifie le total des comptes
a, b et c. Ainsi, la transaction TRX_1 crédite le compte a de 100 unités
monétaires et débite en contrepartie le compte b du même montant.
De même, la transaction TRX_2 porte au crédit du compte b et au
débit du compte c un montant de 200 unités monétaires. Par
conséquent, ces deux transactions vérifient la contrainte d'intégrité
comptable, car les soldes s'annulent.
L’exécution
parallèle des
transactions donne
lieu à des conflits
potentiels
En revanche, l'exécution simultanée des mêmes transactions
comptables soulève un conflit : la transaction TRX_1 ignore le
nouveau crédit
2 b:=b+200 calculé par TRX_2 car cette mise à jour
n'est pas immédiatement enregistrée. Ceci l'amène à lire une «fausse»
valeur du compte b. Quand les deux transactions se terminent avec
succès, le compte a contient sa valeur initiale augmentée de 100 unités
monétaires (a+100), le compte b diminue de 100 unités monétaires (b100) et c de 200 (c-200). Le total des débits n'est plus égal à celui des
2 La notation b:=b+200 signifie que l'avoir de b augmente de 200 unités
monétaires à partir de sa valeur actuelle.
Précédent

- 136/301

Suivant