Forum OpenACS Q&A: Response to something like vacuum analyze or compact database for Oracle?

Actually, PG's non-overwriting storage manager give exactly the same benefits as Oracle's REDO-log reading of old tuple contents, but at much lower cost.  MVCC (writers don't block readers, writers only block the rows they're writing to other writers) is almost a trivial feature of PG, whereas it is complex in the overwriting storage manager scenario.

The downside is that PG suffers when tables are subjected to frequent updates and deletes  - tables grow, and VACUUM ANALYZE is the result.

The PG group are working on two fronts:

1. Investigating overwriting storage manager algorithms (with the additional complexities implemented by Oracle to maintain proper row-level locking behavior)

2. Looking into what might be called hybrid techniques.  PG 7.2 actually includes a first cut at a "low-cost" VACUUM command.  There are a bunch of areas for exploration in this area.

I look at #1 as being a tried-and-proven approach that sacrifices much of PG's inherent simplicity.  Not necessarily a bad thing, but the current simplicity is awfully attractive.

Option #2 involves creative work, which AFAIK has not been fully explored in academia or industry, so is more innovative, which means that grabbing the best of both worlds may take a relatively long time.

So the future will be interesting ...

The interesting thing is that whichever approach they take, they have a good chance of overtaking Oracle at this level.  In a sense it's not fair - early RDBMS folks really had no choice but to implement overwriting storage managers, because storage was *expensive*.  Now, all that one worries about with PG is whether or not the cost of a VACUUM once a night is too expensive for a 24*7 website.  Disk storage for most of us is as nearly zero-cost as one can imagine (compared to my days purchasing DEC 200 MB washing machine drives for *choke* $36K.  OK I never paid that, but it was list and many did).