Identifier l’anomalie à éviter
Déterminez si le workflow doit éviter lectures sales, non répétables ou plages incohérentes pendant des écritures concurrentes. Des garanties fortes peuvent nécessiter verrous ou suivi de versions et affecter débit et reprises.
Vérifiez si le moteur utilise verrous, contrôle multiversion ou règles propres. Le comportement par instantané peut encore permettre des anomalies comme write skew selon le moteur et les contraintes.
Tester le vrai schéma transactionnel
Utilisez des sessions concurrentes reproduisant l’ordre de lecture et d’écriture de l’application. Vérifiez les résultats et incluez interblocages, échecs de sérialisation et reprises.
Choisissez le niveau le moins fort qui protège l’invariant métier, puis utilisez contraintes ou verrous explicites si nécessaire. Documentez les hypothèses pour les futurs changements.