[Monetdb-developers] About MonetDB's modules
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.
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