4. Les composants de l'architecture d'un système de bases de données
129
Technique
d’estampillage
Une autre méthode pessimiste qui garantit la sérialisabilité est
celle de l'estampillage : la gestion des accès aux objets repose sur
l’ordonnancement des transactions d'après leur ancienneté. La
technique d’estampillage permet de respecter l'ordre chronologique
des opérations qui composent une transaction et d'éviter ainsi des
conflits entre les transactions concurrentes.
4.3.4 Approches optimistes
Validation
rétroactive
Les approches optimistes partent de l'idée que les conflits entre
transactions concurrentes se produisent rarement. Pour augmenter le
niveau de concurrence des transactions et diminuer la durée d'attente,
nous renonçons a priori à l'emploi des verrous. Chaque transaction
subit un contrôle de validation rétroactif avant de se terminer avec
succès.
Les trois phases de
la synchronisation
optimiste
Avec la synchronisation optimiste une transaction s'exécute en
trois phases : la phase de lecture, la phase de validation et la phase
d'écriture. Aucun verrou n'est appliqué pour prévenir des conflits dans
la première phase où tous les objets nécessaires sont lus et traités dans
une zone de mémoire de travail privée de la transaction. À la fin du
traitement, la transaction entre dans la phase de validation où les
objets sont vérifiés pour détecter des mises à jour conflictuelles par
rapport aux autres transactions. Cette phase vise à garantir que les
transactions actives en ce moment n'ont aucune interférence entre
elles. En cas de conflit, la transaction en phase de validation est
annulée. Si elle passe avec succès le contrôle de validation, la
transaction entre dans la phase d'écriture où les mises à jour stockées
dans la zone de mémoire de travail sont appliquées à la base de
données.
Accroissement du
degré de
parallélisation
Les méthodes optimistes offrent un haut niveau de concurrence
grâce aux zones de mémoire de travail privées des transactions. Les
accès en lecture ne sont pas conflictuels. C'est au moment où les
transactions appliquent des modifications à la base de données que la
prudence s'impose. Par conséquent, plusieurs transactions en phase de
lecture peuvent s'exécuter simultanément sans avoir besoin de
verrouiller les objets. C'est la phase de validation qui vérifie si les
Précédent

- 144/301

Suivant