[Monetdb-developers] About MonetDB's modules

Niels Nes Niels.Nes at cwi.nl
Wed Jun 1 20:32:34 CEST 2005

On Wed, Jun 01, 2005 at 08:40:35PM +0200, Rodrigo Schmidt wrote:
> Hi Niels (and others),
> Thank you very much for the help.
> >
> >The MonetDB/MIL server indeed only comes with the handles to build 
> >transaction support (such as locking etc). The SQL server complements 
> >this with full transaction support. This is based on Optimistic Concurrency
> >Control. A transaction simply starts and at the end checks the used 
> >columns where not changed by other transactions during its lifetime.
> >All changes are then logged to a writeahead log and once this is completed
> >the 'commit' is done.
> >
> Does this mean that a transaction can be aborted by the time the client 
> issues a commit request??
Indeed, but also 'classic 2PL' can still abort (allthough only because
of completely different reasons).
> Wasn't it better to implement classic 2PL (two-phase locking) for an 
> MMDB? At least the early papers in main memory databases advocate using 
> simple 2PL with coarse lock granularity, since transactions execute 
> faster and concurrency becomes less important.
The current 'occ' usually works well, ie no lock overhead and no deadlock
detection. Also the current scheme has a very simple 'abort',ie just throw away
the current copies. But I agree its far from perfect and we have started 
some work on a 'simple' lock based version. 

> Thanks,
> Rodrigo


Niels Nes, Centre for Mathematics and Computer Science (CWI)
Kruislaan 413, 1098 SJ Amsterdam, The Netherlands
room C0.02,  phone ++31 20 592-4098, fax ++31 20 592-4312
url: http://www.cwi.nl/~niels   e-mail: Niels.Nes at cwi.nl

More information about the developers-list mailing list