dbTalk Databases Forums  

Re: [Info-Ingres] Isolation Level

comp.databases.ingres comp.databases.ingres


Discuss Re: [Info-Ingres] Isolation Level in the comp.databases.ingres forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Karl & Betty Schendel
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-16-2009 , 08:26 AM






On Jul 16, 2009, at 9:05 AM, thiagomz wrote:

Quote:
Guys,

I have a fresh install of Ingres 9.2, i would like to put it to work
as Oracle. I mean

RC - Read Committed
Optimistic
Oracle uses a form of multi-versioning that Ingres doesn't yet
support. There is a design document on the community wiki
(http://community.ingres.com/wiki/MVCC) for an Ingres implementation
of multi-versioning.

In the meantime, Ingres uses locking for concurrency control.
A locking implementation of read committed requires that update
locks be held until the end of that transaction, and readers
must take short-term read locks to ensure that they aren't
trying to read something updated but not yet committed.

Karl

Reply With Quote
  #2  
Old   
Roy Hann
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-16-2009 , 09:00 AM






Karl & Betty Schendel wrote:

Quote:
On Jul 16, 2009, at 9:05 AM, thiagomz wrote:

Guys,

I have a fresh install of Ingres 9.2, i would like to put it to work
as Oracle. I mean

RC - Read Committed
Optimistic

Oracle uses a form of multi-versioning that Ingres doesn't yet
support. There is a design document on the community wiki
(http://community.ingres.com/wiki/MVCC) for an Ingres implementation
of multi-versioning.

In the meantime, Ingres uses locking for concurrency control.
A locking implementation of read committed requires that update
locks be held until the end of that transaction, and readers
must take short-term read locks to ensure that they aren't
trying to read something updated but not yet committed.
I hear repeated claims that MVCC is likely to show up in Ingres 10.

MVCC is going to be the biggest boon ever for Ingres developers. It's
something we've desperately needed since...well...forever.

Interestingly, it sounds like the Ingres implementation is going to
allow us to mix locking and MVCC, so if we want READ UNCOMMITTED for
some reason, which MVCC doesn't permit, we can still have it.

If Mikey hasn't alreayd read the document Karl mentions above, he will
be pleased to learn that we'll be able to do flashback queries too.
Apart from any other benefits, that's very handy for reversing mistakes
that have been committed.

--
Roy

UK Ingres User Association Conference 2010 will be on Tuesday June 8 2010
Go to http://www.iua.org.uk/join to get on the mailing list.

Reply With Quote
  #3  
Old   
Mike Leo
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-16-2009 , 10:43 AM



Gang,

This is why I feel MVCC is about 6 gazzillion times better than any
locking scheme.

Two reasons why:

Programmers mostly suck at dealing with transaction issues. Oracle's
MVCC implementation eliminates deadlocks from 99% of apps. Consider it
a trade-off: Most programmers think deadlock is caused by DBAs
requiring those "foreign key thingies", so if we eliminate deadlocks
we get to use referential integrity as God and Chris Date intended.

Companies are too stupid to create data warehouses separate from their
OLTP systems. They can't even manage to replicate and report from a
read-only version a few minutes old. MVCC allows OLTP systems to
function even when Crystal Reports is beating the snot out of it with
some sort of nasty, useless, incorrect join to determine if teriyaki-
flavored popcorn could be sold to Starbucks customers with red hair on
Wednesday mornings. In the MVCC worst-case, the report bombs with a
"snapshot too old" error. Doesn't matter, they were going to run it
again 5 minutes later anyway, with a BOLD title instead.

Sardonically yours,

Michael Leo
Director of Managed Services
Kettle River Consulting

MLeo (AT) KettleRiverConsulting (DOT) com
+1 612-859-2108 (cell)
+1 612-605-1978 (fax)

On Jul 16, 2009, at 8:26 AM, Karl & Betty Schendel wrote:

Quote:
On Jul 16, 2009, at 9:05 AM, thiagomz wrote:

Guys,

I have a fresh install of Ingres 9.2, i would like to put it to work
as Oracle. I mean

RC - Read Committed
Optimistic

Oracle uses a form of multi-versioning that Ingres doesn't yet
support. There is a design document on the community wiki
(http://community.ingres.com/wiki/MVCC) for an Ingres implementation
of multi-versioning.

In the meantime, Ingres uses locking for concurrency control.
A locking implementation of read committed requires that update
locks be held until the end of that transaction, and readers
must take short-term read locks to ensure that they aren't
trying to read something updated but not yet committed.

Karl


_______________________________________________
Info-Ingres mailing list
Info-Ingres (AT) kettleriverconsulting (DOT) com
http://www.kettleriverconsulting.com...fo/info-ingres

Reply With Quote
  #4  
Old   
thiagomz
 
Posts: n/a

Default Re: Isolation Level - 07-16-2009 , 11:15 AM



On Jul 16, 12:43*pm, Mike Leo <m... (AT) kettleriverconsulting (DOT) com> wrote:
Quote:
Gang,

This is why I feel MVCC is about 6 gazzillion times better than any *
Even Interbase has MVCC :-)

PostgreSQL too...

http://en.wikipedia.org/wiki/Multive...ol#cite_note-8

Reply With Quote
  #5  
Old   
Jürgen Cappel
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-16-2009 , 11:54 AM



Hi Karl,

I'm wondering what your opinion is on PostgreSQL's MVCC locking mechanism.

Regards,

Jürgen



-------- Original-Nachricht --------
Betreff: Re: [Info-Ingres] Isolation Level
Datum: Thu, 16 Jul 2009 09:26:54 -0400
Von: Karl & Betty Schendel <schendel (AT) kbcomputer (DOT) com>
Antwort an: Ingres and related product discussion forum
<info-ingres (AT) kettleriverconsulting (DOT) com>
An: Ingres and related product discussion forum
<info-ingres (AT) kettleriverconsulting (DOT) com>
Referenzen:
<1b440f86-3a47-40bb-b044-908e1261cce7 (AT) k6g2000yqn (DOT) googlegroups.com>



On Jul 16, 2009, at 9:05 AM, thiagomz wrote:

Quote:
Guys,

I have a fresh install of Ingres 9.2, i would like to put it to work
as Oracle. I mean

RC - Read Committed
Optimistic
Oracle uses a form of multi-versioning that Ingres doesn't yet
support. There is a design document on the community wiki
(http://community.ingres.com/wiki/MVCC) for an Ingres implementation
of multi-versioning.

In the meantime, Ingres uses locking for concurrency control.
A locking implementation of read committed requires that update
locks be held until the end of that transaction, and readers
must take short-term read locks to ensure that they aren't
trying to read something updated but not yet committed.

Karl


_______________________________________________
Info-Ingres mailing list
Info-Ingres (AT) kettleriverconsulting (DOT) com
http://www.kettleriverconsulting.com...fo/info-ingres

Reply With Quote
  #6  
Old   
Roy Hann
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-16-2009 , 12:11 PM



Jürgen Cappel wrote:

Quote:
I'm wondering what your opinion is on PostgreSQL's MVCC locking mechanism.
<pedantry>

MVCC isn't locking. Locking is one way to create a plausible
illusion of a single-user database by maintaining consistency. MVCC
creates a consistent view of the database for each user without
locking; that is the beauty of it.

</pedantry>

--
Roy

UK Ingres User Association Conference 2010 will be on Tuesday June 8 2010
Go to http://www.iua.org.uk/join to get on the mailing list.

Reply With Quote
  #7  
Old   
Karl & Betty Schendel
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-16-2009 , 12:51 PM



On Jul 16, 2009, at 12:54 PM, Jürgen Cappel wrote:

Quote:
Hi Karl,

I'm wondering what your opinion is on PostgreSQL's MVCC locking
mechanism.

Regards,

Jürgen

I don't have one, actually. Any time I've had idle moments, I've found
better things to do with them than poke around with PostgreSQL.

Karl


Quote:
-------- Original-Nachricht --------
Betreff: Re: [Info-Ingres] Isolation Level
Datum: Thu, 16 Jul 2009 09:26:54 -0400
Von: Karl & Betty Schendel <schendel (AT) kbcomputer (DOT) com
Antwort an: Ingres and related product discussion forum
info-ingres (AT) kettleriverconsulting (DOT) com
An: Ingres and related product discussion forum
info-ingres (AT) kettleriverconsulting (DOT) com
Referenzen:
1b440f86-3a47-40bb-b044-908e1261cce7...oglegroups.com



On Jul 16, 2009, at 9:05 AM, thiagomz wrote:

Guys,

I have a fresh install of Ingres 9.2, i would like to put it to work
as Oracle. I mean

RC - Read Committed
Optimistic

Oracle uses a form of multi-versioning that Ingres doesn't yet
support. There is a design document on the community wiki
(http://community.ingres.com/wiki/MVCC) for an Ingres implementation
of multi-versioning.

In the meantime, Ingres uses locking for concurrency control.
A locking implementation of read committed requires that update
locks be held until the end of that transaction, and readers
must take short-term read locks to ensure that they aren't
trying to read something updated but not yet committed.

Karl


_______________________________________________
Info-Ingres mailing list
Info-Ingres (AT) kettleriverconsulting (DOT) com
http://www.kettleriverconsulting.com...fo/info-ingres


_______________________________________________
Info-Ingres mailing list
Info-Ingres (AT) kettleriverconsulting (DOT) com
http://www.kettleriverconsulting.com...fo/info-ingres

Reply With Quote
  #8  
Old   
James K. Lowden
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-21-2009 , 10:54 PM



Roy Hann wrote:
Quote:
MVCC
creates a consistent view of the database for each user without
locking; that is the beauty of it.
ISTR Jim Starkey saying something similar about Firebird years ago. That
was the first DBMS I ran across that didn't use a write-ahead log.

As far as I can tell, though, after reading what I could easily find, MVCC
is an internal DBMS design choice. It doesn't affect the meaning of, or
need for concern for, isolation levels. (The Postgres documentation says
there are effectively 2 rather than 4 because the other two get a kind of
promotion.) It's just a different means to the same end.

Why the excitement, then? Anticipation of greater concurrency? Or has
that been demonstrated?

--jkl

Reply With Quote
  #9  
Old   
Roy Hann
 
Posts: n/a

Default Re: [Info-Ingres] Isolation Level - 07-22-2009 , 01:24 AM



James K. Lowden wrote:

Quote:
Roy Hann wrote:
MVCC
creates a consistent view of the database for each user without
locking; that is the beauty of it.

[snip]

As far as I can tell, though, after reading what I could easily find, MVCC
is an internal DBMS design choice. It doesn't affect the meaning of, or
need for concern for, isolation levels. (The Postgres documentation says
there are effectively 2 rather than 4 because the other two get a kind of
promotion.)
Correct.

Quote:
[snip]

Why the excitement, then? Anticipation of greater concurrency? Or has
that been demonstrated?
Well if it works as hoped and expected, it means much better
concurrency, flash-back queries (queries of a consistent image of the
database as it was at some recenet past moment), and the virtual
elimination of deadlocks.

However, MVCC works by constructing a consistent image of a page at
query-time, using the transaction log and, if need be, the journal
files, so potentially individual queries may be slower. The hope is
that overall performance will be improved by eliminating lock-waits.

--
Roy

UK Ingres User Association Conference 2010 will be on Tuesday June 8 2010
Go to http://www.iua.org.uk/join to get on the mailing list.

Reply With Quote
  #10  
Old   
nikosv
 
Posts: n/a

Default Re: Isolation Level - 07-23-2009 , 08:26 AM



On 22 Éïýë, 09:24, Roy Hann <specia... (AT) processed (DOT) almost.meat> wrote:
Quote:
James K. Lowden wrote:
Roy Hann wrote:
MVCC
creates a consistent view of the database for each user without
locking; that is the beauty of it.

[snip]

As far as I can tell, though, after reading what I could easily find, MVCC
is an internal DBMS design choice. *It doesn't affect the meaning of,or
need for concern for, isolation levels. *(The Postgres documentation says
there are effectively 2 rather than 4 because the other two get a kind of
promotion.) *

Correct. *

[snip]

Why the excitement, then? *Anticipation of greater concurrency? *Orhas
that been demonstrated? *

Well if it works as hoped and expected, it means much better
concurrency, flash-back queries (queries of a consistent image of the
database as it was at some recenet past moment), and the virtual
elimination of deadlocks.

However, MVCC works by constructing a consistent image of a page at
query-time, using the transaction log and, if need be, the journal
files, so potentially individual queries may be slower. *The hope is
that overall performance will be improved by eliminating lock-waits.

--
Roy

UK Ingres User Association Conference 2010 will be on Tuesday June 8 2010
Go tohttp://www.iua.org.uk/jointo get on the mailing list.
Because of MVCC's non blocking reads Oracle provides manual locking
through the SELECT FOR UPDATE statement which is used for serializing
access to a resource and for dealing with lost updates

Will Ingres 10 have a similar mechanism i.e. MVCC + manual locking,
MVCC or locking only, or a something like a hybrid approach?

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.