Re: 64-bit XIDs again

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: 64-bit XIDs again
Дата
Msg-id 11364.1438291385@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: 64-bit XIDs again  (Gavin Flower <GavinFlower@archidevsys.co.nz>)
Ответы Re: 64-bit XIDs again  (Petr Jelinek <petr@2ndquadrant.com>)
Re: 64-bit XIDs again  (Gurjeet Singh <gurjeet@singh.im>)
Re: 64-bit XIDs again  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Список pgsql-hackers
Gavin Flower <GavinFlower@archidevsys.co.nz> writes:
> On 31/07/15 02:24, Heikki Linnakangas wrote:
>> There is a big downside to expanding xmin/xmax to 64 bits: it takes 
>> space. More space means more memory needed for caching, more memory 
>> bandwidth, more I/O, etc.

> I think having a special case to save 32 bits per tuple would cause 
> unnecessary complications, and the savings are minimal compared to the 
> size of current modern storage devices and the typical memory used in 
> serious database servers.

I think the argument that the savings are minimal is pretty thin.
It all depends on how wide your tables are --- but on a narrow table, say
half a dozen ints, the current tuple size is 24 bytes header plus the same
number of bytes of data.  We'd be going up to 32 bytes header which makes
for a 16% increase in physical table size.  If your table is large,
claiming that 16% doesn't hurt is just silly.

But the elephant in the room is on-disk compatibility.  There is
absolutely no way that we can just change xmin/xmax to 64 bits without a
disk format break.  However, if we do something like what Heikki is
suggesting, it's at least conceivable that we could convert incrementally
(ie, if you find a page with the old header format, assume all tuples in
it are part of epoch 0; and do not insert new tuples into it unless there
is room to convert the header to new format ... but I'm not sure what we
do about tuple deletion if the old page is totally full and we need to
write an xmax that's past 4G).

Only if you are willing to kiss off on-disk compatibility is it even
worth having a discussion about whether we can afford more bloat in
HeapTupleHeader.  And that would be a pretty big pain point for a lot
of users.
        regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Gavin Flower
Дата:
Сообщение: Re: 64-bit XIDs again
Следующее
От: Arthur Silva
Дата:
Сообщение: Re: 64-bit XIDs again