RE: Berkeley DB license - Mailing list pgsql-hackers

From Mikheev, Vadim
Subject RE: Berkeley DB license
Date
Msg-id 8F4C99C66D04D4118F580090272A7A23018BE4@SECTORBASE1
Whole thread Raw
In response to Berkeley DB license  ("Michael A. Olson" <mao@sleepycat.com>)
Responses RE: Berkeley DB license
List pgsql-hackers
> You stated that the new storage manager will do over-writing, and that
> the MVCC-needed tuples will be kept somewhere else and removed when not
> needed.  
> 
> It is possible to use SDB, and keep the MVCC-needed tuples somewhere
> else, also in SDB, so we don't have to add MVCC into the SDB existing
> code, we just need to use SDB to implement MVCC.

Possible, in theory.

> The issue was that SDB does two-phase locking, and I was asking if MVCC
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Due to this fact seems we'll have to change SDB anyway. With MVCC per-tuple
locking is not needed. Short-term per-buffer _latches_ are used to prevent
concurrent changes in a buffer, no locks made via lock manager.
I'm not sure does SDB API allow _any_ access to modified tuples or not.
I would rather assume that it doesn't.

> could be layered on top of SDB, rather than being added into SDB.

As I said - possible, in theory, - and also not good thing to do, in theory.
MVCC and 2PL are quite different approaches to problem of concurrency
control. So, how good is layering one approach over another, who knows?

Vadim


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Berkeley DB license
Next
From: "Michael A. Olson"
Date:
Subject: RE: Berkeley DB license