Hi,

Gokulakannan Somasundaram wrote:
    I'm also not sure it really buys us anything over having a second
    dead-space-map data structure. The WAL is much larger and serves other
    purposes which would limit what we can do with it.

Ok. One obvious advantage is that it saves the contention over DSM for the DML operations and Vacuum process.

Do you have evidence of that contention being so worse, that it justifies the additional WAL reading from disk? (Assuming no WAL archiving).

IMO we can get about any granularity we want for DSM update locking, depending on how we arrange the DSM bits.

Since Vacuum process is going to have much more information on what has happened in the database,

Why should that be? IMO, collecting the information at transaction time can give you exactly the same information, if not more or better information.

it is possible for some new structures. For example i have been thinking of changing our current index structure in such a way, it won't hold any duplicate tuples for different versions of data. Whenever there is a update, only the indexes relevant to the columns changed will get updated. The Vacuum has to play the role of changing the tid, the index tuple points to, whenever it vacuums a older version.

Huh? The index would then point to the old tuple only, until a VACUUM comes by, right. How are following transactions expected to find the new tuple before that VACUUMing?

Regards

Markus

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to