Configuration des niveaux d’isolation des transactions
COM+ offre aux développeurs plus de contrôle sur leurs applications en autorisant des niveaux d’isolation des transactions configurables. Les versions de COM+ antérieures à COM+ 1.5 utilisaient toujours le niveau d’isolation le plus élevé pour les transactions. Bien que ce niveau garantisse que l’intégrité des données est toujours préservée, il peut entraîner des problèmes de performances, tels que des délais d’attente, lorsque de nombreuses transactions doivent être effectuées sur une base de données volumineuse. Avec des niveaux d’isolation configurables, les développeurs expérimentés peuvent augmenter la concurrence pour améliorer les performances et la scalabilité.
COM+ fournit les niveaux d’isolation de transaction suivants.
Level | Description |
---|---|
de données | Les données lues par une transaction actuelle ne peuvent pas être modifiées par une autre transaction tant que la transaction actuelle n’est pas terminée. Aucune nouvelle donnée ne peut être insérée qui affecterait la transaction actuelle. Il s’agit du niveau d’isolation le plus sûr et est la valeur par défaut. |
Lecture renouvelable | Les données lues par une transaction actuelle ne peuvent pas être modifiées par une autre transaction tant que la transaction actuelle n’est pas terminée. Tout type de nouvelles données peut être inséré pendant une transaction. |
Lecture validée | Une transaction ne peut pas lire les données qui sont modifiées par une autre transaction qui n’a pas été validée. Il s’agit du niveau d’isolation par défaut dans Microsoft SQL Server. |
Lecture non validée | Une transaction peut lire n’importe quelle donnée, même si elle est modifiée par une autre transaction. Il s’agit du niveau d’isolation le moins sûr, mais permet la concurrence la plus élevée. |
Quelconque | Tout niveau d’isolation est pris en charge. Ce paramètre est le plus couramment utilisé par les composants en aval pour éviter les conflits. Ce paramètre est utile, car tout composant en aval doit être configuré avec un niveau d’isolation égal ou inférieur au niveau d’isolation de son composant de amont immédiat. Par conséquent, un composant en aval dont le niveau d’isolation est configuré comme Any utilise toujours le même niveau d’isolation que celui utilisé par son composant d’amont immédiat. Si le niveau d’isolation de l’objet racine d’une transaction est configuré sur Any, son niveau d’isolation devient sérialisé. |
Notes
Si un composant en aval est configuré avec un niveau d’isolation supérieur à celui d’un composant amont et tente de s’inscrire dans une transaction, une erreur se produit et la transaction est abandonnée.
Rubriques connexes