Verrouillages d'enregistrement optimiste et pessimiste

Présentation de la mise en oeuvre des verrouillages optimiste et pessimiste dans Rational ClearQuest.
Il existe deux modèles de verrouillage pour les données d'une base de données :

Dans ces deux modèles, le verrou est libéré après la validation des changements dans la base de données.

Par défaut, Rational ClearQuest utilise le verrouillage optimiste.

Rational ClearQuest version 7.1 ajoute la prise en charge du verrouillage pessimiste, dont le mécanisme empêche les éditions simultanées d'un enregistrement par plusieurs utilisateurs. Grâce à la mise en application d'un processus séquentiel de modification des enregistrements, le modèle de verrouillage pessimiste assure l'exclusion des utilisateurs qui tentent de mettre à jour le même enregistrement de manière simultanée. Pour activer le verrouillage pessimiste, vous devez créer ou faire passer le référentiel de schémas et les bases de données utilisateur associées vers le niveau de fonctionnalité 7, et le développeur de schéma doit ajouter un code de point d'ancrage aux types d'enregistrement souhaités dans le schéma. Pour plus d'informations sur la modification du schéma, reportez-vous à l'aide sur le développement de schémas avec Rational ClearQuest Designer et au guide de référence de l'API Rational ClearQuest.

Les sections suivantes décrivent dans le détail les différences entre verrouillage optimiste et verrouillage pessimiste.

Verrouillage optimiste

Le modèle de verrouillage optimiste, également appelé contrôle des accès concurrents optimiste, est une méthode de contrôle des accès concurrents utilisée dans les bases de données relationnelles qui ne disposent pas du verrouillage d'enregistrement. Le verrouillage optimiste autorise plusieurs utilisateurs à tenter de mettre à jour le même enregistrement, sans les informer de la présence d'autres utilisateurs. Les changements apportés à l'enregistrement sont appliqués uniquement lorsque l'enregistrement est validé. Si la mise à jour de l'enregistrement aboutit pour un utilisateur, les autres utilisateurs qui tentent de valider leurs mises à jour concurrentes sont informés de l'existence d'un conflit.

Ce modèle présente l'avantage d'éliminer le temps système nécessaire au verrouillage d'un enregistrement pendant toute la durée de l'action. S'il n'y a pas de mises à jour simultanées, ce modèle permet d'effectuer des mises à jour rapides.

Il s'avère utile lorsque les mises à jour simultanées sont estimées peu fréquentes ou que le temps système de verrouillage est élevé. Dans la mise en oeuvre Rational ClearQuest du verrouillage optimiste, lorsque plusieurs utilisateurs concurrents modifient un enregistrement, une fois que les changements d'un utilisateur sont validées, celles des autres utilisateurs sont rejetées et les conflits de données doivent être sauvegardés et fusionnés manuellement.

Verrouillage pessimiste

Le modèle de verrouillage pessimiste empêche les mises à jour simultanées des enregistrements. Dès qu'un utilisateur commence à mettre à jour un enregistrement, un verrou est placé sur ce dernier. Les utilisateurs qui tentent de mettre à jour cet enregistrement sont informés qu'un autre utilisateur est en train d'effectuer une mise à jour. Ils doivent attendre que le premier utilisateur ait fini de valider ses changements, libérant ainsi le verrou d'enregistrement. C'est seulement alors qu'un autre utilisateur pourra apporter ses changements sur la base de celles du premier utilisateur.

L'avantage de ce modèle est qu'il empêche l'apparition de conflits et permet ainsi d'éviter les problèmes liés à leur résolution. Les mises à jour sont sérialisées et chaque mise à jour suivante commence à partir des modifications d'enregistrement validées par l'utilisateur précédent.

Le verrouillage pessimiste est un modèle très utile lorsque les mises à jours suivantes peuvent être différées jusqu'à ce que la précédente soit terminée. Cela implique généralement que les mises à jour soient effectuées en un court laps de temps.


commentaires en retour