Théorie et pratique
Voici le tableau du standard SQL en ce qui concerne les anomalies possibles aux différents niveaux disolation :
Niveau disolation | Lectures sales | Lectures non reproductibles | Lectures fantômes | Anomalies de sérialisation |
READ UNCOMMITTED | Possibles | Possibles | Possibles | Possibles |
READ COMMITTED | Impossibles | Possibles | Possibles | Possibles |
REPEATABLE READ | Impossibles | Impossibles | Possibles | Possibles |
SERIALIZABLE | Impossibles | Impossibles | Impossibles | Impossibles |
Voici le tableau en ce qui concerne les anomalies possibles aux différents niveaux disolation avec PostgreSQL 9.1+ :
Niveau disolation | Lectures sales | Lectures non reproductibles | Lectures fantômes | Anomalies de sérialisation |
READ UNCOMMITTED | Impossibles | Possibles | Possibles | Possibles |
READ COMMITTED | Impossibles | Possibles | Possibles | Possibles |
REPEATABLE READ | Impossibles | Impossibles | Impossibles | Possibles |
SERIALIZABLE | Impossibles | Impossibles | Impossibles | Impossibles |
Voici le tableau en ce qui concerne les anomalies possibles aux différents niveaux disolation avec Oracle Database :
Niveau disolation | Lectures sales | Lectures non reproductibles | Lectures fantômes | Anomalies de sérialisation |
READ COMMITTED | Impossibles | Possibles | Possibles | Possibles |
SERIALIZABLE | Impossibles | Impossibles | Impossibles | Possibles (*) |
Vous pouvez retrouvez des explications et des démonstrations effectuées avec PostgreSQL et Oracle pour chaque niveau disolation en lisant les articles ci-dessous :
En résumé, si vous travaillez avec le niveau disolation par défaut READ COMMITTED avec Oracle, aucun changement à envisager avec PostgreSQL dont cest également le niveau par défaut. En revanche, si vous travaillez avec le niveau SERIALIZABLE dOracle, il ne correspond pas strictement au standard SQL et correspond au niveau REPEATABLE READ de PostgreSQL.