From: | "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org> |
---|---|
To: | Tony Caduto <tony_caduto(at)amsoftwaredesign(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Comments from a Firebird user via Borland Newsgroups. |
Date: | 2005-11-10 15:17:57 |
Message-ID: | 20051110111446.U993@ganymede.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 10 Nov 2005, Tony Caduto wrote:
>> Serializable is stricter and somehwat unusable in a multi-user, loaded
>> database, because only one transaction can run at any time. Let's say you
>> would have one long running serializable transaction encapsulating a
>> reporting query, this will cause other transactions to wait.
>>
>> There is a pretty good paper on discussing why it was a somewhat bad idea
> to
>> describe transaction isolation levels in terms of phenomena in the SQL
>> standard. This paper also describes transaction isolation levels for MVCC
>> databases. The paper is from 1995.
> http://www.cs.duke.edu/~junyang/courses/cps216-2003-spring/papers/berenson-etal-1995.pdf
>>
>> SNAPSHOT in Firebird isn't a SQL standard compliant REPEATBLE READ either.
>> SNAPSHOT in Firebird is between REPEATABLE READ and SERIALIZABLE, but
>> without blocking other transactions.
>
> Is this true? will SERIALIZABLE block all transactions on the whole server,
> or just on that one connection?
I don't believe so ... my understanding was that MVCC took care of any
blocking issues, since we are looking at a 'snapshot' or 'layer' of data,
based on the time you started the transaction ... other transactions can
still work on data while the SERIALIZABLE transaction is going on ...
The way I've thought about it is akin to going to a cash register to pay
for groceries ... you don't want prices to change part way through the
cashier ringing up your bill, but you also don't want to have the office
shut everyone off while they update the price list ... so the cash
register would be running the 'bill tally' in a SERIALIZABLE transaction,
so that the prices are based on when (s)he started to ring things up ...
----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy(at)hub(dot)org Yahoo!: yscrappy ICQ: 7615664
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2005-11-10 15:24:46 | Re: [HACKERS] win32 8.1 pgadmin dll issues |
Previous Message | Merlin Moncure | 2005-11-10 15:16:37 | Re: [HACKERS] win32 8.1 pgadmin dll issues |