jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Guggisberg <stefan.guggisb...@gmail.com>
Subject Re: [jr3] MVCC
Date Thu, 18 Feb 2010 10:34:47 GMT
On Thu, Feb 18, 2010 at 8:43 AM, Thomas Müller <thomas.mueller@day.com> wrote:
> Hi,
> I would do MVCC in a similar way it is done in relational databases
> such as PostgreSQL. See also
> www.postgresql.org/files/developer/transactions.pdf
> Concurrent writes and MVCC: usually MVCC means readers are never
> blocked by other readers or writers, and writers are not blocked by
> readers. However, writers can block other writers when trying to
> update the same node ("row" in databases).
> Concurrent writes to disk: I think this only makes sense if the
> hardware supports it. With a single disk it doesn't make sense:
> concurrent writes to two different positions or files is actually
> slower than serialize writing, and only writing to one position in one
> file.
> Relational databases don't usually persist all (intermediate)
> versions, just the committed version. I don't think that copy-on-read
> is a good idea. If we use append-only storage, in theory all old
> versions are available, but indexing those is problematic.

+1, while copy-on-read might be a conveniant implementation approach
it's hardly efficient.


> Regards,
> Thomas

View raw message