Subject Re: [Firebird-general] Snapshot Isolation in A Critique of ANSI SQL Isolation Levels
Author Ann W. Harrison
On 10/16/2010 9:58 AM, Jonathan Bond-Caron wrote:

>
>> A second, more general question is whether anyone knows of a database
>> in commercial use that tries to order transactions based on their
>> relative start time (as Reed does) rather than having each new
>> transaction note the state of other transactions at that instant?
>
> Good question, I think the commercial databases don't share enough their
> internals :)
>
> Using the "relative start time" sounds like a good approach.
>

The problem with using a "relative start time" is that it introduces
phantoms. Transaction A starts at time 1. Transaction B starts at
time 2, so Transaction B should see all of Transaction A's changes.
Both transactions end at time 5. At time 2, Transaction B reads
all rows in the Bears table where color = 'Brown'. At time 3,
Transaction A stores a new brown bear. At time 4, Transaction B
rereads the brown bear rows and finds a new one, created by A and
therefore logically visible.

An interesting question is whether serializability is considered
the gold standard for transactions for its own merit, or because
it is the minimum level of isolation that gives read consistency
in a lock based concurrency control system.


Cheers,

Ann