I just reread the Oracle Magazine article by Tom Kyte named “On Transaction Isolation Levels” from November 2005.
Great article that really explains why your relational database can not be treated as a black box.
From the article:
“The ANSI/ISO SQL standard defines four levels of transaction isolation, with different possible outcomes for the same transaction scenario. That is, the same work performed in the same fashion with the same inputs may result in different answers, depending on your isolation level. These levels are defined in terms of three phenomena that are either permitted or not at a given isolation level: Dirty Read, Nonrepeatable Read
and Phantom Read”.
This does not say anything about how this is implemented. Because of this the different implementations on different database systems makes them behave very differently regarding locking and concurrency mechanisms.
Read the article here
Post a Comment