> I think that the whole emphasis on whether and to what degree this is > like Oracle is somewhat misplaced. I would look at it a different > way. We've talked many times over the years about how PostgreSQL is > optimized for aborts. Everybody that I've heard comment on that issue > thinks that is a bad thing.
again this depends on usage - when you have a possibility to run VACUUM, then this strategy is better. The fast aborts is one pretty good feature for stable usage. Isn't possible to use UNDO log (or something similar) for VACUUM? ROLLBACK should be fast, but VACUUM can do more work? > I am proposing a design that is optimized > for commits; that is, if the transaction commits, none of the pages it > modified need to be dirtied again afterwards at any point. I think > that's an extremely important property and it's one that we are very > far from having today. It necessarily implies that you cannot store > the old row versions in the heap, because if you do, then you are > going to have to dirty the pages again to get rid of them (unless you > prefer to just leak the space forever). Now there is plenty of room > for argument about whether the specific design I proposed is going to > be any good, and I think that would be quite an interesting discussion > to have. But I think if you say, well, you know, the fact that we may > rewrite the same page 5 or 6 times after a modification to set hint > bits (a few at a time) and HOT prune and set all-visible and freeze > isn't really any big deal, you must live in a world where the write > bandwidth of the I/O channel is a lot less of a problem than it is in > mine. And we've been around and around on all of that stuff and > people have come up with various ideas to improve the situation - some > of which have been implemented - but many of those ideas involve > unpleasant trade-offs and so the core problems remain. If we don't do > something more fundamental, we're still going to be up against the > same basic issues ten years from now. > > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > > > -- > Sent via pgsql-hackers mailing list (email@example.com) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >