Hi,
On 02/03/2009 02:26 PM, Hannu Krosing wrote:
>> I don't see any way around the fact that when a tuple is removed, it's
>> gone and can't be accessed by queries. Either you don't remove it, or
>> you kill the query.
> Actually we came up with a solution to this - use filesystem level
> snapshots (like LVM2+XFS or ZFS), and redirect backends with
> long-running queries to use fs snapshot mounted to a different
> mountpoint.
Isn't that really, really expensive?
A single write on the master logical volume yields writes of PE size
for _every_ single snapshot (the first time the block is touched) -
considering that there could quite many such snapshots I don't think
that this is really feasible - io quite possible might be saturated.
The default PE size is 4MB - but on most bigger systems it is set to a
bigger size, so its just getting worse for bigger systems.
Sure, one might say, that this is an LVM deficiency - but I do knot know
of any snapshot-able block layer doing it that way.
Andres