Re: Berkeley DB license

From: Benjamin Adida <ben(at)mit(dot)edu>
To: "Michael A(dot) Olson" <mao(at)sleepycat(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Berkeley DB license
Date: 2000-05-17 14:29:13
Message-ID: B54824F9.40B9%ben@mit.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

on 5/16/00 9:57 AM, Michael A. Olson at mao(at)sleepycat(dot)com wrote:

> The group is interested in multi-version concurrency control, so that
> readers never block on writers. If that's genuinely critical, we'd
> be willing to see some work done to add it to Berkeley DB, so that it
> can do either conventional 2PL without versioning, or MV. Naturally,
> we'd participate in any kind of design discussions you wanted, but
> we'd like to see the PostgreSQL implementors build it, since you
> understand the feature you want.

I don't think this point has been made strongly enough yet: readers never
blocking writers AND writers never blocking readers are *critical* to any
serious web application. It is one of the main reasons (besides marketing)
why Oracle crushed Informix and Sybase in the web era.

Oracle solves this problem using its rollback segments to pull out old data
(sometimes resulting in the nasty "snapshot too old" error if a transaction
is trying to pull out data so old that it has been removed from the rollback
segment!), and Postgres uses MVCC (which is much cleaner IMHO).

As a user of databases for web applications only, I (and many others looking
to Postgres for a serious Open-Source Oracle replacement) would be forced to
completely drop Postgres if this (backwards) step were taken.

If you love gory details about this web & locking stuff, check out
http://photo.net/wtr/aolserver/introduction-2.html
(search for Postgres and read on from there).

-Ben

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Schout 2000-05-17 14:44:53 Re: 7.0 RPMS and syslog problem. (more)
Previous Message Michael Schout 2000-05-17 14:26:05 7.0 RPMS and syslog problem.