| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Lock-free databases
"Mark D Powell" <Mark.Powell_at_eds.com> wrote in message
news:1131377410.830202.214120_at_o13g2000cwo.googlegroups.com...
> Even for read only access where multiversioning with timestamp ordering
> exists (basically what Oracle uses) access to the block where the
> consistent view of the data is built has to be restricted. In Oracle's
> case latches would be used.
>
> Remember that any single threading mechanism no matter if you call it a
> lock, latch, enqueue, or other name is a lock for the purpose of this
> discussion which is about "lock free" database products.
I am afraid you are confused at least on two counts.
By the way Oracle is not MVTSO. Since it has the TX lock, it's a mongrel, multiversioning plus write locking (as is Postgres or Interbase). There are other non-locking database concurency control mechanisms, such as different kinds of SGT (serialization graph testing), Basic TSO, etc. For details, see the Bernstein book I mentioned earlier.
2. It's possible to implement lock-free data structures such as lists, hashes, etc (I believe Joe Seigh mentioned that). So, hypothetically, it's possible to get rid of latches, enqueues, etc. even at the various memory structures implementation level, be it data cache handling or library cache management. You might want to google for MCAS or STM to find ample literature on the subject.
Since the OP was interested in memory resident databases, (2) maybe quite relevant. Also, it might be intersting to know that Java 5 offers some tools to implement lock-free concurrent algorithms.
> I say it is
> not really possible.
Well, not true.
>
> HTH -- Mark D Powell --
>
Received on Mon Nov 07 2005 - 18:18:35 CST
![]() |
![]() |