Contrôle des accès simultanés

Le contrôle des accès simultanés consiste à gérer les conflits de ressources de données. Un schéma de contrôle des accès simultanés est considéré comme pessimiste lorsqu'il verrouille une ressource donnée de manière anticipée dans la transaction d'accès aux données et ne la libère pas avant la fin de la transaction. Un schéma de contrôle des accès simultanés est considéré optimiste lorsque les verrous sont obtenus et libérés sur une période courte à la fin d'une transaction.

L'objectif de l'accès simultané optimiste est de réduire le temps pendant lequel une ressource donnée ne peut pas être utilisée par d'autres transactions. Cela s'avère particulièrement important avec les transactions à long terme qui, dans un schéma pessimiste, verrouillent une ressource pendant une durée extrêmement longue.

Dans un schéma optimiste, les verrous sont obtenus immédiatement après une opération de lecture et libérés immédiatement après. Les verrous de mise à jour sont obtenus immédiatement après une opération de mise à jour et conservés jusqu'à la fin de la transaction.

Pour activer la concurrence optimiste, ce produit utilise un schéma de mise à jour surqualifié afin de tester si la source de données sous-jacente a été mise à jour par une autre transaction depuis le début de la transaction en cours. Dans ce schéma, les colonnes marquées pour mise à jour et leurs valeurs initiales sont ajoutées explicitement grâce à une clause WHERE dans l'instruction UPDATE afin que l'instruction échoue en cas de modification des valeurs de la colonne. Par conséquent, ce schéma peut mettre à votre disposition un contrôle des accès simultanés au niveau des colonnes. Les schémas pessimistes peuvent contrôler les accès simultanés au niveau des lignes uniquement.

Les schémas optimistes effectuent généralement ce type de test uniquement à la fin d'une transaction. Si le début d'une transaction sous-jacente n'a pas été mis à jour depuis le début de la transaction, les mises à jour en attente dans les zones CMP sont validées et les verrous sont supprimés. S'il est impossible d'obtenir des verrous ou si d'autres transactions ont mis à jour les colonnes depuis le début de la transaction en cours, la transaction est annulée : toutes les tâches réalisées dans la transaction sont perdues.

Les schémas d'accès simultanés pessimiste et optimiste impliquent des niveaux d'isolement des transactions différents. Les beans enterprise qui participent à une même transaction et impliquent des schémas de contrôle des accès simultanés différents ne peuvent pas être exécutés au niveau de la même connexion de données sous-jacente.

pratiques recommandées : L'utilisation ou non des accès simultanés optimistes dépend du type de transaction. Il est plus aisé de gérer les transactions possédant une pénalité élevée avec un schéma pessimiste. Une transaction à pénalité élevée est une ressource pour laquelle la récupération comporte des risques ou nécessite un grand nombre de ressources. Pour les transactions possédant une pénalité faible, il est souvent approprié, même si cela peut entraîner un échec, de tenter d'améliorer l'efficacité en utilisant un schéma optimiste. Généralement, la concurrence optimiste est plus efficace lorsqu'il est prévu que des collisions de mise à jour ne se produisent pas souvent. La concurrence pessimiste est plus efficace lorsqu'il est prévu que des collisions de mise à jour se produisent souvent.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_cncr
Nom du fichier : cejb_cncr.html