Tentative d'accès -- Niveaux d'isolement et verrous de mise à jour

Les règles de tentative d'accès WebSphere Application Server sont une méthode cohérente de définition du niveau d'isolement des données de bean CMP dans les différentes bases de données relationnelles de votre environnement.

Dans une application déployée, la combinaison des règles de tentative d'accès concurrency definition et access type indique la valeur de niveau d'isolement définie par WebSphere Application Server pour la connexion à la base de données. Voir les articles, Contrôle des accès concurrents et Tentative d'accès et isolement des accès pour plus d'informations sur la concurrence et le type d'accès. Cette combinaison de propriétés représente également l'indicateur de verrouillage de mise à jour que le serveur d'applications transmet à la base de données par le biais d'une instruction JDBC préparée.

Les bases de données ne fournissent pas autant de définitions de niveau d'isolement que WebSphere Application Server. Les bases de données définissent un niveau d'isolement comme l'un des trois seuls types. En outre, seul un paramètre indique le type de niveau d'isolement que les bases de données définissent sur les connexions entrantes. Chacun des trois types peut être représenté par une valeur de paramètre différente, déterminée par chaque fournisseur de base de données. Par exemple, une base de données peut définir un niveau d'isolement en RR (JDBC Repeatable read), alors qu'une autre base de données peut définir le même niveau d'isolement en RC (JDBC Read committed).

En raison de cette différence, WebSphere Application Server ne fait pas correspondre les règles de tentative d'accès aux valeurs des paramètres. Le serveur d'applications fait au contraire correspondre les règles de tentative d'accès aux types de niveau d'isolement qui sont communs pour tous les fournisseurs de base de données.

Tableau 1. Relation entre les règles de tentative d'accès, les niveaux d'isolement de base de données et les paramètres de verrouillage de mise à jour. Le tableau suivant montre comment les règles de tentative d'accès correspondent à différents niveaux d'isolement et mettent à jour les paramètres de verrouillage.
Profil de tentative d'accès Niveau d'isolement Implémentation du verrou de mise à jour
  DB2 Oracle* SyBase Informix Apache Derby SQL Server  
wsPessimisticUpdate- Weakest LockAtLoad (règle par défaut) RR RC RR RR RR RR Non (*Oracle, oui)
wsPessimisticUpdate RR RC RR RR RR RR Yes
wsPessimisticRead RR RC RR RR RR RR Non
wsOptimisticUpdate RC RC RC RC RC RC Non
wsOptimisticRead RC RC RC RC RC RC Non
wsPessimisticUpdate No-Collisions RC RC RC RC RC RC Non
wsPessimisticUpdate- Exclusive S S S S S S Yes

  • RC = JDBC Read Committed
  • RR = JDBC Repeatable Read
  • S = Sérialisable JDBC
  • * Oracle ne prend pas en charge JDBC Repeatable Read (RR). Par conséquent, wsPessimisticUpdate-weakestLockAtLoad et wsPessimisticUpdate ont, sous Oracle, le même comportement que wsPessismisticRead et wsOptimisticRead. En raison d'une restriction Oracle, la classe JDBC OracleXADataSource ne peut pas fonctionner avec un niveau d'isolement de transaction S. Par conséquent, vous ne pouvez pas utiliser cette classe pour exécuter une application contenant des beans enterprise dont les règles de tentative d'accès prévoient le chargement du bean avec le niveau d'isolement S.
  • Dans la version 6.0, il est déconseillé de définir la prise en charge des règles de tentative d'accès par méthode EJB. Il est recommandé de ne définir les tentatives d'accès que pour l'ensemble du bean.
Nouveautés dans MS SQL Server 2005 : MS SQL Server 2005 offre une nouvelle option de niveau d'isolement Read Committed et une nouvelle option de niveau d'isolement sérialisable :
  • Read Committed with Snapshots
  • Transaction Snapshot (pour Serializable)
Les deux options utilisent le verrouillage optimiste. Pour utiliser Read Committed with Snapshots au lieu de Read Committed, activez le paramètre READ_COMMITTED_SNAPSHOT pour la base de données, en vous référant à la documentation MS SQL Server 2005. Pour utiliser Transaction Snapshot au lieu de Serializable, configurez la propriété de source de données personnalisée snapshotSerializable sur "true" et activez le paramètre ALLOW_SNAPSHOT_ISOLATION pour la base de données, en vous référant à la documentation MS SQL Server 2005.

Mots de passe et restrictions SQL (Structured Query Language)

Tableau 2. Restrictions et mots clés SQL. Le tableau ci-dessous présente les mots clés SQL utilisés lors du verrouillage des tentatives de mise à jour et les restrictions appliquées à SQL.
Base de données syntaxe SQL utilisée pour verrouiller la mise à jour restrictions de jonction (join) restriction de tri (order by) restrictions de sous-sélection (subselect) restrictions de regroupement (aggregation)
DB2 FOR UPDATE OF non autorisé non autorisé non autorisé non autorisé
DB2 UDB for iSeries (versions 5.3 et antérieures) FOR UPDATE OF non autorisé autorisé avec des limites* autorisé avec des limites* non autorisé
DB2 UDB for iSeries (versions 5.4 et ultérieures) AVEC UTILISATION DE RS/RR ET MAINTIEN DES VERROUILLAGES EXCLUSIFS non autorisé autorisé avec des limites* autorisé avec des limites* non autorisé
DB2 sur z/OS 8.x WITH RS/RR USE AND KEEP UPDATE LOCKS none none none none
Poste de travail DB2 UDB 8.2 WITH RS/RR USE AND KEEP UPDATE LOCKS none none none none
Oracle FOR UPDATE none none none none
Apache Derby FOR UPDATE OF non autorisé non autorisé non autorisé non autorisé
Informix FOR UPDATE non autorisé non autorisé non autorisé non autorisé
Sybase FOR UPDATE non autorisé non autorisé non autorisé non autorisé
Sqlserver UPDLOCK non autorisé non autorisé non autorisé non autorisé
Remarque : Pour plus de détails sur les limites s'appliquant aux restrictions SQL permises, reportez-vous au document DB2 Universal Database for iSeries SQL Reference. Vous trouverez ce document dans l'iSeries Information Center, version 5, édition 4. Dans la zone de navigation, cliquez sur Base de données > Référence > Référence SQL.

Icône indiquant le type de rubrique Rubrique de référence



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=rdat_isolevtab
Nom du fichier : rdat_isolevtab.html